c1310 tirtos开发的时候动态内存分配函数malloc和free 使用会导致射频的postcmd函数返回-2 也就是分配内存失败 很奇怪, 最后是自己写了简单的内存分配代码实现的命令缓冲
Alvin Chen:
试试这个:Public function defined in ssf.h*/ void *Ssf_malloc(uint16_t size) { #ifdef OSAL_PORT2TIRTOSreturn OsalPort_malloc(size); #elsereturn ICall_malloc(size); #endif }/*!Ssf implementation for memory de-allocationPublic function defined in ssf.h*/ void Ssf_free(void *ptr) {if(ptr != NULL){ #ifdef OSAL_PORT2TIRTOSOsalPort_free(ptr); #elseICall_free(ptr); #endif} }
kun zhou:
回复 Alvin Chen:
怎么用? 直接包含ssf.h? 我搜到这个ssf.c 和.h 在sdk下面只出现在三个example里面
Viki Shi:
请问用的SDK版本以及具体的例程是什么?
kun zhou:
回复 Viki Shi:
2.3.0的SDKwor接收的历程
Alvin Chen:
回复 kun zhou:
你把你的malloc的程序发上来看看
kun zhou:
回复 Alvin Chen:
msg.packetDataPointer = get_malloc();//之前用的是这个–》malloc(100);然后用free(msg.packetDataPointer )去释放
kun zhou:
回复 Alvin Chen:
多谢多谢 忽然可以了, 用 您这个, 可能还是我之前写的有问题
kun zhou:
回复 Alvin Chen:
能否帮我再解决下我昨天发的另一个问题 关于listenbefortalk的