|  | 
 
| 大家好,我现在使用的OMAPL138开发版,由ARM接收数据,在DSP处理数据。 为了让数据在DSP中运行的更快,想把一些数据段放在L2或者L3中运行。
 以下是我的.CMD中的配置:
 MEMORY
 {
 IROM (RX) : org = 0x11700000, len = 0x100000
 IRAM (RWX) : org = 0x11800000, len = 0x38000
 L3_CBA_RAM (RWX) : org = 0x80000000, len = 0x20000
 SR_0 (RWX) : org = 0xc2000000, len = 0x10000
 SR_1 (RWX) : org = 0xc2010000, len = 0xff0000
 DSP_PROG (RWX) : org = 0xc3000000, len = 0x3000000
 }
 。。。。。
 SECTIONS
 {
 .text: load >> DSP_PROG
 .ti.decompress: load > DSP_PROG
 .stack: load > DSP_PROG
 GROUP: load > DSP_PROG
 {
 .bss:
 .neardata:
 .rodata:
 }
 .cinit: load > DSP_PROG
 .pinit: load >> DSP_PROG
 .init_array: load > DSP_PROG
 .const: load >> DSP_PROG
 .data: load >> DSP_PROG
 .fardata: load >> DSP_PROG
 .switch: load >> DSP_PROG
 .sysmem: load > DSP_PROG
 .far: load >> DSP_PROG
 .args: load > DSP_PROG align = 0x4, fill = 0 {_argsize = 0x64; }
 .cio: load >> DSP_PROG
 .ti.handler_table: load > DSP_PROG
 .c6xabi.exidx: load > DSP_PROG
 .c6xabi.extab: load >> DSP_PROG
 .vecs: load > DSP_PROG
 .plt: load > DSP_PROG
 xdc.meta: load > DSP_PROG, type = COPY
 
 .ramfuncs >  IRAM  /* 增加了一个新的ramfuncs段到L2 RAM中 */
 .ramdatas > IRAM/* 增加了一个新的ramdatas段到L2 RAM中 */
 .raml3data > L3_CBA_RAM/* 增加了一个新的raml3data段到L3 RAM中 */
 
 }
 
 在我的DSP端代码如下:
 #pragma DATA_SECTION(min_tmp,"ramdatas")
 int min_tmp = 0;
 #pragma DATA_SECTION(max_tmp,"raml3data")
 int max_tmp = 0;
 
 现在运行结果是如果单独使用L2段,那么程序可以运行且运行速度有较大提升;但是只要使用了L3端,编译可以通过但是运行直接跑飞。
 请问是我使用L3段的方法不对嘛?还是本身程序就使用了L3段,我没法再使用了?
 
 
 
 | 
 |