您好!
我将通过 Linux 启动 TDA2Px、并将 OCMC RAM 用作 IPU 和 DSP 之间的共享 RAM。 这可以正常工作、但当我尝试使用链接器文件中的 OCMC RAM 作为代码存储或堆栈时、子内核会崩溃。 在这里我的文件:
链接器文件(缩短版本):
存储器
{
OCMC_RAM1: o = 0x40300000、 l = 0x00080000 // 512KB L3 OCMC RAM1 *
OCMC_RAM2: o = 0x40400000、 l = 0x00100000 // 1MB L3 OCMC RAM2 */
OCMC_RAM3: o = 0x4050000、 l = 0x00100000 // 1MB L3 OCMC RAM3 */
IRAM : o = 0x00000000, l = 0x2000 // 8KB */
SDRAM (AWX): o = 0x9E000000, l = 0x100000 /* 1 MB */
}
.data -> SDRAM
.bss > SDRAM
.stack > OCMC_RAM2
资源表(缩短版本):
#define L3_OCMC_RAM2 0x40400000
#define IPU1_OCMC_RAM2 0x40400000
#define IPU1_OCMC_RAM2_SIZE 0x100000
{
TYPE_DEVMEM、
IPU_OCMC_RAM2、L3_OCMC_RAM2、
IPU_OCMC_RAM2_SIZE、0、0、"test_shared_memory"、
}、
DTS:
reserved_mem:保留存储器{
#address-cells =<2>;
大小单元格=<2>;
范围;
cmem_ocmc_test:cmem@40400000{
兼容="共享 dma-pool ";
REG =<0x0 0x40400000 0x0 0x100000>;
SRAM =<&ocmcram2>;
无地图;
状态="正常";
};
};
有什么想法吗?
谢谢