我在CC3200 里面使用osi_TaskCreate 创建了6个任务,每个任务的STACK_SIZE设置为2048, 有一个任务的优先级最高,其余5个优先级相同比第一个要低,初始运行时有一个任务用来监听外部socket 的消息,其余5个任务都在while循环里等待自己队列的消息, 当程序启动,运行这个几个任务时,发现系统hang住了,请问出现这种情况的原因是因为系统分配的资源不够么?如果是的话要怎么样扩展task 运行时的任务占用的资源呢?如果不是 ,那可能是什么原因呢?有办法能避免么? 图片是我的工程里面设置的size
Yonghua Pan:
会不会是多个任务同时写入同一个资源了,你查一下是挂死在哪儿了呢?
user4905330:
回复 Yonghua Pan:
我加大了heap size 就好了
Terry Han:
回复 user4905330:
那就是使用了Malloc函数导致Heap分配不足,同时注意由于没有MPU的对内存的保护,程序中注意最大内存分配和最大可连续地址内存分配。