官方文档
系统架构
可以看到除了作为一个RTOS的内核部分之外,上层还添加了很多的组件和服务,这也是RT-Thread相比于其他RTOS的优点之一。
源码文件结构
结合RT-Thread的源码文件结构再来看看。
libcpu
首先libcpu是针对不同的MCU所做的底层适配。对应上图系统架构中的最底层,可以看到有着很多不同的芯片架构,例如最常见的ARM、RISC-V、MIPS等。不同的板子可能使用不同的芯片,所以需要通过这一层整合、屏蔽掉不同的芯片所带来的不同的指令集、寄存器等方面的影响。
具体来说的话,举个例子:
假如我现在想关闭系统的总中断,也就是想让系统暂时不响应任何可屏蔽中断,如果在ARM架构下,可以使用CPSID I指令来关闭所有可屏蔽的中断。而在RISC-V架构下,则使用csrrci a0, mstatus, 8