主题:SysConfig 中讨论的其他器件
工具/软件:
有时 可能需要在存储器的特定段中添加特定的文本和数据对象。 存储器配置器 在 SysConfig 中、用户可以将所需的代码部分放置在存储器的所需部分中。
此常见问题解答介绍了将库、文件、函数、文本或 ro 数据放置在存储器的特定部分的步骤。 对于此常见问题解答、我们正在考虑 AM263PX MCU PLUS SDK 中的 Hello World 示例。
此示例配置为将其代码和数据区域置于闪存中。 可以在中完成此操作 SysConfig > Memory Configurator > Section > Code and Data Region > Load & Run memory 。
由于代码和文本位于闪存中、常见问题解答介绍了如何将特定代码和数据区域等置于 RAM 中。
为了进行演示、常见问题解答介绍了如何将代码和数据放入 OCRAM 中。 用户可以在 sysconfig > Memory Configurator > Memory Region 中创建一个存储器区域、并使用新创建的存储器区域放置代码和数据。
1.如何将库放入 RAM 中?
a.在中创建新章节 "SysConfig">"Memory Configurator">"Section"。
b.给它一个名称并保留 加载并运行存储器 OCRAM
c. 创建一个 Output section 通常是这样的。 保留 对齐 AS 32并保留 对齐 一方 填充 启用。 这是出现在 linker.cmd 中的组标头。
d. 我们需要将库添加到该组。 创建一个 输入段 可能会略有不同。
e. 要包括库的文本部分、请输入 Name AS -l"drivers.am263px.r5f.ti-arm-clang.debug.lib"(.text)
f. 要包括库的 ro 数据部分、请输入 Name 作为-l"drivers.am263px.r5f.ti-arm-clang.debug.lib"(.rodata)
g.要同时包含两者、您可以输入名称 -l"drivers.am263px.r5f.ti-arm-clang.debug.lib"。
2.如何在 RAM 中添加特定的文件内容?
a. 重复1中从 a 到 d 的相同指令。
b. 要包含文件、请输入 Name AS
c. 将以这种方式添加文本和 ro 数据部分。
d. 文本和 ro 数据部分也可以单独添加、如1所述。
3.如何在 RAM 中放置特定功能?
a.有时需要在特定区域保留功能。 步骤也类似于1。
b.按照1中的步骤 a 至 c 进行操作。
c.输入名称为 .text。 。
D.也可以对 ro 数据执行同样的操作。 需要将 name 保留为 .rodata。 。
4、如何将代码和数据默认保存在闪存/RAM 中?
A.开放 SysConfig > Memory Configurator > Sections > Code and Data Regions。
b.保持 load 和 run 区域作为闪存。 进行此更改后、代码和 rodata 将默认位于闪存中。 如果需要、请将其标记为 RAM。
5、 与代码和 ro 数据放置有关的几点注意事项。
a.如果将代码保留在闪存中用于 XIP、请确保 MPU 配置正确。 需要为此区域启用代码执行。 这可通过实现 SysConfig > TI 驱动程序移植层> MPU ARMv7
b.确保为区域分配了足够的存储器。 这可通过实现 SysConfig > Memory Configurator > Memory Region
c.对于 XIP、代码和 ro 数据必须与4K 字节对齐(以与闪存扇区对齐)。 可以在中完成此对齐 SysConfig > Memory Configurator > Section > Code and Read-Only Data > Output Section
d. Map 文件可用于验证代码和数据放置。
e.由于代码放置相关问题、可能会发生指令预取中止。