RT-THREAD 的任务怎么这么耗栈空间
最近把原来用UCOS的一个产品改用RTT 来移植了下,我先简化只开了两个任务,发现把任务的栈空间定义成static rt_uint8_t stack1[ 256 ] 开了一会任务就挂了直接进入HARDFAULT ,FINISH终端出现warning: SINGLEWE€ stack is close to end of stack address. 改成512 之后程序就可以正常的跑。我记得原来在UCOS2下 我的栈空间定义成128 都可以的,怎么RTT这么耗栈空间,由于刚开始研究RTT还没有仔细去看RTT的任务控制块 ,有谁比较熟悉RTT,帮小弟解决一下疑惑。 栈的定义不同,RTT线程栈的单位是一个字节,貌似ucos单位是两个字节,这个你需要看看栈的变量类型。当初我好想也问过这样的问题,后来看了变量类型发现原来是一样的。 128x4=512原来论坛新版有字数限制啊,回帖必须超过一定长度
的的顶顶顶顶顶顶顶顶顶顶 OS_STK 为uint32,ucos的128实际为rt-thread的512 真的吗?
OS_STK 为uint32,ucos的128实际为rt-thread的512 确实是这样,看来错怪RT-THREAD了,谢谢大家的回答。
页:
[1]