This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/AM5728:OCMC RAM 中的数据阵列

Guru**** 2550550 points
Other Parts Discussed in Thread: AM5728, SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/673518/rtos-am5728-data-array-in-ocmc-ram

器件型号:AM5728
Thread 中讨论的其他器件: SYSBIOS

工具/软件:TI-RTOS

您好!

AM5728具有2.5MB 的 OC RAM、我想将一些数据移动到该部件。

在我的 C 代码中、我具有:

#pragma DATA_SECTION (DSP_buffer、"INTRAM2")
uint32_t DSP_buffer[100];

我不使用经典链接器文件、而是使用 xdctools xs 来"配置工程"、类似于 ti 示例。

在我的 Dsp1.cfg 中、我添加了:

Program.sectMap["INTRAM2"]= new Program.SectionSpec ();
Program.sectMap["INTRAM2"]="OCMC_RAM2";

我假设这会在"Program"中创建一个新的部分。

在 config.Bld 中、我找到变量"var evmDRA7XX_ExtMemMapDsp"、它似乎是一个数组、列出了所有具有基址/长度的存储器段。

我在数组末尾添加了:

   OCMC_RAM2:{
       名称:"OCMC_RAM2"、
       基地址:0x40400000、
       Len: 0x100000、
       太空:"数据"、
       访问:"RW"
   }

在"Build.platformTable["ti.platforms.evmDRA7XX:dsp1"]"中、我向 externalMemoryMap 数组添加了"["OCMC_RAM2"、evmDRA7XX_ExtMemMapDsp.OCMC_RAM2]。

看起来这基本上是正确的方法、但 OCMC_RAM2已在某个位置定义(在哪里?)、因此链接器会抱怨。

最后、我需要的就是:

Program.sectMap["INTRAM2"]= new Program.SectionSpec ();
Program.sectMap["INTRAM2"]="OCMC_RAM2";

在 Dsp1.cfg 中。

很好。  我花了相当多的时间到达这两条线路。 如果其他人搜索它、您可以点击这里。

您能否确认这种情况是否正常?

我错过了哪些文档?

同一个项目、不同的问题:我的机器有多个内核。 如何让 xs 一次运行多个编译器?

(重建 SYSBIOS 或 IPC 也是如此、只要它应该花费16倍的时间...)

此致、

环路2.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。