Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH
器件型号: AM2634-Q1
Thread 中讨论的其他器件: SYSCONFIG、UNIFLASH
此常见问题解答重点介绍了如何创建要存储在 AM263 微控制器闪存中的数据结构。
通常、我们可以在支持 XIP 的 AM263Px 和 AM261x 微控制器中执行此操作。 但这也可以在 AM263x 中完成。
请参阅以下示例、其中我们尝试在闪存中存储一个常量 uint8_t 数组。
-创建一个名为 test_buffer 的常量数组。 该缓冲区保持使用一些值进行初始化。

-在链接器中创建一个要存储 test_buffer 的段。 该段的加载地址应作为闪存。
- SysConfig 的内存配置器不允许只有加载地址和运行地址作为闪存的部分。 这是因为 AM263 中没有 XIP。
因此、我们将禁止从 SysConfig 生成链接器、并手动添加我们的部分。

使用 SysConfig 中的 show generated files 选项查看按钮以禁用链接器脚本生成。
-在项目中手动添加链接器脚本。 链接器脚本的名称为 linker.cmd
-在链接器脚本中,添加一个部分以存储这样的缓冲区

- FLASH_X 是指定用于将项目存储在闪存中的段。 链接器脚本的存储器选项中也启用了此功能。

-现在构建项目。 在 Output 文件夹 (Release/Debug) 文件夹中、我们可以看到一个扩展名为.mcelf_xIP 的文件。
-这个文件有应该进入闪存的内容。 mcelf 文件将包含 SBL 将从闪存复制到 RAM 中的内容。
-现在使用 Uniflash GUI 工具刷写.mcelf 文件(即应用程序映像)和.mcelf_XIP 文件。
需要在 0xE0000000 偏移处刷写.mcelf_xIP 文件。

-刷新后,现在运行应用程序并检查保存数组的闪存偏移量。 也可以在存储器浏览器中搜索 TEST_BUFFER。
