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/Uniflash 中的"擦除"选项? 只有在加载演示时才会出现问题? 或者器件当前也无法擦除。
最棒的
Matthew
有问题的器件是我们的定制器件。 我们使用 Lauterbach 进行刷写、然后我们可以选择使用驻留存储器加载程序加载软件。 在我们第二次尝试加载 Lauterbach 之后、它失败了。 为了进行调查、我创建了一个小的可执行文件、该文件将从 RAM 中执行、报告上述错误。 在另一个定制器件(相同的硬件)上、我没有遇到任何错误。 我这样做是为了仔细检查我的测试。
塞巴斯蒂安
在今天的定制器件上、您可以连接 CCS 并验证它是否未锁定、但无法通过 Lauterback 刷写新代码、对吧? 如果器件未意外锁定、我不会期望器件闪烁持续出现问题。 但是、如果该工具始终报告擦除失败且删除恢复不起作用、则表明闪存处于未定义状态。 我认为同样的根本原因也适用于这里。
最棒的
Matthew
您好、Matthew、我们无法连接 CCS、因为我们没有调试器。 使用 Lauterbach 时:
=>因此、我认为器件处于未定义状态。 我们能否从这种情况中恢复?
塞巴斯蒂安
如果我们无法擦除闪存、则下一个操作是运行删除恢复、看起来就像工具正在执行的那样。 由于在此步骤电气之后擦除仍然没有通过、因此我们无法尝试恢复闪存/使其再次工作。
唯一的选择是更换设备。
最棒的
Matthew