RTOS和Android操作系统,如何选择?

本文探讨了Android和RTOS在嵌入式领域的应用,分析了两者在手机双MCU、路由器双系统以及高通处理器上的部署。Android作为功能丰富的操作系统,而RTOS则注重实时性和可预测性,适用于低功耗场景。两者在任务调度、内存管理、中断处理等方面存在差异,RTOS通常需要额外的组件如TCP/IP协议栈、文件系统和驱动等来构建完整系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一朋友研究生做了两年Android应用,实习时转了嵌入式应用软件开发,拿着一块移植了RTOS的设备学习。

入门了才发现,两者都是开源、稳定、经历众多设备厂商打磨的优秀操作系统,根据以下几点对比学习。

两个操作系统经常一起应用

Android手机的双MCU

1. AP(Application Processor)是ARM架构搭载Android,运行系统和应用,由于高功耗待机时和WIFI、LCD均休眠。

2. BP(BaseBand Processor)架构搭载RTOS,运行通信协议、射频、GPIO,低功耗。

TP_Link小白路由的双系统

1. 搭载Android4.2,运行APP加强应用功能。

2. 搭载RTOS,完成安全、严密、专业的路由功能。

高通骁龙810/7系列处理器

1. 一个ARM运行基于Linux的Android OS。

2. 一个ARM运行(RTOS)。

适用于 TI 处理器的可扩展 Linux 和 TI RTOS 解决方案

查资料过程中,发现TI也提供了一套基于自己家处理器的可扩展Linux、Android、RTOS解决方案,同样的处理器,可选的SDK和操作系统,也是棒。

当然Android做为操作系统更为丰满,更上层,而实时操作系统比如ucos,比如最近在学的rtos,都仅提供了任务调度、同步、互斥、时钟等功能,所以必须内核组,BSP&DSP,应用软件开发人员再向这个骨架中填充(移植)血肉:lwip(小型TCP/IP协议栈), fatfs(文件系统), driver(各种外设驱动), framework, ucGUI, bsp等。

 

通用操作系统和实时操作系统

1.通用操作系统的设计注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则。

大型的os代码包括的内容很多,就拿linux来说,它就包括了调度、文件、网络、驱动等完整的代码内容。

2.对于实时操作系统,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因此,实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性predictability)

而一般的RTOS呢,就拿大家熟悉的ucos2来说,只是包含了调度、同步、互斥、时钟等代码。如果系统工程师需要拿ucos2来做一个项目,那么他还需要bsp、lwip、ucGUI、fatfs、driver、framework等很多代码才能组成一个完成的系统。

可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。

3.差别比较之处

几个主要差别的地方:

(1)任务调度策略不同。

(2)内存管理方式不同。

(3)中断处理方式。

(3)系统管理方式不同。 

(转自嵌入式专栏)

1.2021年第8期《单片机与嵌入式系统应用》电子刊新鲜出炉!

2.为了兴趣爱好,我该选嵌入式么?

3.编码的终极意义:软件工程师出身CEO的好处!

4.嵌入式工程师掌握编程的几个要素

5.Cortex-M中断向量表原理及其重定向方法~

6.如何在MCU上高效地管理内存?

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值