如果系统功能很简单,很多优秀的嵌入式软件并没有实时操作系统,因为增加RTOS内核反而会增加资源的消耗。比如说你学校里做课设,做个电子时钟,加内核就牛刀杀鸡了。
当系统变得复杂时,采用RTOS内核就变得很有必要了。那么要不要用RTOS内核是一个需要权衡的事情。我们看一下采用RTOS的好处是什么。
使用RTOS的好处:
1、保证任务实时性
2、易扩展,易维护;
3、模块化;
4、便于团队开发;
5、方便测试;
6、方便代码复用;
7、效率提升;
8、空闲机制;
9、电源管理机制;
10、中断处理灵活;
再看看FreeRTOS有哪些功能
FreeRTOS的功能:
1、优先机制或合作机制(Pre-emptive or co-operative operation)
2、非常灵活的任务优先级分配(Very flexible task priority assignment)
3、灵活、快速、轻量级任务通知机制(Flexible, fast and light weight task notification mechanism)
4、队列(Queues)
5、二进制信号量(Binary semaphores)
6、计数信号量(Counting semaphores)
7、互斥锁(Mutexes)
8、递归互斥锁(Recursive Mutexes)
9、软件定时器(Software timers)
10、事件组(Event groups)
11、Tick钩函数(Tick hook functions)
12、Idle钩子函数(Idle hook functions)
13、栈溢出检查(Stack overflow checking)
14、跟踪记录(Trace recording)
15、任务运行时统计信息收集(Task run-time statistics gathering)
16、商业许可和支持(Optional commercial licensing and support)
17、完全中断嵌套模型(对于某些体系结构)(Full interrupt nesting model (for some architectures))
18、 极低功耗(A tick-less capability for extreme low power applications)
19、软件管理中断堆栈(这可以帮助保存RAM)(Software managed interrupt stack when appropriate (this can help save RAM))
RTOS的好处和FreeRTOS内核的功能在将来我会讲到,现在先有个基本的概念,知道有那么一回事就行了,我们才刚开始,学习RTOS内核任重道远。因为在我这没有十天学会xxx,零基础精通xxx。所有的学习内容都要有一定的知识背景才能快速掌握。
比如说C语言的编程能力,英语阅读能力,还有最重要的坚持的毅力。