你好!
我现在在做CORTEX-M4的BOOTLOAD,参考的是TI的例程(StellarisWare\boot_loader),有以下几点疑问:
1. 在链接文件中:
GROUP
{
.bss
.stack
} run = SRAM, RUN_START(bss_run), RUN_END(bss_end), SIZE(bss_size), RUN_END(__STACK_TOP)
上面的指示中,bbs_end和__STACK_TOP指示的地址是不是一样的?(如果一样的话,为什么汇编中还要加入如下语句:
.ref __STACK_TOP
bss_end .word __STACK_TOP
2. 在把flash里面的数据搬移到ram的时候,ram的开始地址是如何确定的?为什么总是从SRAM (RWX)的origin指示的地址开始的?难道不会从bss_ end后面开始吗? (也就是先搬完flash的数据,在分配.bss和.stack,这是编译器自己默认的吗?)