问题1:
load 了一个.out 文件,查看 memory,地址0处是 主程序即main()函数,不是说从地址0处执行,而且是_c_int00函数吗?怎么直接从main()执行,
我看了_c_int00,并没有在地址0处,这是怎么回事??
问题2:
CCS中点击connect,链接上硬件之后,界面直接显示一片代码,有地址,有指令,从地址0开始,这是什么程序,是DSP中的吗?这个connect过程是怎么样的??
Shine:
你好,
1. 跟过程序吗? 是从main还是_c_int00开始执行?2. 你打开的是Dissassembly Window反汇编窗口吗? 你用的是什么型号的DSP? CCS版本号? 仿真器型号?
ha zhang:
回复 Shine:
谢谢您,
第一个问题
这个是从_c_int00开始的,软件设置了自动显示到main,所以没有看到之前的过程,但是我在程序中没有加中断向量表,所以复位中断并没有指向_c_int00,怎么也是从c_int00开始,不是说从地址0处开始运行吗??c_int00没有在地址0处,最后运行到主函数才到了地址0处,
还有中间运行了memcpy,这有什么意义,我只是load 了一个.out文件,主程序main(),已经在地址0处了,这个copy函数在这里有什么作用??
第二个问题
是反汇编窗口,dsp C6713B CCS3.1,这个connect 过程是怎么样的,刚一连接,还没有load程序之前,这个反汇编窗口,有地址,有汇编程序,难道说这时DSP中RAM区有程序,load之后,又把这个程序覆盖??
第三个问题
关于烧写外部flash ,把.out文件转换格式之后写入了FLASh,上电后,copy1KB到RAM,然后执行,那么这样一来copy的是.out文件?
.out文件是各个段的reload地址以及各个段的内容,并不是可执行的程序呀,我感觉应该是根据.out文件来分配各个段,然后执行,这样好理解,但是这个过程是
copy,那什么时候分配各个段呢?直接在RAM区执行.out??
TI中文支持网