大家好,我现在一个项目需要在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)
}
}
一周热门 更多>