TI论坛
直播中

张国厚

8年用户 1472经验值
私信 关注
[问答]

CCSV5.4 simulator复位PC是如何指向0x801660的?

按照理解,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)
                                                                         pony

回帖(3)

李波

2020-5-25 09:14:35
纠结这个没什么必要。
这种复位是CCS的操作,不是硬件的复位。  就好比从CCS下载程序后,自动从_c_int00开始运行是一个道理。 
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

余少虹

2020-5-25 09:28:34
这是自动加载的。如果你在debugger选项里设置go to main,就会自动跳到main函数。
举报

张国厚

2020-5-25 09:40:12
引用: vuywsdfwf 发表于 2020-5-25 17:09
这是自动加载的。如果你在debugger选项里设置go to main,就会自动跳到main函数。

@Shine Zhang
@Tony Tang
谢谢 热情解释和答复!
DSP程序复位后入口程序:c_int00  初始化SP,DP等
用户应用入口程序:main
CCS V5.4 在 Run - Deubug Configurations - Target - Auto Run Options - Run to symbol
里,可以填写 一个程序名称,默认是 main(),你甚至可以改为你的的一个任意子程序。
然后,你点 Debug 界面下的 Restart,调试界面就运行到 你制定的 程序停下来。
在 c_int00 和 你制定的程序之间如果有你打的 断点,则会在断点处停止。
疑问:
1、这种复位是CCS的操作,不是硬件的复位。
也就是说在CCS下,simulator的时候,
PC初始指针不是硬件复位的芯片起始地址。
而是由CCS环境直接设置为 c_int00 的地址?
2、当生成烧入到FLASH的程序的时候,
是不是应该把 c_int00链接在 芯片复位地址处?
(C6455 EMIFA 8-bit ROM boot 在 0xB000 0000,共计8M空间)
这个过程,是在 哪个环节完成?
是在 LINK环节?还是在把obj文件转换为 hex文件的环节?
如果是在Link环节,simulator的时候,为何不是预期的?还是说,需要通过 Options 来设置?

3、另外一个问题,C6455的 L2RAM 是2M,如果程序编译后,数据空间和程序空间的总和大于2M,
CCS 会怎么支持simulator?
                                                                        pony
举报

更多回帖

发帖
×
20
完善资料,
赚取积分