您好!
使用 TMS320F28034作为控制器、一些芯片在 CAN 通信升级期间报告了错误。 引导仿真发现、将数据写入闪存时解析的地址不正确(它是随机值、但超出了有效地址)。 该批次三分之一的芯片出现了这个问题、相关芯片之前又上电掉电、擦除闪存重启、同时使用了内部和外部时钟、但问题依然存在; 使用仪器在升级过程中测试28034_ TR 和 CAN_ RX 引脚的数据也是正常的;请帮我,谢谢!e2e.ti.com/.../CANBoot_5F00_230608.zip
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.
您好!
使用 TMS320F28034作为控制器、一些芯片在 CAN 通信升级期间报告了错误。 引导仿真发现、将数据写入闪存时解析的地址不正确(它是随机值、但超出了有效地址)。 该批次三分之一的芯片出现了这个问题、相关芯片之前又上电掉电、擦除闪存重启、同时使用了内部和外部时钟、但问题依然存在; 使用仪器在升级过程中测试28034_ TR 和 CAN_ RX 引脚的数据也是正常的;请帮我,谢谢!e2e.ti.com/.../CANBoot_5F00_230608.zip
我们在 e2e 论坛上不支持对代码进行调试。 如果您能够确切地解释问题是什么、我们就可以让合适的专家参与其中。 由于您说"某些芯片在 CAN 通信升级期间报告了错误"、很明显、没有与 CAN 通信相关的硬件问题(否则、所有芯片都将发生故障)。
引导仿真发现将数据写入闪存时解析的地址不正确
我认为解析是在主机端(可能是在 PC 上)完成的。 请描述完整流程(主机是什么? 它如何解析数据? 主机上使用了什么 CAN 硬件? 主机上使用了什么用户界面? 等)。
这看起来不是 CAN 问题。 您提供的有关硬件、软件和工具的信息越多、我们就能更好地为您提供帮助。
尊敬的 Reed:
除了 Hareesh 的问题外、在将数据写入闪存中时、您会说它是一个超出地址的随机值。 需要检查的一点是 GetLongData()函数,它是否为 入口地址获取了正确的32位值,这个值是什么?
另一个要检查的是 CopyData()函数。 当复制数据块时,它还使用 GetLongData()函数来获取内存块的目标地址。
需要更多信息来诊断问题。
谢谢。此致、
查尔斯