主题中讨论的其他器件:C2000WARE
您好!
在更新应用程序后、我客户的引导加载程序代码将通过看门狗重置器件、如下所示(注释掉了行、在测试中、我们不注释掉):
当电路板通过 xds200连接到 CCS 时、代码可以复位器件。
当电路板未连接到 CCS 时、代码无法重置器件、因此器件将不会转至更新的应用代码运行。
但我们不知道它为什么会如此。
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.
您好!
在更新应用程序后、我客户的引导加载程序代码将通过看门狗重置器件、如下所示(注释掉了行、在测试中、我们不注释掉):
当电路板通过 xds200连接到 CCS 时、代码可以复位器件。
当电路板未连接到 CCS 时、代码无法重置器件、因此器件将不会转至更新的应用代码运行。
但我们不知道它为什么会如此。
Hareesh、
很抱歉、我之前的描述有误:
当电路板未连接到 CCS 时、代码无法重置器件、因此器件将不会转至更新的应用代码运行。
实际上、我们测量了 XRS 引脚并发现它始终切换、这是错误的、这意味着在看门狗复位后、器件始终由于某种原因复位。
然后、我们尝试通过 Lori 的建议进行调试。
我们尝试了 C2000WARE 示例代码。
[引用]我们测量了 XRS 引脚并发现它始终切换、这意味着在看门狗复位后、器件始终会由于某种原因复位。[/quot]
发生这种情况的一个原因是闪存为空。 编程后、您是否检查了闪存内容以确保其已编程? 您是否检查了密码位置?
[引用]我不知道应该在哪里放置它、它在 codestartbranch.asm 的开头吗? [/报价]
是、但您不能在第81或83行设置 BP。 您的项目中可能禁用了 WD、因此您应该能够在第82行设置 BP。 请记住、这是在闪存中、因此它必须是硬件 BP。
Hareesh、
我们根据 Lori 的程序进行了测试、无法重现问题、其行为与连接 CCS 的方式相同。
代码帧为:
主程序
{
if (更新了应用程序代码)、运行应用程序代码、
如果(未更新应用程序代码)、则运行引导加载程序代码(通过 SCI 接收新的应用程序代码、擦除旧的应用程序代码并对新的应用程序代码进行编程、然后通过看门狗进行复位)
}
我们不知道如何对其进行调试。
Hareesh:编程后、您是否检查了闪存内容以确保其已编程?
霍华德:如何检查它? 连接到 CCS 并读取所有存储器?
Haresesh:您是否检查了密码位置?
霍华德: 如何检查它? 连接到 CCS 并读取所有存储器? 我们为什么需要检查密码?
Howard、
很抱歉、我仍然不明白我们要解决的问题。 有2种情况:
重要问题是如何确定#2? 也就是说、如何保证应用程序知道代码更新? 什么决定了正常的应用程序运行与代码更新?
您尚未回答我之前的问题: