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.
团队、
您能在以下方面提供帮助吗?
不久将添加更多详细信息(使用的工具、API 版本和错误消息)。
闪存的写入分为两个步骤:
1) 1)自定义引导加载程序通过 Lauterbach 仿真器写入闪存
2) 2)自定义引导加载程序使用闪存 API 通过最终应用程序烧录闪存
在评估板上、步骤1和2都相应地工作。
但在生产板上、步骤2失败。 闪存 API 返回错误、闪存无法恢复。
这种情况发生在第一批生产的多个电路板上。
提前感谢、
A.
您好!
要更正上述陈述:
这两个步骤都是与 Lauterbach 一起执行的。 (我刚刚得到了团队的确认、很抱歉给我带来不便)
更多详细信息:
我们使用 C2000Ware v:2.00.03中的 Flash28335_API_V210.lib 库。 发生此故障后:我们尝试执行首次加载到目标的存储器加载程序、但未成功。 然后、我们使用 CCS 创建了一个小的 RAM 可执行文件、并使用 Lauterbach 加载该文件。 在执行以下函数时、我们得到了以下错误代码:
(在评估板上、此可执行文件没有问题。 所有情况下的错误代码都为0。)
我们在七个预制(零系列)板中的一个(可能是第二个)有这个问题(将在本周结束前确认)。
我们可以从这一点恢复吗? 是什么使我们陷入这种局面?
此致
Sebastian
塞巴斯蒂安
如果闪存编程在评估板(我假设是 F28335控制卡)上工作、而不是在最终生产板上工作、我将查看支持引脚连接和2个 PCB 之间的任何差异。
这将包括:
所有 VDDIO、VDD、VSS 引脚、尤其是 VDD3FL、因为这是闪存电源引脚
如果以上所有内容在原理图上与评估板相同、我们可能需要在器件运行时查看它们的稳定性、在这种情况下、除了探测总线外、您还可以比较使用的衰减。
test1和 TEST2应悬空(这也适用于闪存)
根据 DS、时钟引脚、XCLKIN 或 X1或 X2以及不使用的任何引脚都被连接。 输入频率与评估板相同
引导引脚的设置方式相同(假设自定义引导加载程序在加电时调用)
JTAG 引脚的端接方式相同
XRSn 引脚的控制方式与之类似
最棒的
Matthew
塞巴斯蒂安
更一般而言、根据我们提供的硬件设计指南仔细检查您的硬件也是有道理的:
TMS320F28xx 和 TMS320F28xxx DSC 的硬件设计指南(修订版 D)
BR、
A.
在闪存过程中、由于外部电源的限流器、可能会出现压降。 这是问题的原因吗?
是否仍然可以保存该板?
塞巴斯蒂安
如果器件由于电流限制而被锁定、即闪存操作在 CSM 密码位置编辑了一个非0xFFFF 的值、那么此器件被认为是永久锁定并且不能被恢复。
您可以检查 JTAG 连接的情况是否如此、并查看存储器中的 CSM 密码。 如果您读回所有0x0000、则器件被锁定。 如果您读取0xFFFF、那么除了 CSM 已编程之外、还有其他一些问题会导致 After Effects。
最棒的
Matthew
您好 Matthew、该器件未锁定、因为在首次闪存操作期间加载的代码调试工作无问题。 当我们使用闪存库加载极简演示程序时、我们会得到以下错误代码:
在另一个电路板上、此应用程序仅返回0。 此外、擦除和编程成功。 因此、您有什么想法吗?
此致、
Sebastian
塞巴斯蒂安
在今天的定制器件上、您可以连接 CCS 并验证它是否未锁定、但无法通过 Lauterback 刷写新代码、对吧? 如果器件未意外锁定、我不会期望器件闪烁持续出现问题。 但是、如果该工具始终报告擦除失败且删除恢复不起作用、则表明闪存处于未定义状态。 我认为同样的根本原因也适用于这里。
最棒的
Matthew
您好、Matthew、我们无法连接 CCS、因为我们没有调试器。 使用 Lauterbach 时:
=>因此、我认为器件处于未定义状态。 我们能否从这种情况中恢复?
塞巴斯蒂安
如果我们无法擦除闪存、则下一个操作是运行删除恢复、看起来就像工具正在执行的那样。 由于在此步骤电气之后擦除仍然没有通过、因此我们无法尝试恢复闪存/使其再次工作。
唯一的选择是更换设备。
最棒的
Matthew