4# 永远的不知
OK,.map是可以看到的,但是问题是,问题是从flash拷到sram中,肯定会存在覆盖的情况,我怎么去避免呢?谢谢。
wanrenyong 发表于 2011-11-18 14:59
Updater 0x200002c5 Thumb Code 418 bl_main.o(i.Updater)
g_ucStatus 0x20000488 Data 1 bl_main.o(.data)
g_ulTransferSize 0x2000048c Data 4 bl_main.o(.data)
g_ulTransferAddress 0x20000490 Data 4 bl_main.o(.data)
g_pucDataBuffer 0x20000494 Data 4 bl_main.o(.data)
Image$$SRAM$$ZI$$Base 0x20000498 Number 0 bl_main.o(.bss)
g_pulDataBuffer 0x20000498 Data 80 bl_main.o(.bss)
Image$$SRAM$$ZI$$Limit 0x200005a8 Number 0 bl_startup_rvmdk.o(.bss)
从TI的bootloader例程的.map文件可以看出,代码从flash复制到ram的0开始到Image$$SRAM$$ZI$$Base(0x20000498 )的区域;并不会覆盖.bss区域;
比如,在keil中,link的.sct文件内容如下,已经ram中把代码的区域已经预留出来了。
FLASH 0x00000000 0x00010000
{
;
; Place the vector table and reset handlers into flash.
;
RESET 0x00000000 0x00010000
{
*.o (RESET, +First)
}
;
; Place everything else remaining into SRAM (RO, RW, and ZI)
;
SRAM +0x20000000 0x00010000
{
* (+RO, +RW, +ZI)
}
} |