主题中讨论的其他器件:OMAP-L138
工具/软件:Linux
在 DSP 上使用 TI-PROCESSORSDK-RTOS 05.00.15、在 ARM 上使用 TI-PROCESSOR-SDK-LINUX-05.00.15。
使用 OMAP-L138为我们的定制板开发了定制固件、它基于 LCDK 板、但它没有用于视频等的多个芯片、我正在使用定制编解码器。
如果我只连接并加载默认的 ARM GEL 文件、然后启动 DSP 代码、我将使固件直接加载到 DSP 中。
我无法使用 Linux 执行此操作、已附加资源表文件、已加载所有正确的 IPC 模块。
每当我使用#pragma 并 使用 app.cfg 文件或使用 CONFIG-Bld 文件将段指定为 IRAM (L2 RAM)中的任何存储器时、都会发生这种情况
Build.platformTable["ti.platforms.evmOMAPL138:dsp"]={ externalMemoryMap:[ ["DDR"、{ 名称:"DDR"、空格:"代码/数据"、访问:"rwx"、 基地址:0xC3100000、len:0x800000、 注释:"DSP 程序存储器(8 MB)" } ]、 代码内存:"DDR"、 数据存储器:"DDR"、 stackMemory:"DDR"、 L1DMode:"32K"、 L1PMode:"32K"、 L2Mode:"0K" };
如果我将任一内存指定为不在 DDR 中、则 Linux 中的 Remoteproc 将无法加载固件。
但是、由于驱动程序及其通过 McASP 和 EDMA 与编解码器进行通信、我的数据存储器必须位于 IRAM 中。
那么、如何在初始加载到其他相应存储器后从 DDR 加载存储器。 我尝试四处搜索、但找不到任何东西。
注意:如果我启动 Linux 并使其运行、那么我可以使用 JTAG 使用我的原始设置将 DSP 固件加载到 DSP 内核中、并且工作正常。