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