This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28034: 带仿真器运行时的启动过程

Part Number: TMS320F28034

大家好!

我用的是CCS10,有几个问题想咨询一下。

(1)离线运行,从flah启动时,会先跳到codestart执行一段代码,然后执行c_init()函数初始化全局变量等操作,最后再执行main函数。那么如果挂上仿真器运行,启动过程具体是怎样的呢?codestart内的程序应该是不会执行吧。

(2)我在codestart中加入了自己的初始化内存代码main_init,我发现用仿真器时,会直接跳到main,不会执行自己的初始化,但我在Assembly界面通过在main_init入口一行右键选择move to line,可以跳转到main_init中执行,请问这个move to line是什么原理,我从仿真器进入了emulate boot应该是不会执行codestart的内容才对啊?

(3)我看通过CCS属性的Debug界面设置Auto Run Options可以指定入口函数,即烧完程序后直接跳转到该函数,而不再是main,如图1所示。但我在实际操作时,并不会跳到我设置的函数,烧完程序后依然会跳到main。请问这是为什么呢?有没有其他方法可以指定初始的入口函数?我想烧完程序后可以直接跳到我定义的main_init中。

 图1

(4)请问c_init函数的汇编代码怎么获取呢?我想修改这个文件,将初始化的代码放在c_init中。

另外,我尝试过在main函数里重新初始化内存,但由于程序中const段定义的内容只会在c_init中复制到RAM里,然后main中如果重新清零RAM,后续我在使用这些const表时,里面的值都是0。因此才会产生上面4个问题。