我们大家知道AVR中,硬件堆栈开始于SRAM的最高字节,在它下面是软件堆栈,这两个堆栈向下生成型。以下为动态分配内存区,再以下为全局变量和字符串,最低为CPU和IO寄存器。 在IAR生成的MAP文件中,我发现如下: CSTACK DATA 00000100 - 0000018F 90 dse 0 RSTACK DATA 00000190 - 0000028F 100 dse 0 NEAR_I DATA 00000290 - 00000297 8 rel 0 NEAR_Z DATA 00000298 - 000004FD 266 rel 0
**************************************** * * * END OF CROSS REFERENCE * * * ****************************************
5 328 bytes of CODE memory (+ 119 absolute, 2 range fill ) 1 022 bytes of DATA memory (+ 96 absolute )
Errors: none Warnings: none
这样看来,堆栈不是置于SRAM的最高地址呀? |