单片机_RTOS_架构
1. RTOS的概念
RTOS的意思是:Real-time operating system,实时操作系统。
程序简单示例
// 经典单片机程序
void main()
{
while (1)
{
喂一口饭();
回一个信息();
}
}
------------------------------------------------------
// RTOS程序
喂饭()
{
while (1)
{
喂一口饭();
}
}
回信息()
{
while (1)
{
回一个信息();
}
}
void main()
{
create_task(喂饭);
create_task(回信息);
start_scheduler();
while (1)
{
sleep();
}
}
2. 架构的概念
2.1 双系统、双架构
在电子系统中,CPU就是大脑,CPU有很多种类别,被称为架构。
常见的有:
- ARM:
目前主流的架构,用得最广,芯片公司需要付费购买,再搭配各种模块才能设计出芯片。
目前华为被美国制裁,无法获得最新的ARM架构;
对于其他公司,购买ARM新架构的价格也不低。 - RISC-V:
后起之秀,开源、免费。
目前华为海思的HI3861、乐鑫的ESP32-C3等芯片,都是使用RISC-V的单片机芯片;
平头哥和全志的D1芯片,是使用RISC-V的、能运行Linux的芯片;
RISC-V作为全新的架构,没有历史包袱,设计优美,在技术上大有可为,另外它开源无需授权,能摆脱技术的卡脖子问题。
2.2 要深入理解RTOS就必须深入理解CPU架构
如果只是使用别人移植好的RTOS来写程序,当然不需要了解CPU架构。
甚至编写驱动程序时,也不需要了解CPU架构:因为我们操作的是CPU之外的设备,不是操作CPU。
但是,如果你想达到如下目标,就需要先了解CPU架构:
- 深入理解RTOS的内部实现
- 移植RTOS
- 解决疑难问题