ZHDA243 July 2026 AM13E23019
将内存段“EPI_CS2_EXEC_1”添加到工程中。调整“长度”以适应客户的 AI 模型大小。下面提供了 CMD 文件的更改:
MEMORY
{
RAM_S : ORIGIN = 0x20000000, LENGTH = 0x18000 // 96KB internal SRAM
RAM_C : ORIGIN = 0x00C18000, LENGTH = 0x8000 // 32KB code SRAM
FLASH_BANK0 : ORIGIN = 0x00000000, LENGTH = 0x40000 // 256KB Flash
FLASH_BANK1 : ORIGIN = 0x00040000, LENGTH = 0x40000 // 256KB Flash
// External SDRAM through EPI — AI model code + weights execute from here
// Customer with 300KB AI model: increase to 0x0080000 (512KB) or 0x0100000 (1MB)
EPI_CS2_EXEC_1(RWX) : origin = 0x80000000, length = 0x0010000 // 64KB (demo size)
}
```
添加 .CS1_EXECUTE 段并将 `libCMSISDSP_m33_ti_arm_clang.a` 替换为“customer_ai_model.a”文件名。下面提供了 CMD 文件的更改:
.CS1_EXECUTE : LOAD = FLASH_BANK0, palign(8),
RUN = EPI_CS2_EXEC_1,
LOAD_START(emif1_cs2_sec1_loadstart),
LOAD_SIZE(emif1_cs2_sec1_loadsize),
RUN_START(emif1_cs2_sec1_runstart),
RUN_SIZE(emif1_cs2_sec1_runsize)
{
// Replace with the customer's AI .a filename.
// The <*> wildcard grabs ALL objects in the archive automatically.
customer_ai_model.a<*>(.text .text.* .rodata .rodata*)
}
每个关键字的含义在表 2-2 中进行了说明:
| 关键字 | 含义 |
|---|---|
| LOAD = FLASH_BANK0` | 链接时存储在闪存中的 AI 模型二进制映像 |
| RUN = EPI_CS2_EXEC_1 | 从 SDRAM 分配的所有 AI 功能地址 (`0x80000000+`) |
| LOAD_START (emif1_cs2_sec1_loadstart) | 链接器符号 = 映像开始的闪存地址 |
| LOAD_SIZE (emif1_cs2_sec1_loadsize) | 链接器符号 = 要复制的字节数 |
| RUN_START (emif1_cs2_sec1_runstart) | 链接器符号 = SDRAM 目标 (`0x80000000`) |
| <*> (.text .text.* .rodata .rodata*) | 通配符:捕获存档中的所有代码和权重 |