你好,
我使用的OMAPL138
基于mcsdk_1_01_00_02中的linux3.3版本内核
目前使用SYSLINK方式进行ARM-DSP之间通讯,SYSLINK版本为syslink_2_21_03_11
现在想咨询三个问题
1. MessageQ_alloc()函数分配堆空间的时候,所分配空间的大小受哪个参数的限制?
heapParams.blockSize = 64;
heapParams.numBlocks = 10;
跟这两个参数是什么关系?堆块大小和堆块数量又有什么意义?blockSize的单位是字节么?
另外,我在调用MessageQ_alloc时,size要是大于128字节,运行时就会产生错误,这和blockSize、numBlocks是什么关系?
2. 通过MessageQ_alloc()如何实现程序动态的分配不定大小的空间?以SYSLINK中的ex02_messageq为例。如果我在App_Msg结构体中
加入一个char* str,如何能根据需求为str分配不同空间的地址?
3. 在ex02_messageq的例程中,所传递的数据结构是App_Msg结构体
typedef struct {
MessageQ_MsgHeader reserved;
UInt32 cmd;
SharedRegion_SRPtr buf;
} App_Msg;
请问这个SharedRegion_SRPtr类型的参数可以怎么使用?从名称上来看,应该是共享内存的指针?但是在API中找到
SharedRegion_SRPtr的类型其实是u32,不知道这个参数如何使用
感谢