文章目录
5分钟拿下你的三连,RTOS的最通俗理解!
妈妈要一边给小孩喂饭,一边加班跟同事微信交流,怎么办?
对于单线条的人,不能分心、不能同时做事,她只能这样做:
这种做法,在软件开发上就是一般的单片机开发,没有用操作系统。
对于眼明手快的人,她可以一心多用,她这样做:
这种做法,在软件开发上就是使用操作系统,在单片机里叫做使用RTOS。
RTOS的意思是:Real-time operating system,实时操作系统。
我们使用的Windows也是操作系统,被称为通用操作系统。使用Windows时,我们经常碰到程序卡死、停顿的现象,日常生活中这可以忍受。
但是在电梯系统中,你按住开门键时如果没有即刻反应,即使只是慢个1秒,也会夹住人。
在专用的电子设备中,“实时性”很重要。
// 经典单片机程序
void main()
{
while (1)
{
喂一口饭();
回一个信息();
}
}
------------------------------------------------------
// RTOS程序
喂饭()
{
while (1)
{
喂一口饭();
}
}
回信息()
{
while (1)
{
回一个信息();
}
}
void main()
{
create_task(喂饭);
create_task(回信息);
start_scheduler();
while (1)
{
sleep();
}
}
在电子系统中,CPU就是大脑,CPU有很多种类别,被称为架构。
常见的有:
如果只是使用别人移植好的RTOS来写程序,当然不需要了解CPU架构。
甚至编写驱动程序时,也不需要了解CPU架构:因为我们操作的是CPU之外的设备,不是操作CPU。
但是,如果你想达到如下目标,就需要先了解CPU架构:
对于同一个电子产品,编写程序时:
我们要讲的内容就是: