Tony Tang 你好!
我现在新拿了一块板子在CCSV5.5上新建了一个小小的测试ARM核的代码。
但是在我写进管脚复用寄存器的时候发现一个十分奇怪的问题,我发现没有写进去一样,寄存器的值没有任何改变。
其中 PINMUX17 地址为 01C1 4164h ,
PINMUX6 地址为 01C1 4138h。 我是调用 StarterWare里面的include文件夹下面的 hw_types.h里的 HWREG(x)进行写寄存器的操作。
我有两个问题:
1:断点打在 return 0 ; 处,去观察0x01C14138和0x01C14164处的值,发现都是0。
2:链接目标硬件以后执行gel文件时候出现了下图的红色信息。
为何? 注:仿真器使用的 TI-XDS100V2
weihua li:
是不是还有某种机制把芯片锁上了呢?
weihua li:
回复 weihua li:
还有没有别人遇到这个问题啊?
weihua li:
回复 weihua li:
看了下 XDS-100V2,这个仿真器应该是不支持双核OMAP芯片的。后来换成SEED-XDS560-PLUS,发现还是没写进去,怎么回事啊
weihua li:
回复 weihua li:
问题已解决,时因为OMAP没有进入特权模式引起的。
链接仿真器后手动将CPSR寄存器中的M值改为“10011”就可以了。
下一个问题是怎么首先将ARM进入特权模式的事情?我在main函数开始出调用 CPUSwitchToPrivilegedMode();函数,结果程序跑飞了……郁闷中
Denny%20Yang99373:
回复 weihua li:
此帖转移到http://www.deyisupport.com/question_answer/dsp_arm/omap_l1x/f/54/t/98872.aspx 继续讨论