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.
工具/软件:Code Composer Studio
我在 F28335上从 RAM 编程切换到闪存编程时遇到了问题。
擦除闪存并尝试将.text 段编程到0x300000处的闪存中后出现问题、如下所示:
按照建议、我尝试使用 UniFlash 中成功完成的删除恢复工具:
这仍然导致器件编程未成功。 我的器件配置为引导至闪存、因此我将引导模式切换为"分支至引导检查"、根据此帖子、我假设引导至等待:
这会导致闪存存储器开头的验证失败出现稍有不同的错误:
为了进一步挖掘、我在编程验证失败后使用 UniFlash 检查了闪存存储器、以查看是否存储了任何值。 它们似乎是在这种情况下
我尝试使用 UniFlash 手动擦除扇区 H 中的闪存、以确保擦除操作正常工作:
我还进行了检查、以确保 CSM 密码在操作期间未被擦除。 它看起来是完整的、仍然是默认的0xFFFF 值。 我已添加 UniFlash 和 CCS 屏幕截图、使其更易于阅读。
看起来我需要更换器件、但在尝试更换器件之前、我愿意接受建议。
谢谢、
埃里克
Erick、
由于您确认闪存反映了正确的擦除和编程操作内容、并且密码位置未编程、我认为您不必更换器件。
快速问题:更改引导模式后、您尝试的导致验证错误的操作是什么? 程序操作还是仅验证操作? 这将有助于我们了解导致这种情况的步骤。
我会将此任务分配给 F28335闪存 专家、以进一步帮助您。
谢谢、此致、
Vamsi
我已经尝试了多种方法、它们都生成验证错误:
UniFlash 验证映像
UniFlash 加载映像
CCS 程序和调试
我仍然能够使用仅 RAM 链接器文件运行映像
谢谢、
埃里克
Erick、
感谢您提供信息。
我们的团队将在一天或两天内回来与您联系。
谢谢、此致、
Vamsi
Erick、
我认为您未能上传您计划附加的图像。
此致、
曼诺伊
您好、Erick、
您在这个问题上是否取得了任何进展? 您可以重新上传您想要的图片吗? 似乎他们第一次没有正确上传。
您是否尝试使用 Code Composer Studio 对器件的闪存进行编程/验证/擦除? 可能会尝试生成不同的结果或消息、以便更好地调试问题。
最棒的
Kevin
图像在我的末尾已成功上传、我可以在我的计算机和手机上的论坛帖子中看到它们。 我将尝试编辑帖子并重新上传、以查看这是否有帮助。
--
Kevin、
我尝试使用 code composer 进行加载、如原始帖子中所示。 擦除成功完成、然后程序在文本段验证期间失败、因为值与映射文件不匹配、因此在0x3000000位置的闪存存储器的开头验证。 这就是我检查代码安全模块是否阻止编程的原因、但情况似乎并非如此。
谢谢、
埃里克
我更改了一些调试配置、以便即使在验证失败后也能连接到目标并获得一些结果。
程序/存储器加载选项:
启动选项:
闪存设置:
这些设置允许我在不擦除内存和不验证的情况下连接到器件。 即使程序失败也是如此。 如此处所示、CCS 认为它正在对闪存扇区进行编程:
以下是不同位置的存储器浏览器窗口的几个屏幕截图。 在尝试写入闪存后、某些区域看起来是(0x0000 || ITRAP0)或(0xFFFF || ITRAP1)。 这不是我之前通过 RAM 配置加载程序并尝试使用内存浏览器查看闪存时获得的结果。
某些区域完全完好、例如此功能:
本节的 ITRAP 在某些命令之间进行了间距:
最后一个示例部分中填写了 ITRAP1:
我尝试使用相同的设置、先进行擦除、但结果非常相似。 希望这些信息对您有所帮助。
谢谢、
埃里克
您好、Erick、
是否有此问题的更新? 您是否能够解决该问题、或者您是否需要我们的终端支持?
最棒的
Kevin
您好、Erick、
您的目标配置文件与您的器件完全匹配?
您是否能够连接到器件并使用 CCS 内的片上闪存编程器来验证闪存? 您也可以使用此工具将其擦除吗?
启动目标配置->连接到器件-->顶部的工具-->片上闪存编程器
最棒的
Kevin
Kevin、
我能够启动配置、使用调试视图连接到目标、并启动片上闪存编程器工具。
我没有看到只执行验证的方法、但是如果我在根据 CCS 成功的所有扇区上运行擦除功能。
我目前正在组装第二块电路板、以尝试确定是否存在某种电路板问题。 在我提供的某些器件套件或使用相同调试探针且具有 F28377S 的自定义电路板上、我似乎无法重现此问题。
我还尝试将为闪存中的 F28377S 编写的程序转换为成功编程的 F28335程序。 无法在 F28335上进行编程且出现相同的闪存验证错误。
谢谢、
埃里克
您好、Erick、
很抱歉耽误您的回答。 擦除之后、您可以使用内存浏览器检查闪存扇区、并看到所有内容都显示0xFFFF、包括密码。 在 CCS 中运行擦除、编程、验证序列后、0x33 8000处的闪存扇区(A)是否显示正确的数据?
您可以在屏幕截图中的"闪存编程设置"中更改闪存编程序列。 默认为"Erase、Program"和"Verify That You have checked (擦除、编程、验证)"
在下面的主题中、其他人似乎遇到了类似的问题、您能否浏览回答和链接的 wiki 页面、以查看是否有与您的设置相关的内容?
https://e2e.ti.com/support/tools/ccs/f/81/t/667611
请告诉我第二块电路板是如何为您工作的。
最棒的
Kevin