工具/软件:Linux
您好!
尝试在 Linux 和 DSP1之间进行通信时出现错误。 以下是在主机上运行程序的消息:
----------------------------------
root@am57xx-EVM:~/test/messageq/hostex #./hostex2 DSP1
-->主要:
->Main_main:
--> App_create:
CMEM_init 成功
MessageQ_Params_init
MessageQ_create
队列名称 DSP1:MSGQ:01
MessageQ_open
APP_CREATE:主机已就绪
<-- App_create:
--> App_exec:
APP_exec:发送消息
用户:0xaa5a2000 PHY:0xa0000000
XOR 中的数据0 = 0xAD[2211.926600] CMEMK 错误:找不到适合0x70的池
CMEM 错误:getPool:无法获取大小为0x70[2211.943117]的池 CMEMK 错误:Alloc:传递了无效的池(-1)。
CMEM 错误:allocPool:ioctl CMEM_IOCALLOC 从池-1失败:-1
CMEM_ALLOC()失败(返回 NULL)
<-- App_exec:-1
<-- Main_main:
<--主要:
root@am57xx-EVM:~/test/messageq/hostex
----------------------------------
我通过'cat'检查了/sys/module/cmemk/parameters/phys_start 和 phys_end 文件、它们显示为'null'。 然后、我运行'rmmod cmemk'并以此方式运行烟雾、
insmod /lib/modules/4.4.19-rt25-gf572d285f0/extra/cmemk.ko phys_start=0xa0000000 phys_end=0xac000000 Pools = 4x50331648
出现以下消息:
----------------------------------
[6264.961831] CMEMK 模块:参考 Linux 版本4.4.19
[6264.969162]分配的堆缓冲区0x40500000、大小为0x100000
[6264.975069] cmemk 已初始化
----------------------------------
我再次检查了 PHYS_START 和 PHYS_END、现在分别显示了0xa0000000和0xac000000。