stm32f407使用scatter文件求助

2019-07-21 02:57发布

大家好,我现在一个项目需要在flash中保存一些数据,然后我的代码已经超过了64k,407的flash扇区分布是头4个扇区是16k字节,第5个64k,第6个开始是128k字节一个扇区,按我现在代码超过64k来说,我的数据只能放到128k的扇区了,这样每次写新的数据耗时太长,现在我想用scatter文件把startup.o放到第一个16k字节扇区,然后其他代码都放到0x08020000开始的128k字节扇区中,这样就有3个16k的扇区可以用来存我自己的数据,以前没接触过scatter文件,我照猫画虎写了一个,内容如下,目前编译链接通过了,然后我看map文件好像也对,想问一下这个scatter能否实现我的目的?另外第二个加载区域没有定义ram区,有没有问题?谢谢
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

;startup代码区域
LR_IROM1 0x08000000 0x00004000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00004000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   startup_stm32f40_41xxx.o
  }
  RW_IRAM1 0x20000000 0x00020000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

;User APP代码区域
LR_IROM2 0x08020000 0x00040000  {    ; load region size_region
  ER_IROM2 0x08020000 0x00040000  {  ; load address = execution address
   .ANY (+RO)
  }
}

0条回答

一周热门 更多>