Thread 中讨论的其他器件:C2000WARE
工具与软件:
我有一个关于具有不同逻辑地址的共享存储器区域的问题。
我使用的是 DSP TMS320F28P650 [数据表]、 主要负责 CPU1及其相关的 CLA。 CLA 的程序区域被分配给了 LS9RAM、但该存储器的起始地址根据是由 CPU1访问还是由 CLA 访问而有所不同。 [请参阅数据表第266页]
为了管理 CPU1的复制地址和 CLA 的运行地址、我在链接器命令文件中创建了两个单独的段:
-
CLA 程序部分(Cla1Prog): 本部分将使用链接器为 CLA 所需的正确地址映射 CLA 代码 LS9RAM 功能。
-
CPU1访问段: 此部分允许 CPU1确定起始地址、从而使其能够写入相同的地址 LS9RAM 功能。
我想知道是否有 这样的简化方法。
RAMLS9_CLA : origin = 0x006000, length = 0x002000 // Use only if configured as CLA program memory
RAMLS9_CPU : origin = 0x024000, length = 0x002000 // When configured as CLA program use the address 0x6000
#if defined(__TI_EABI__)
Cla1ProgCPU : {} LOAD = APPFLASH_CPU1,
RUN = RAMLS9_CPU,
RUN_START(Cla1ProgRunStart),
ALIGN(4)
#else
Cla1ProgCPU : {} LOAD = APPFLASH_CPU1,
RUN = RAMLS9_CPU,
RUN_START(_Cla1ProgRunStart),
ALIGN(4)
#endif
#if defined(__TI_EABI__)
Cla1Prog : {} LOAD = APPFLASH_CPU1,
RUN = RAMLS9_CLA,
LOAD_START(Cla1ProgLoadStart),
LOAD_SIZE(Cla1ProgLoadSize),
ALIGN(4)
#else
Cla1Prog : {} LOAD = APPFLASH_CPU1,
RUN = RAMLS9_CLA,
LOAD_START(_Cla1ProgLoadStart),
LOAD_SIZE(_Cla1ProgLoadSize),
ALIGN(4)
#endif
