主题中讨论的其他器件:TMS320F2800157
尊敬的 TI 团队:
您能否说明一下、当我们在闪存配置中转储代码时、它使用的是闪存的 存储器0x80000U- 0x9FFFFU、还是使用的是另一个不在 0x80000U- 0x9FFFFU 之间的存储器。
谢谢、Rakesh
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.
尊敬的 TI 团队:
您能否说明一下、当我们在闪存配置中转储代码时、它使用的是闪存的 存储器0x80000U- 0x9FFFFU、还是使用的是另一个不在 0x80000U- 0x9FFFFU 之间的存储器。
谢谢、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]
伊袋