1.CCS设置断点,程序为什么会出现运行到位置后不停下来?
2.中断服务函数中只是引用而非更改赋值全局数组中的值,全局数组值会突然变得很大或很小,这会是什么原因?我该如何寻找数组值变化的位置?我可以锁定数组在被一个函数调用后数值变化,我将函数调用数组采取数值传递而非地址传递,可是数组中的数值还是很异常的变化了,请问该怎么办?
Shine:
1.请问用的是哪款器件?是在哪里设的断点?中断服务程序里?
2. 试一下在全局变量前加Volatile关键字。
Zefur Yi:
回复 Shine:
1.用的是OMAPL138。断点设在主函数里面或者中断服务程序里面都不停
2.全局数组的问题已解决,相邻内存存储的变量出现异常导致该数组值异常。
还是想问问CCS里面的断点调试技巧,感觉比VS软件调试要困难好多
Shine:
回复 Zefur Yi:
请问是设在main()函数里也不停?中断服务程序中不停是因为中断没产生或者中断向量表没设好。
你用的是自己的板子还是EVM板?是裸机程序还是BIOS程序?
Zefur Yi:
回复 Shine:
在主函数和中断服务程序里面都不停
我用的EVM板,裸机程序
Shine:
回复 Zefur Yi:
是TI的EVM板吗?有没有试过TI的例程?
主函数不停的话,程序停哪里了?
Zefur Yi:
回复 Shine:
用的是TI OMAPL138的核,TI的startware程序试过。在主程序中设置断点,程序没有停,一直执行下去
Shine:
回复 Zefur Yi:
“一直执行下去”结果正确吗?强行停下,PC指针是否跑飞?或者在什么死循环里?