freertos 支持 pthread吗
答案:2 悬赏:40 手机版
解决时间 2021-04-05 10:57
- 提问者网友:星軌
- 2021-04-04 20:21
freertos 支持 pthread吗
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-04-04 21:28
一、freeRTOS比uCOS II优胜的地方:
1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。
2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
3。freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII 每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。
4。freeRTOS 是在商业上应用。uCOS在商业上的应用是要付钱的。
二、freeRTOS 不如uCOS的地方:
1。比uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores, Mutex。 uCOS除这些外,还支持Flag, MailBox.
2。uCOS的支持比freeRTOS 多。除操作系统外,freeRTOS只支持TCPIP, uCOS则有大量外延支持,比如FS, USB, GUI, CAN等的支持3。uCOS可靠性更高,而且耐优化,freeRTOS 在我设置成中等优化的时候,就会出问题。
1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。
2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
3。freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII 每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。
4。freeRTOS 是在商业上应用。uCOS在商业上的应用是要付钱的。
二、freeRTOS 不如uCOS的地方:
1。比uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores, Mutex。 uCOS除这些外,还支持Flag, MailBox.
2。uCOS的支持比freeRTOS 多。除操作系统外,freeRTOS只支持TCPIP, uCOS则有大量外延支持,比如FS, USB, GUI, CAN等的支持3。uCOS可靠性更高,而且耐优化,freeRTOS 在我设置成中等优化的时候,就会出问题。
全部回答
- 1楼网友:平生事
- 2021-04-04 21:45
创建另外的两个线程。我按照startdefaulttask的代码,在 mx_freertos_init(void)内用osthreadcreate创建另外两个线程,分别为ledtask和measuretemptask。
当三个线程同时创建的话,os跑不起来,连startdefaulttask都没有执行。
如果我第一次使用stm32cubemx,创建了一个简单的freertos代码,默认生成的startdefaulttask线程,我测试过,如果在startdefaulttask线程内,只创建其中任意的两个线程,os就可以跑起来。
freertos本身可以执行多个线程,但stm32cubemx好像是用cmsis来重新封装freertos,是不是cmsis限制了执行线程的数量?
另外,os除了执行startdefaulttask线程外,只执行另外创建的第一个线程。硬件平台是stm32f103rct6。根据原代码,在freertos.c文件内的函数 mx_freertos_init(void)内,调用osthreadcreate创建线程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯