关于CORTEX-M4bootload的问题。

你好!

我现在在做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,这是编译器自己默认的吗?)