1.操作系统的选择:
硬件是操作系统的基础,基于不同的硬件环境我们需要考虑不同的操作系统实现。
比如,在ARM体系中APU适合linux,RPU适合RTOS,M核适合更轻量级的RTOS。受内存大小影响,受芯片体系架构影响非常大。再比如RPU是不支持SMP的,APU一般情况下是支持的SMP的。RTOS中一大部分也是默认不支持SMP的,同时众多RTOS对各种系统资源要求和利用率也不一样,慎重选择:
开源的RTOS:
收费的RTOS:
threadx/vxworks等。
2.学习基于:使用过的RTOS(freertos/ecos/RTthread/Threadx)和linux为主
(1)通用例子基于虚拟机环境模拟
(2)硬件例子以zcu106硬件架构运行
(3)学习操作系统,编译环境和工具链是无法避开的问题。而这些又和硬件体系强相关,内容复杂并且特别多,我也是用到什么介绍什么学习什么,最后串起来。
(4)汇编语言是基本工具,必要的知识点需要掌握
这部分涉及移植比较多,但是众多的高效率代码也会选择使用汇编进行编写。大部分情况下不需要我们自己去编写,少部分情况下需要去调整部分。如下主要分析典型的代码,然后分析自己写这段代码如何写。
接下来围绕,前文中的学习资料,对linux/Freertos等系统和自己写操纵系统中,汇编到C的流程。