TI论坛
直播中

张览秀

7年用户 1149经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

请问c2000 linker -e选项指定程序入口点的意义是什么?

默认情况下,没有-e选项时,查看map文件可以发现程序入口点为_c_int00,如果用-e选项指定到code_start,编译以后生成的map文件中程序入口点为code_start,不过我用hex2000转化coff文件到intelhex文件以后对比发现,无论是否修改程序入口点,输出的hex文件是一样的,也就是说烧写DSP以后,FLASH中的内容都是一样的。那-e选项的意义在哪里呢?

回帖(2)

黄剑屏

2018-10-19 14:59:00
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

冯敬宇

2018-10-19 15:14:16
XiaoDong,
首先,您可以查看一下code_start入口的程序,如下:如果你选择WD_DISABLE = 0,即不关断看门狗,那么code_start即为LB _c_int00,否则LB wd_disable
C2000的flash运行的入口地址是0x3F7FF6,在这里会放这个code_start的这个跳转指令。
我认为你修改的ENTRY POINT SYMBOL 并不会改变程序从code_start开始执行,你可以直接复位芯片,然后在scripts菜单选择boot to flash, 设置断点在code_start处,运行。
 
WD_DISABLE .set 1  ;set to 1 to disable WD, else set to 0
    .ref _c_int00     .global code_start
 
                                                                         - ERIC
举报

更多回帖

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