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.

请教问题:AM1808裸机跑StarterWare例程,不发生中断

Other Parts Discussed in Thread: AM1808

大家好

我们的一个项目使用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的有关资料,打算接下来好好看一下中断这一部分。同时也把问题写到这里,希望各位工程师给出宝贵的指导。另外我是个新手,如果描述有哪里不清楚也请各位提出,我会做补充。

 

谢谢!

  • 仔细看了程序后,发现我根本没有把启动时用的源程序加进来,.cmd文件中的Entry也被我注释掉了。估计是这样导致我不能进入中断吧?我将system_config下的文件都加进来后,程序跑起来再挂起,好像是跑飞了,我想可能是中断时程序跳飞了。我现在其他事比较忙所以不能花太多时间调这些,所以求教各位。

    请问TI的工程师们,用StarterWare建立CCS例程进行调试究竟是怎样的流程?有哪些需要注意,代码又有哪些需要添加和改动呢?我只是在必要的头文件中添加了am1808宏,cmd文件做了如上文所述的改动,这样是不是还不够?还是说我这样改不对?

    谢谢!

  • 还是没人回复呀,各位工程师都没遇到过类似问题么,还是说我描述得太模糊了?

    请用过的人指导一下怎样用StarterWare的例程呀,应该很容易的不是吗?

    另外hawkboard的板子有系统固化在里面,这会导致我现在遇到的问题么?

    如果一直没人回答,我就只好过几天有空了仔细研究,再来自问自答了……

    期待各位帮助,谢谢!

  • 问题解决了。

    估计是烧在板子上的U-boot在上电时把CP15的Register 1中的某一位设置了,导致ARM在中断时跳到0x00000018,而不是0xFFFF0018,从而导致程序在中断时跑飞。

    在开头加上这些代码,重新设置寄存器,问题解决:

       MRC        p15, #0, R0, c1, c0, #0        ; read CP15 register1

       ORR        R0, R0, #0x2000                  ; turn on the Vbit (VINITHIGH)

       MCR        p15, #0, R0, c1, c0, #0        ; write back the CP15 register1

    怪我之前Reference Manual没认真看,这些内容在2.4里讲得清清楚楚。

    问题提出快有10天了吧,完全被无视了。哎……还是祝这个社区尽快发展吧。顺便希望这个帖子对其他遇到同样问题的人有所帮助。

  • 一般调试starterware或者CCS的时候,都不会起uboot的 :)

  • 大神!本人正在开发AM1808的裸机程序,刚开始研究,毫无头绪,能否提供一些相关的经验以及资料!不甚感激!邮箱lujia198612@126.com