大家好
我们的一个项目使用AM1808,不带OS跑裸机。我最近正在做相关的学习。
使用的是hawkboard板子 + CCS4.1.2 + 合众达的SEED-XDS510PLUS仿真器。
使用StarterWare中的timer示例快速组起了一个测试定时器的工程,编译通过。其中.cmd选用了bootloader用的.cmd文件,将其中的.init段注释掉。程序完全跑在片内ram中。
添加近工程的源文件有:
/drivers/psc.c
/drivers/uart.c
/examples/evmAM1808/timer/timerCounter.c main在此
/platform/evmAM1808/uart.c
/system_config/armv5/am1808/interrupt.c
/system_config/armv5/cgt/cpu.c
/utils/uartStdio.c
成功连接target并下载后,能看到PC指针停在main函数开始处,但是Disassembly窗口各个地址的内容都显示问号(这是不是仿真器的问题?)。
尝试了各种运行方式,都正常,只是启动和暂停的速度有点慢。计算机通过串口也能收到数据,但是发现一个问题,就是不发生中断,程序就等死在一个while语句上了。
我还尝试过组建其他例程,发现程序都是能跑起来,但就是没有中断。
我感觉会不会中断使能没有做好,比如cpu.c中的函数有问题?我之前想先用StarterWare把板子跑起来,所以还没有认真地阅读AM1808的有关资料,打算接下来好好看一下中断这一部分。同时也把问题写到这里,希望各位工程师给出宝贵的指导。另外我是个新手,如果描述有哪里不清楚也请各位提出,我会做补充。
谢谢!
Yi Cui:
仔细看了程序后,发现我根本没有把启动时用的源程序加进来,.cmd文件中的Entry也被我注释掉了。估计是这样导致我不能进入中断吧?我将system_config下的文件都加进来后,程序跑起来再挂起,好像是跑飞了,我想可能是中断时程序跳飞了。我现在其他事比较忙所以不能花太多时间调这些,所以求教各位。
请问TI的工程师们,用StarterWare建立CCS例程进行调试究竟是怎样的流程?有哪些需要注意,代码又有哪些需要添加和改动呢?我只是在必要的头文件中添加了am1808宏,cmd文件做了如上文所述的改动,这样是不是还不够?还是说我这样改不对?
谢谢!
Yi Cui:
回复 Yi Cui:
还是没人回复呀,各位工程师都没遇到过类似问题么,还是说我描述得太模糊了?
请用过的人指导一下怎样用StarterWare的例程呀,应该很容易的不是吗?
另外hawkboard的板子有系统固化在里面,这会导致我现在遇到的问题么?
如果一直没人回答,我就只好过几天有空了仔细研究,再来自问自答了……
期待各位帮助,谢谢!
Yaoming Qin:
回复 Yi Cui:
一般调试starterware或者CCS的时候,都不会起uboot的 :)
jia lu:
大神!本人正在开发AM1808的裸机程序,刚开始研究,毫无头绪,能否提供一些相关的经验以及资料!不甚感激!邮箱lujia198612@126.com