TI中文支持网
TI专业的中文技术问题搜集分享网站

BigData IPC例程运行报错CMEM Error: getPool: Failed to get a pool fitting a size

Other Parts Discussed in Thread:AM5728

您好,我最近使用TI AM5728开发板,ARM运行RT-LINUX,DSP按照“https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/linux/Foundational_Components_IPC.html”使用RTOS,已经跑通IPC例程。但是因为ARM和DSP之间大数据传输(每帧1MB>500B),因此拟采用bigdata ipc,,参考了”software-dl.ti.com/…/index_examples_demos.html IPC的例程在RT-LINUX的SDK中“/home/xxx/ti/ipc_3_50_04_08/examples/DRA7XX_linux_elf/ex02_messageq”。我在顶层目录““/home/xxx/ti-processor-sdk-linux-rt-am57xx-evm-06.03.00.106”导入了RTOS环境,使用命令“export TI_RTOS_PATH=/home/xxx/ti",并编译host_linux,使用命令“make big-data-ipc-demo“,然后再host_linux目录下的host和dsp目录下找到了app_host和server_dsp.xe66,并将其移植到开发板的/lib/firmware下,并软连接到dra7-dsp1-fw.xe66,执行命令./app_host DSP1出现报错:

我想请问一下这个问题是什么导致的?应该如何解决?

除此之外,我还想问一下,DSP和ARM每次使用IPC通信使用messageQ传递指针,最底层应该是共享内存,那么这块内存的设置如何查看?是否可以修改其大小?(在设备树或者其他地方吗?)

GuangKai Meng:

不好意思,我不知道如何评论代码…以下是出现的错误:
root@am57xx-evm:~# ./app_host DSP1
–> main:
–> Main_main:
–> App_create:
App_create: Host is ready
<– App_create:
–> App_exec:
CMEM_init success
CMEM Error: getPool: Failed to get a pool fitting a size 0x384
CMEM_getPool failed
Segmentation fault (core dumped)

,

GuangKai Meng:

不好意思,中间有段乱掉了:

参考了“software-dl.ti.com/…/index_examples_demos.html
IPC的例程在RTOS的SDK中“/home/xxx/ti/ipc_3_50_04_08/examples/DRA7XX_linux_elf/ex02_messageq”。
BigData IPC例程在RT-LINUX的SDK中“/home/xxx/ti-processor-sdk-linux-rt-am57xx-evm-06.03.00.106/example-applications/big-data-ipc-demo-linux-01.03.00.00/host_linux”

,

GuangKai Meng:

我参考了

但是我的IPC例程已经跑通了,这位老哥修改了SDK版本解决问题,但是我的RTOS和RT-LINUX的SDK版本一致,均为06.03最新的,因此我觉得我应该不是SDK的问题?

,

Nancy Wang:

看报错显示CMEM错误,建议先看一下CMEM章节是否是内存部分需要修改。
software-dl.ti.com/…/Foundational_Components_CMEM.html

,

GuangKai Meng:

xx不好意思,刚看到回复。麻烦问一下,在AM57xx中ARM采用RT-LINUX的前提下,想使用起来DSP/M4核,除了DSP采用SYS/BIOS然后通过IPC方式进行ARM和DSP通信,还有其他通信方式吗??(前提是ARM采用RT-LINUX操作系统)

,

Nancy Wang:

请参考:
software-dl.ti.com/…/Foundational_Components_IPC.html

,

GuangKai Meng:

您好,我想再问一下,Mailbox只能用于DSP核内的线程通信吗?还是应该也可以用于ARM和DSP之间的通信?如果可以的话,有参考文档吗?麻烦了

,

Nancy Wang:

看一下 MPM Mailbox module:
Mailbox is used for exchanging control messages between the host and individual DSP cores.
software-dl.ti.com/…/index_Foundational_Components.html

,

GuangKai Meng:

好的,麻烦您了。我了解了一下,MailBox应该是当DSP为裸机的时候用于ARM与其通信。谢谢回复呀!~

赞(0)
未经允许不得转载:TI中文支持网 » BigData IPC例程运行报错CMEM Error: getPool: Failed to get a pool fitting a size
分享到: 更多 (0)