按照理解,simulator的时候,复位 应该从L2RAM 的 0x00800000 地址开始执行。
但是,
测试程序,调试的时候,
0x00800000 地址开始分配给了 stack。_c_int00 在0x801660开始,程序从此开始运行。
疑问:
1、复位的时候,PC是如何指向 0x801660的?
2、程序做调整,这个_c_int00会有所变化,但是复位都是从_c_int00开始。
信息:
.stack 0 00800000 00001200 UNINITIALIZED
00800000 00000008 rts64plus.lib : boot.obj (.stack)
00800008 000011f8 --HOLE--
00801200 00000140 main.obj (.text)
00801340 000000c0 rts64plus.lib : autoinit.obj (.text:__auto_init)
00801400 000000c0 : exit.obj (.text:_exit)
008014c0 000000a0 : cpy_tbl.obj (.text:_copy_in)
00801560 000000a0 : memcpy64.obj (.text:_memcpy)
00801600 00000060 : cpp_init.obj (.text:___TI_cpp_init)
00801660 00000060 : boot.obj (.text:_c_int00)
008016c0 00000040 : args_main.obj (.text:__args_main)
00801700 00000020 : exit.obj (.text:_abort)