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.

[参考译文] TMS320F28375S:从 CAN 引导加载程序跳转到应用后的 CAN 数据问题

Guru**** 2378650 points
Other Parts Discussed in Thread: TMS320F28375S
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1471286/tms320f28375s-can-data-issue-after-jump-from-can-bootloader-to-application

器件型号:TMS320F28375S

工具与软件:

团队成员、您好!

我正在使用 TMS320F28375S 微控制器、并且开发了基于 CAN 的定制引导加载程序。 引导加载程序和应用程序都使用 FreeRTOS、从引导加载程序跳转到应用程序后 CAN 通信会出现问题。

通过引导加载程序刷写应用程序之后、当我跳转到应用程序时、会在正确的时间收到 CAN 消息、这意味着消息按预期到达。 但是、这些消息中的数据出现卡滞或没有更新。 即使应用正在主动发送新数据、消息中的 CAN 数据也不会改变。 该问题一直存在、直到我对微控制器下电上电为止、之后 CAN 数据开始按预期更新、一切正常。

我怀疑该问题可能与从引导加载程序转换到应用程序时 CAN 外设重新正确初始化有关。 具体来说、我担心在 CAN 缓冲区中可能会有挂起的旧数据、或者当将控制权交给应用程序时、消息对象或中断配置可能无法正确复位。

 在相关的注意事项中、 我找到了一个临时解决方案。 由于通过关闭控制器、然后重新打开控制器可以解决我的问题、因此我添加了使用"sysctl_resetDevice ();"指令进行器件复位、然后在固件刷写时跳转到应用。 虽然这种方法已经奏效、 我仍然认为这不是一个理想或适当的解决方案。 您认为这种解决方案是可以接受的吗?

我之前已针对此问题启动了一个主题 、并收到了回复、但此问题尚未解决、我现在无法获得回复。

期待您的指导。

谢谢。此致

Muzammil Qureshi