我正在使用 CLA 来计算 FFT 的项目。 FFT 代码在 C28x 上运行良好、但当我将其放入.CLA 文件时、问题就会开始。
在调试器中、如果我不手动将目标连接到 CLA 和"加载符号"、调试就不能显式 CLA 部件。 (我使用 Cla1ForceTask1andWait();来自示例项目)。
如果我进行连接和加载、我会逐步浏览 CLA 代码、但它不会导致数据发生任何更改! 我尝试用数组中的一些基本操作替换 FFT、例如更改选定的元素、但这也没有用处。 我只能在 C28x 主代码中看到我加载到数组中的值、但无法进行任何更改。
我在.cmd 文件(下面的代码)中执行了所有存储器管理、但我不是很好地理解如何编写.cmd、所以可能会留下一些关键的东西。 猜问题在该文件中的某个位置、但我无法确定。
提前感谢!
此致、Konstantin
--define=cla_C=1 #if cla_C // cla_暂 存区大小= 0x100; --undef_sym=__cla_暂 存区_end --undef_sym=__cla_暂 存区_start #endif //cla_ca_c memory { PAGE 0: // begin 用于启动 SARAM/*引导加载程序 :origin = 0x000000,length = 0x000002 RAMM0:origin = 0x000122、length = 0x0002DE RAMD0:origin = 0x00B000、length = 0x000800 RAMM1 :origin = 0x000400、length = 0x000400 /*片上 RAM 块 M1 */ RAMD1 :origin = 0x00B800,length = 0x000800 RAMLS0_1 :origin = 0x008000、length = 0x001000 RAMGS0_2:origin = 0x00C000、length = 0x003000 RAMGS9 :origin = 0x015000,length = 0x001000 RAMGS10 :origin = 0x016000,length = 0x001000 RAMGS11 :origin = 0x017000、length = 0x001000 reset:origin = 0x3FFFC0,length = 0x000002 page 1: boot_RSVD :origin = 0x000002、length = 0x000120 // M0的一部分,引导 ROM 将使用此作为栈*/ CLA1_MSGRAMLOW:origin = 0x001480,length = 0x000080 CLA1_MSGRAMHIGH:origin = 0x001500,length = 0x000080 RAMLS2_3:origin 0x009000,length 0x001000 RAMFS4_5:0x001000 RAMGS4 :0x000_RAM1000 origin = 0x011000、length = 0x002000 RAMGS7:origin = 0x013000、length = 0x001000 RAMGS8 :origin = 0x014000、length = 0x001000 RAMGS12 :origin = 0x018000、length = 0x001000 RAMGS13 :origin = 0x019000、length = 0x001000 RAMGS14:origin = 0x01A000、length = 0x001000 RAMGS15:origin = 0x01B000、length = 0x001000 } SECTIONS { codestart :>开始, PAGE = 0 #ifdef __TI_Compiler_version__ #if __TI_Compiler_version__>=15009000 .TI.ramfunc:{}>RAMM1, PAGE = 0 #else ramfuncs :> RAMM0 PAGE = 0#endif #endif CLAscratch: {*.obj (CLAscratch) 。 += CLA_ScratchPad_size; *。obj (CLAscratch_end)}> RAMLS4_5、page = 1 Cla1Prog:> RAMLS4_5、page =1 .text :>> RAMM0 | RAMM1 | RAMD0 | RAMD1 |RAMGS0_2/* RAMM0 | RAMD0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4*/,PAGE = 0 .cinit :> RAMGS0_2, PAGE = 0.Pinit :> RAMGS0_2, PAGE = 0.switch :> RAMGS0_2, PAGE = 0.reset :>重置, PAGE = 0、TYPE = DSECT /*未使用、*/ .stack :> RAMGS3_4、 PAGE = 1.ebss :> RAMGS8,PAGE = 1 .econst :> RAMGS5_6,PAGE = 1.esysmem :> RAMGS7,PAGE = 1 Cla1ToCpuMsgRAM:> CLA1_MSGRAMLOW,PAGE = 1 CpuToCla1MsgRAM:> CLA1_MSGRAMIGH,PAGE = 1.BSS_CLA :> RAMLS4_5, PAGE = 1 //特定项 IOBuffer :>RAMLS2_3,align=512,page=1//2*256 } /* /================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ //文件结束。 //============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ *