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

SYSBIOS 软中断中 malloc 失败

在sysbios调试时,在Task 中进行动态内存分配,程序运行正常,而当我将同样的模块放入软中断中调用时,程序运行到malloc (or  Memory_alloc())时,程序就死了,提示:ti.sysbios.gates.GateMutex:line 97 assertion failure:A badcontext: bad calling context. See gateMutex API doc for detail 。

不知何解?麻烦专家指导一下,谢谢

这里系统默认的heap开的挺大,肯定足够一次malloc的分配

Wu Feng:

回复 Andy Yin1:

谢谢。之前测试时也就的task中可以malloc.

bios 在默认的情况下,打开 GateMutex,后来我将其设置成 NoBlocking  这样在软中断中malloc成功了。这样做的话,有啥弊端 ?

Andy Yin1:

回复 Wu Feng:

你为何一定要在swi中分配内存呢,起始完全可以在swi中触发一个任务然后在执行相应的操作。

赞(0)
未经允许不得转载:TI中文支持网 » SYSBIOS 软中断中 malloc 失败
分享到: 更多 (0)