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.

[参考译文] TMS320F2800157-Q1:在闪存配置中转储代码后、它是否会影响闪存组'存储器(0x80000U- 0x9FFFFU)

Guru**** 2550810 points
Other Parts Discussed in Thread: TMS320F2800157

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1312514/tms320f2800157-q1-after-dumping-the-code-in-flash-configuration-whether-it-impact-the-bank-s-memory-or-not-0x80000u--0x9ffffu

器件型号:TMS320F2800157-Q1
主题中讨论的其他器件:TMS320F2800157

尊敬的 TI 团队:

您能否说明一下、当我们在闪存配置中转储代码时、它使用的是闪存的 存储器0x80000U- 0x9FFFFU、还是使用的是另一个不在 0x80000U- 0x9FFFFU 之间的存储器。

谢谢、Rakesh

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

    您好、Rakesh、

    我不理解您的问题。 你说"转储代码"是什么意思? 对于闪存配置、您是指当您从闪存执行代码时?

    此致、
    伊袋

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

    是当从闪存执行代码时

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

    您好、Rakesh、

    我仍然不明白您所说的"在闪存配置中转储代码"到底是什么意思。

    请详细说明您的设置以及您已尝试采取的步骤。

    伊袋

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

    尊敬的 Ibukun Olunuyiwa:  

    "转储代码"、意思是在 CCS IDE 中、有两种配置或两种方法可以将代码上载到微控制器上。  

    1. RAM

    2.闪存配置。

    当我们通过具有闪存配置的 CCS IDE 在目标板上刷写代码时、微控制器的闪存 NVM 中将有二进制文件。 断电后、相同的二进制文件也将出现在闪存 NVM 中。  

    ------------------

    目标:

    现在、我们想使用 TMS320F2800157 uC 将一些可编程数据存储在 NVM 存储器中(例如车辆的 LDO 仪表数据)。  

    查询:

    在这里、我们想澄清以下关于

    1. TMS320F2800157中是否有独立的 NVM 内存功能?  如果是,请提供一些 TRM 参考资料。  

    2.如果没有独立的 NVM 内存,那么如果程序在 NVM 组0 地址 0x80000U- 0x9FFFFU 中写入任何数据, 那么它将影响我们通过 CCS IDE 在闪存配置中刷入的原始二进制文件?  

    3.当我们说使用闪存配置刷写代码时,哪个 NVM 存储器组会受到影响,该存储器的起始地址和结束地址是什么?  

    4. 当我们用闪存配置上传代码时、代码使用的是存储器的哪个部分? 它是使用来自0x80000U- 0x9FFFFU 的相同闪存组存储器还是其他任何闪存?

    此致、  

    M·P·帕里克

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

    谢谢。 要回答您的问题、请执行以下操作:

    1. TMS320F2800157中是否有独立的 NVM 内存特性?  如果是,请提供 TRM 的一些参考资料。

    F280015x 中唯一的 NVM 存储器是闪存模块。 有一个256KB 闪存组。

    2. 如果没有独立的 NVM 存储器、那么如果程序在 NVM 组0 地址 0x80000U- 0x9FFFFU 中写入任何数据、 则它将影响我们通过 CCS IDE 在闪存配置中刷写的原始二进制文件

    不一定。  闪存组由扇区组成;每个扇区为1KB。 从技术角度而言、您可以擦除数据并将其编程到应用程序二进制文件未使用的任何扇区中。 但是、此处的关键限制是您无法 从同一闪存执行代码时对闪存进行编程。  必须先从 RAM 执行、然后才能向闪存发出编程命令。 通常、为实现此目的、可将您的闪存编程例程放置在.TI.ramfunc 代码段中、以便它们可以复制到 RAM 中。

    3. 当我们说使用闪存配置刷写代码时、哪个 NVM 存储器组会受到影响、该存储器的起始地址和结束地址是什么?  [/报价]

    此器件中只有一个闪存组。 您的代码在闪存中的准确地址由连接器确定、并且您可以通过查看 创建.map 文件。 此文件包含有关器件存储器映射以及每个目标文件和符号的位置的信息。 链接器以链接器命令文件(例如 280015x_GENERAL_FLASH_lnk.cmd)作为其输入;此文件告知链接器分配每个段的位置。 您可以修改此文件以控制链接器的功能以及它放置特定目标文件或符号的确切位置。

    4.  当我们在闪存配置中上传代码时、那么代码使用的是存储器的哪一部分? 它是使用来自0x80000U- 0x9FFFFU 或任何其他存储器的相同闪存组存储器吗?

    0x80000 - 0x9FFFF 地址区域是闪存组 MAIN 区域。 这没有改变。 您编程到闪存的任何内容都将 存储在这里。 在运行时期间、大多数代码从闪存中执行、但各种符号和段可以根据需要/由链接器命令文件指定分配、甚至复制到 RAM 中。 有关存储器分配的详细信息、请检查输出.map 文件。

    此致、
    伊袋

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

    你好,lbukun Olumuyiwa,

    感谢您的回答。

     在代码中、我将仅将数据存储在组0的扇区0中、即0x00080000。 那么、什么类型的数据位于其他地址中、例如 0x00088000和 0008a000。

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

    Rakesh、

    闪存用于存储用户代码。 如果其中有内容、您的程序已将其置于此处。 您可以查看 应用.map 文件以确认各个符号和输出段在存储器中的放置位置。

    此致、
    伊袋

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

    你好,lbukun Olumuyiwa,

    "Flash 存储器用于用户代码"这句话是什么意思。

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

    Rakesh、

    我的意思是 Flash 存储器的内容是由用户编程的。 0x88000和0x8A000是用户代码闪存内的地址。 存储在这里的任何内容都是您在将代码编程到闪存中时编程的。 如果您不确定存储在那里的内容、请查看编译输出目录中的.map 文件(通常为"Debug")、它应该会告诉您确切的位置。

    此致、
    伊袋