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.

[FAQ] [参考译文] [常见问题解答] AM263P4:使用 SysConfig 工具进行文本和数据放置。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1509142/faq-am263p4-text-and-data-placement-using-sysconfig-tool

器件型号:AM263P4
主题: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.由于代码放置相关问题、可能会发生指令预取中止。