工具与软件:
团队成员、您好!
我正在使用 TMS320F28375S 微控制器、并且开发了基于 CAN 的定制引导加载程序。 引导加载程序和应用程序都使用 FreeRTOS、从引导加载程序跳转到应用程序后 CAN 通信会出现问题。
通过引导加载程序刷写应用程序之后、当我跳转到应用程序时、会在正确的时间收到 CAN 消息、这意味着消息按预期到达。 但是、这些消息中的数据出现卡滞或没有更新。 即使应用正在主动发送新数据、消息中的 CAN 数据也不会改变。 该问题一直存在、直到我对微控制器下电上电为止、之后 CAN 数据开始按预期更新、一切正常。
我怀疑该问题可能与从引导加载程序转换到应用程序时 CAN 外设重新正确初始化有关。 具体来说、我担心在 CAN 缓冲区中可能会有挂起的旧数据、或者当将控制权交给应用程序时、消息对象或中断配置可能无法正确复位。
在相关的注意事项中、 我找到了一个临时解决方案。 由于通过关闭控制器、然后重新打开控制器可以解决我的问题、因此我添加了使用"sysctl_resetDevice ();"指令进行器件复位、然后在固件刷写时跳转到应用。 虽然这种方法已经奏效、 我仍然认为这不是一个理想或适当的解决方案。 您认为这种解决方案是可以接受的吗?
我之前已针对此问题启动了一个主题 、并收到了回复、但此问题尚未解决、我现在无法获得回复。
期待您的指导。
谢谢。此致
Muzammil Qureshi