您好!
我注意到、在闪存多大小写入示例中、连接器命令文件中没有用于存储数据的单独部分。 本示例仅在闪存中定义一个区域并对其进行写入。 这不是一个好的做法、因为客户可以轻松地将这个代码集成到他们的应用程序中、并且让应用程序通过写入闪存中的区域而意外地干扰自己的代码空间。
我们是否可以更新此示例、使其在链接器命令文件中包含一个单独的数据段、以便链接器知道不要将代码放置在数据存储区域?
此外、如果此示例动态地将此数据段放置在闪存的末尾、以便它自动随器件上闪存的大小而调节、这也很有用。
穆南
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.
您好!
我注意到、在闪存多大小写入示例中、连接器命令文件中没有用于存储数据的单独部分。 本示例仅在闪存中定义一个区域并对其进行写入。 这不是一个好的做法、因为客户可以轻松地将这个代码集成到他们的应用程序中、并且让应用程序通过写入闪存中的区域而意外地干扰自己的代码空间。
我们是否可以更新此示例、使其在链接器命令文件中包含一个单独的数据段、以便链接器知道不要将代码放置在数据存储区域?
此外、如果此示例动态地将此数据段放置在闪存的末尾、以便它自动随器件上闪存的大小而调节、这也很有用。
穆南
尊敬的 Munan:
我们是否可以更新此示例以使其在链接器命令文件中包含一个单独的数据段,以便链接器知道不要将代码放置在数据存储区域?
我假设它需要客户为闪存写入定义特定区域。 因为不同客户应用的需求并不完全相同。
Unknown 说:如果此示例动态地将此数据段放置在闪存的末尾、以便它自动随设备上的闪存大小进行调整。
我建议客户将该段放置在较低32KB 闪存区域中、因为它的擦除周期比高于32KB 的擦除周期要长。

同时、不同的存储器件有不同的存储器大小、我认为管理不同器件的.cmd 文件很不方便。
B.R.
萨尔
大家好、
您能否找到一种解决问题的方法、而不是只说支持不同或困难?
我知道这只是一个示例、但如果我们希望客户将这些示例用作其应用的基础、我们必须在示例中展示最佳实践。
我们还提供实现此功能的 NV 存储的 FRAM 示例、还提供连接器命令文件指南、指示如何指向应用程序末尾或特定设备上的存储器末尾。 这些是 MSP 团队过去支持的事项、因此我希望我们可以在这里也这么做。
穆南
尊敬的 Munan:
我认为、 寻找支持它的完美方法的优先级较低、因为我在这里列出了所有原因。
提供链接器命令文件指南,说明如何指向应用程序末尾或特定设备上内存末尾。
您能和我分享一下吗? 我认为或许我们可以对代码示例的自述文件添加一些说明。
B.R.
萨尔
SAL
MSP430FRboot 是一个很好的示例、说明了我们如何创建可扩展到不同存储器大小的链接器文件。 仍然有一些需要手动定义的东西、但之后我们会在链接器文件中生成挂钩、可以在代码中使用这些挂钩放置数据。
https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430FRBoot/latest/index_FDS.html
穆南
尊敬的 Munan:
感谢分享,我已经完成了它,我们显然不会支持它。
现在我们只有 L 和 G 系列 、当前器件的 cmd 链接器文件非常简单。 也许对于之后带有双组闪存的512KB 器件、将有更多指令。
我仍然坚持认为这是应用程序的使用、用户应自行了解这一点。 是否有许多客户对此感到困惑? 如果这是请给我一些澄清,我会转发这极点给我们的软件团队,并建议添加更多的说明。
B.R.
萨尔