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.

[参考译文] CC1352P7:如何写入闪存存储器位置-闪存编程器

Guru**** 2412140 points
Other Parts Discussed in Thread: CC1352P7, CC1352R, UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1265174/cc1352p7-how-to-write-flash-memory-locations---flash-programmer

器件型号:CC1352P7
主题中讨论的其他器件: CC1352RUNIFLASH

大家好!

我有一个采用 CC1352P7的电路板。 我需要通过工具读取和写入特定存储器位置的方法。

我通常为 CC1352R 使用 Flash Programmer 2:

但显然闪存编程器无法检测较新的芯片。

是否有其他方法可以使用外部工具写入存储器位置?  

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 DDB:

    您可以使用该线程中提供的指令使用 uniflash 将所需的数据放入特定的存储器位置。  

    e2e.ti.com/.../uniflash-placing-data-at-specific-locations-in-flash

    您还可以使用 uniflash 读取存储器地址。

    https://www.ti.com/tool/UNIFLASH

    希望这对您有所帮助。

    此致、

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sid:

    好的、有点明白。  

    我使用所需的数据创建了一个 bin 文件。 但是,在 uniflash 中加载失败,如果我使用上一个标题中推荐的选项:"仅程序":

    "[error] Cortex_M4_0:文件加载程序:存储器写入失败:状态0x0103:目标闪存加载程序无法对闪存进行编程。 低级功能返回状态4 (操作失败)。'

     

    如果我 在 uniflash 上将设置保留为"仅必要扇区(保留扇区内的非触摸内容)"、似乎可以起作用、但由于这与建议背道而驰、我担心这可能会擦除 bin 文件中不存在的其他内容。

    那么我该怎么做呢? 我是否可以安全地使用此默认的"仅必要扇区"、而不会有擦除其他东西的风险?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 DDB:

    您好、刚刚使用了仅程序加载选项、没有问题。 不确定问题的根本原因是什么。  

    但是、我会将该线程分配给 Uniflash 工具团队。 它们将具有与擦除选项相关的更好的上下文。

    此致、

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我使用所需的数据创建了一个 bin 文件。 但是,在 uniflash 中加载失败,如果我使用上一个标题中推荐的选项:"仅程序":

    "[error] Cortex_M4_0:文件加载程序:存储器写入失败:状态0x0103:目标闪存加载程序无法对闪存进行编程。 低级功能返回状态4 (操作失败)。'

    [/报价]

    我咨询了 UniFlash 工程部门、发现可能会触发此错误、因为 无法写入已写入的闪存。

    如果我 在 uniflash 上将设置保留为"仅必要扇区(保留扇区内的非触摸内容)"、似乎可以起作用、但由于这与建议背道而驰、我担心这可能会擦除 bin 文件中不存在的其他内容。

    那么我该怎么做呢? 我是否可以安全地使用此默认的"仅必要扇区"、而不会有擦除其他东西的风险?

    [/报价]

    同样、根据 UniFlash 工程设计、 "仅必要扇区"选项在此处应该可用、因为它只会擦除它要写入的扇区(我认为每个扇区的长度为0x400、这是需要擦除的最小单元)。

    希望这对您有所帮助

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Ki。

    是的、这会有所帮助。

    但是、我还不能完全了解闪存的组织结构、扇区的含义以及它们的起始和结束位置。  是否有任何指南或手册对此进行了说明? 因为我还有其他问题、我们可能会在这样的文档中解释。

    因此、如果选择"Necessary Sectors Only"、它将始终从起始地址中删除至少0x400长度?

    或者、它将删除该地址所在扇区的0x400长度、而不管起始地址位于何处?  

    对于"仅必要扇区(在扇区内保留非触摸内容)"、即使 bin 文件小于0x400长度、这是否始终也会删除该长度?  

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 DDB:

    技术参考手册的第8.5章对闪存行为进行了说明。 术语"块"是指扇区。

    https://dev.ti.com/tirex/explore/node?node=A__AAGXDpkRJPALVuiFBZKe8g__cc13x0_devices__coGQ502__LATEST

    扇区大小取决于器件、在 CC1352P7情况下为8k。  

    此致、

    SID