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.

[参考译文] TMS320F28069F:如何在代码中提取.text 段的大小来运行闪存 CRC 校验?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1367421/tms320f28069f-how-can-i-extract-the-size-of-the-text-section-in-my-code-to-run-a-flash-crc-check

器件型号:TMS320F28069F

工具与软件:

您好!

正如标题建议的那样、我想在一个闪存存储器段上运行一个闪存 CRC 校验。 想法是我的程序将在闪存存储器上循环并计算一个 CRC 校验。

但是、由于闪存大小不是固定的、因此这具有挑战性。 我已经查看了.map 文件、在.text 段中似乎包含了闪存大小。

我可以通过什么方法提取该数字? 或者是否可以保持闪存大小恒定、以便用0填充任何未使用的存储器?

谢谢。

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

    您好、Valeri、

    无论映射文件如何、为什么不对整个闪存地址范围进行校验和?  您是否计划在运行时更改某些闪存内容以用于数据存储?

    谢谢。此致、
    Vamsi

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

    尊敬的 Vamsi:

    当我生成十六进制文件时、我已经注意到可执行闪存 存储器部分不涵盖整个闪存存储器地址范围。 相反、十六进制文件中的闪存扇区仅占用所用的闪存。

    我无法在整个 闪存范围内计算校验和、因为未使用的闪存会从 hex 文件中删除。 要回答您的第二个问题、不可以 闪存内容在运行时不变。

    谢谢!

    Valeri。

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

    您好、Valeri、

    您可以使用填充选项来填充未使用的空间。  请查看第12.9.2节  、在 www.ti.com/.../spru513w.pdf 中指定填充值。

    谢谢。此致、

    Vamsi

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

    我已经尝试过这种方法、但它不适合我的需求。 --fill 选项不会填充可执行程序存储器(.text)、而这正是我 执行校验和检查所需要的。  

    为了提供一些背景信息、我将使用外部开发的十六进制工具来计算可执行闪存上的 CRC。 该工具可以从 ti_txt 文件中提取可执行闪存地址及其相应的长度。 计算 CRC 后、十六进制工具会将 CRC 写入特定存储器位置下的十六进制文件中。 在运行时、我想执行连续的 CRC 校验、但如果我没有办法提取可执行闪存 大小、则无法做到这一点。

    是否无法提取可执行闪存大小? 在.map 文件中、我在.text 段下看到它。 我不能在运行时直接提取此数字吗?

    谢谢!

    Valeri。

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

    您好、Valeri、

    感谢您发送编修。 我可以在下周早些时候查看并与您联系。

    此致、
    Vamsi

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

    您好、Valeri、

    您能否向我发送说明您如何使用填充选项的链接器命令文件示例?

    谢谢。此致、

    Vamsi

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

    您好、Valeri、

    由于我没有收到您的回复、因此我将在假设问题已解决的情况下关闭此帖子。

    如果您还有其他问题、请打开新帖子。

    谢谢。此致、
    Vamsi