TI论坛
直播中

徐婷婷

7年用户 159经验值
私信 关注
[问答]

使用TMS320F2808程序执行结果不对的解决办法?

使用TMS320F2808编程,使用到ePWM,eCAP和ADC。然后模仿ti的一篇讲如何将程序从FLASH拷贝到RAM中执行的文档中的例子,用仿真器将程序下载到FLASH中然后拔掉仿真器但是还没有断电,这时执行程序正确,捕获口正常工作,锁相环正确,但是当我断电再上电,程序执行结果就不对了。
想问一下TI的那篇文档给的例子中将程序从FLASH移到RAM的文件对不对,有没有限制,而且我以前单独调锁相环时都对的,当加入ADC,执行给ADC上电就不对了

回帖(5)

朱虹博

2020-6-17 09:37:35
关于:“用仿真器将程序下载到FLASH中然后拔掉仿真器但是还没有断电,这时执行程序正确。。。。。但是当我断电再上电,程序执行结果就不对了。"
例子是正确的,建议楼主检查一下bootmode,用例程包中的FLASH例程,上电能够正常自举吗?
举报

徐婷婷

2020-6-17 09:54:50
引用: Emily1225 发表于 2020-6-17 09:37
关于:“用仿真器将程序下载到FLASH中然后拔掉仿真器但是还没有断电,这时执行程序正确。。。。。但是当我断电再上电,程序执行结果就不对了。"
例子是正确的,建议楼主检查一下bootmode,用例程包中的FLASH例程,上电能够正常自举吗? ...

我用其他程序跑时完全可以上电自举,eCAP1/2口都能正常进入中断,ePWM中断也正常,问题就是加入ADC程序之后,在FLASH中eCAP口中断就进不去了,RAM仿真时可以进入几次,之后也进不去了,
举报

朱虹博

2020-6-17 10:13:57
引用: richard吴 发表于 2020-6-17 09:54
我用其他程序跑时完全可以上电自举,eCAP1/2口都能正常进入中断,ePWM中断也正常,问题就是加入ADC程序之后,在FLASH中eCAP口中断就进不去了,RAM仿真时可以进入几次,之后也进不去了,

楼主之前谈到的是,那个例程是否正确,这个例程是正确的,能够自举的。
至于现在这个问题”问题就是加入ADC程序之后,在FLASH中eCAP口中断就进不去了,RAM仿真时可以进入几次,之后也进不去了,“
请用仿真器调试,看看是什么原因导致进不了中断,比如:中断太频繁,中断判优导致不进入ECAP中断,这需要优化程序
举报

徐婷婷

2020-6-17 10:33:02
引用: Emily1225 发表于 2020-6-17 10:13
楼主之前谈到的是,那个例程是否正确,这个例程是正确的,能够自举的。
至于现在这个问题”问题就是加入ADC程序之后,在FLASH中eCAP口中断就进不去了,RAM仿真时可以进入几次,之后也进不去了,“
请用仿真器调试,看看是什么原因导致进不了中断,比如:中断太频繁,中断判优导致不进入ECAP中断,这需要优化程序 ...

我找到问题了,网上有个人指明是在InitAd()函数中使用了us_Delay()函数有问题,因为该函数用了.sect "ramfuncs",我看了FLASH TO RAM例子中没有用.sect "ramfuncs"这个语句,换过来之后程序就都对了,绕了个弯子。
能不能帮我解释一下为什么啊,谢谢。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分