Tool/software: Linux
Hello,
I am getting an error trying to communicate between Linux and DSP1. Here are the messages running the program on the host:
-------------------------------------
root@am57xx-evm:~/test/messageq/hostex# ./hostex2 DSP1
--> main:
--> Main_main:
--> App_create:
CMEM_init success
MessageQ_Params_init
MessageQ_create
queue name DSP1:MsgQ:01
MessageQ_open
App_create: Host is ready
<-- App_create:
--> App_exec:
App_exec: sending message
user: 0xaa5a2000 phys: 0xa0000000
Data 0 in xor = 0xad[ 2211.926600] CMEMK Error: Failed to find a pool which fits 0x70
CMEM Error: getPool: Failed to get a pool fitting a size 0x70[ 2211.943117] CMEMK Error: ALLOC: invalid pool (-1) passed.
CMEM Error: allocPool: ioctl CMEM_IOCALLOC failed from pool -1: -1
CMEM_alloc() failed (returned NULL)
<-- App_exec: -1
<-- Main_main:
<-- main:
root@am57xx-evm:~/test/messageq/hostex#
-------------------------------------
I had checked the /sys/module/cmemk/parameters/phys_start and phys_end files via 'cat' and they showed 'null'. I then ran 'rmmod cmemk' and ran insmod this way,
insmod /lib/modules/4.4.19-rt25-gf572d285f0/extra/cmemk.ko phys_start=0xa0000000 phys_end=0xac000000 pools=4x50331648
The following messaged occured,
-------------------------------------
[ 6264.961831] CMEMK module: reference Linux version 4.4.19
[ 6264.969162] allocated heap buffer 0x40500000 of size 0x100000
[ 6264.975069] cmemk initialized
-------------------------------------
I checked phys_start and phys_end again, which now show 0xa0000000 and 0xac000000 respectively.