作为对比,我还写了一个裸机的led程序,这个程序烧进去后(debug状态下)马上就能进入main程序,并停留在main的开头,也可以运行。
但是现在这个带着SYS/BIOS的程序却始终不能进入main,下载完成后,要么是不会出现运行按钮,即使出现了运行按钮,程序也跳不进来。
总之,程序要么是停在boot.c文件中,要么是在XXX_p674.c文件中(XXX是我的应用程序前缀),如图:
要么这样
要么下载完程序后,根本就没有运行按钮,只能按下红色暂停后,才会出现运行按钮,然后发现停留在XXX_p674.c文件里,再按运行,或者单步执行,可能又会
跳到boot.c的exit(1)处
按下红色暂停
再按单步执行可能又要回到下图
看了SYS/BIOS (TI-RTOS Kernel) v6.41 User's Guide,在3.1小节,它讲到main之前的SYS/BIOS Startup Sequence
还有rtsc.eclipse.org/.../TI
更是详细讲解了main之前的启动顺序,以及每阶段做了什么。
现在程序进不去main,而且经常卡在boot.c和XXX_p674.c文件里,而boot.c文件里就涉及了初始化B15和B14等操作,我猜会不会是"before main()" startup
sequence的第一步就出现了问题?
下面是boot.c文件
我这个boot.c定位的是在ccsv6\tools\compiler\c6000_7.4.8\lib\src下,难道不应该是在ti.targets.rts6000 package里?
以下附件和CCS的截图均是工程中使用的ccsv6\tools\compiler\c6000_7.4.8\lib\src下的boot.c。
boot.c在CCS的截图
最后贴上我的.cfg文件如下
非常需要得到帮助,请各位大侠看看问题究竟在哪,为什么程序进不到main里面?非常感谢!