dso_2012 发表于 2012-5-5 18:34:46

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,帮小弟解决一下疑惑。

tiancaigao7 发表于 2012-5-6 09:03:44

栈的定义不同,RTT线程栈的单位是一个字节,貌似ucos单位是两个字节,这个你需要看看栈的变量类型。当初我好想也问过这样的问题,后来看了变量类型发现原来是一样的。

ffxz 发表于 2012-5-6 14:35:03

128x4=512

原来论坛新版有字数限制啊,回帖必须超过一定长度

WXF_mabg 发表于 2012-5-6 15:05:51

的的顶顶顶顶顶顶顶顶顶顶

first_blood 发表于 2012-5-6 16:00:19

OS_STK 为uint32,ucos的128实际为rt-thread的512

wandersky 发表于 2012-5-7 08:56:43

真的吗?

dso_2012 发表于 2012-5-7 10:26:58


OS_STK 为uint32,ucos的128实际为rt-thread的512      确实是这样,看来错怪RT-THREAD了,谢谢大家的回答。
页: [1]
查看完整版本: RT-THREAD 的任务怎么这么耗栈空间