Thread 中讨论的其他器件:C2000WARE
工具与软件:
今天、我有一个双核 Delfino。 在 CPU2上、我将 在第二个内核的 CLA 上使用 CLAmath (例如.g.CLAsinPU 和 CLAcosPU)。 这在 RAM 中运行良好、但当从闪存运行时、似乎会失败、即使其余的 CLA 和 CPU 程序在该内核上运行良好。 我有一个调试代码可以将其隔离到 CLAmath 的这两个函数调用中。 "你以为我赢了吗? 下面是我一直在尝试调整的代码中的一些关键部分。 提前感谢!!
链接器文件包括以下内容 :
CPU_CLA_LS_DATA : origin = 0x00A000 length = 0x001000 //CLA data space CLA1mathTables : > CPU_CLA_LS_DATA, PAGE = 1//was page=1 CLA1mathTables : LOAD = FLASHL, RUN = CPU_CLA_LS_DATA, RUN_START(CLA1mathTablesRunStart), LOAD_START(CLA1mathTablesLoadStart), LOAD_SIZE(CLA1mathTablesLoadSize), PAGE = 1, ALIGN(8)
存储器配置
//local shared RAM master sel register: value 0==CPU, 1==shared between CPU and CLA
MemCfgRegs.LSxMSEL.bit.MSEL_LS0 = 0;
MemCfgRegs.LSxMSEL.bit.MSEL_LS1 = 0;
MemCfgRegs.LSxMSEL.bit.MSEL_LS2 = 1;
MemCfgRegs.LSxMSEL.bit.MSEL_LS3 = 1;
MemCfgRegs.LSxMSEL.bit.MSEL_LS4 = 1;
MemCfgRegs.LSxMSEL.bit.MSEL_LS5 = 1;
//local shared memory data/prog control register: value 0==CLA data memory, 1==CLA program memory
MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS0 = 0;
MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS1 = 0;
MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS2 = 1;
MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS3 = 1;
MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS4 = 0;
MemCfgRegs.LSxCLAPGM.bit.CLAPGM_LS5 = 0;
在 main()之前定义的变量
extern uint16_t CLA1mathTablesLoadStart; extern uint16_t CLA1mathTablesRunStart; extern uint16_t CLA1mathTablesLoadSize;
内存分配

