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.
您好!
我目前正尝试使用 SWD 亲自为此 IC 编程。
并且可参考"MSPM0 G 系列80MHz 微控制器技术参考手册"中第6章 NVM (闪存)的说明完成此过程。
目前、可以正常读取 READID、没有任何问题、但编程和擦除似乎有点异常。
每次我擦除 IC 并读取以确认 IC 为空白时、我都会发现闪存地址0x1E91每次读取0xFB、但在擦除之后、闪存应该为0xFF、对吧?
其他几个地址也是如此。 由于 IC 中的闪存很大、我没有逐一找到它们。
编程情况更加明显。 右侧是 IC 读取的内容、左侧是所编程文件的内容。
随机地址可能存在1位的差异。
您能帮助我分析我遇到的问题吗? 谢谢!
您好!
我还想知道读取异常问题是否与 ECC 有关?
如果可以、如何使用 ECC 函数? 是否有任何关于 ECC 编程过程的参考信息?
谢谢!
您好!
它可能与 ECC 功能有关。 我们几乎没有关于 ECC 编程的信息。 我想您可以 首先在 SDK 中参考 flashctl_program_with_ecc 代码示例。
是否已尝试使用 Uniflash 工具擦除然后读取数据? 它是否也有与您的问题相同的问题?
此致、
现金豪
您好、
打开 ECC 后、IC 确实可以正常编程! ! 谢谢! ! !
但后来我发现 IC 似乎只能对前64KB 数据进行编程、而无法将 数据编程到后64KB 数据。
如果我正确确认、该 IC 应为128KB。
此外、是否有用于擦除的示例代码?
由于我手头没有 Uniflash 工具来测试 IC、因此我使用 GPIO 来模拟 SWD 与 IC 的通信。
如果可能、您能否帮助我分析轻微暴露的问题? 谢谢你。
您好!
64KB 编程问题的信息。 是否尝试过使用 CCS v12.4? 最新的 CCS 版本应该可以解决该问题。
此致、
现金豪
您好、
我已安装最新版本的 CCS、但似乎找不到相关的编程过程。
您能告诉我将其放在哪里吗?
或者、您也可以向我提供相关的屏幕截图信息。 谢谢! !
您好、
此外、我在测试时遇到了一个问题。
我将 CMDWEPROTNM 写入全0并执行批量擦除。
因此、IC 似乎不再能够通过 SWD 进行通信。
尽管仍然可以读取 SWD ID、但无法再读取 IC 的 ID。
有没有解决这个问题的办法? 谢谢。
您好!
NONMAIN 看起来已被擦除、因此您无法再连接到 MCU。 一些有用的链接、可以为您提供帮助。
此致、
现金豪
您好、
好的、感谢您提供的信息。
我将尝试解锁手头上锁定的 IC、谢谢!
但我目前想解决仅烧录前64KB 的问题。
是否有我可以参考的任何相关程序代码?
您好!
您能否发送有关如何对 MSPM0进行编程的确切详细过程? 我可以向我们的软件团队寻求帮助、以检查是否存在任何问题。
此致、
现金豪
您好、
我发现除了 ECC 之外、我遇到的问题是擦除后的闪存读取不会全部为0xFF、并且最后64KB 无法进行编程。
这些问题似乎与 IC 本身的问题有关。
图片左侧是从客户端借来进行测试的 IC、右侧是从美国 TI 销售部门获得的用于另一个项目的 IC。
右侧的 IC 可以进行编程、而不会出现任何问题。
擦除后、IC 读取的内容全部为0xFF、并且所有128KB 闪存均可正常编程。
左侧的 IC 将导致我遇到问题...
您好!
TI 标识左边的标记 是大规模生产版本。 正确的是预发布样片。
如果批量擦除无法完全擦除更高的64KB 区域。 您是否曾尝试改用扇区擦除?
此致、
现金豪
您好、
是的、我已经尝试使用扇区擦除、但仍然无法完全擦除。
事实上,我认为这可能并不意味着它不能被完全擦除。
擦除后的状态是整个闪存中将有10个以上的0散射位。
但擦除之后、所有值应为1。
在任何情况下都不能写入高于64K 字节的块。
这些问题会在我得到的大规模生产版本中发生、也就是图片左侧的 IC。
图片右侧的 IC 根本没有这些问题。
您好!
我得到了您的信息、并将其发送给工具团队、告知您的问题。 下面等待他们对这个问题的评论。
此致、
现金豪
您好、
是否有任何更新?
谢谢!
您好!
还没有反馈。 大多数团队成员都在假期,因为感谢。 从反馈中获取反馈需要一些时间。
此致、
现金豪
您好!
软件团队反馈、他们希望检查您用于编程/擦除的代码。 您能在此处分享吗?
此致、
现金豪
尊敬的 Cho:
编程和擦除的程序流程如下。
您好!
获取团队的反馈。
"我看到客户正在使用寄存器级编程。 您是否可以建议客户从 DriverLib 示例 flashctl_program_with_ecc 开始、而只是修改示例以写入高64KB?
客户发送屏幕截图确认其支持包版本也很好。"
您可以通过"CCS"->"Help"->"About Code Composer Studio"->"Installation details"找到支持包版本
此致、
现金豪
尊敬的 Cho:
我需要花些时间修改和测试我的程序。
但我以前看过 flashctl_program_with_ecc 的内容。
据我了解、程序的内容不应该有太大的不同、执行内容几乎是相同的。
但他也说修改应该不难、只需要一点时间。
您好!
明白。 请在您有更新时告知我们。
此致、
现金豪
您好、
我已经根据 DriverLib 修改和测试了编程过程、但结果仍然是不完整的擦除。
您好!
问题发生在闪存的哪个区域? 您是否还可以共享您的代码以便我使用它进行测试? 谢谢!
此致、
现金豪