Android和RTOS

本文探讨了Android和RTOS的共存应用,如手机双MCU中的AP(Android)和BP(RTOS)分别处理高功耗应用和低功耗通信,以及路由器中的类似设置。同时,介绍了TI提供的Linux、Android和RTOS解决方案。尽管Android提供了更全面的功能,但RTOS专注于实时性和确定性,需要额外的组件如 lwip、fatfs 和驱动来构建系统。

摘要生成于 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等。

[注]. 对运行RTOS的ARM,参考[1]中作者还补充了以 L4,REX为基础的 Modem 部分采用的微内核设计。介绍了从早期操作系统内核到微内核,从Scheduling, File System, Networking, Device Driver, Memory Management, Paging等功能完善的内核到仅仅留下Address Space Support, IPC, Scheduling的精简功能的微内核的演变。


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

两者的本质区别还不是很明白,牵扯到中断优先级,任务调度机制,各种策略和算法去满足实时性,系统行为可预测性还是平均响应。需要再多多学习。


参考资料

[1]. 通用操作系统与实时操作系统(RTOS)比较
[2]. 吓到了吗?揭秘智能手机背后隐藏的第二系统——RTOS
[3]. TP双系统智能路由来了:TP mini小白路由

### RTOS与嵌入式Linux的区别 #### 定义与特性 实时操作系统(RTOS)专注于提供可预测性及时响应能力,适用于对时间敏感的应用场合。这类系统通常具有较小的内核尺寸以及较低的启动时间中断延迟。相比之下,嵌入式Linux基于标准Linux内核构建,继承了其多任务处理能力强大的网络协议栈功能。 #### 内存管理单元(MMU) 使用内存管理单元方面存在差异,在Windows、MacOS、Linux、Android这些操作系统中会采用MMU来实现虚拟地址空间映射等功能;然而像FreeRTOS、VxWorks、UCOS这样的轻量级RTOS则不依赖于MMU来进行操作[^1]。 ### 优点对比 #### 实时性能 对于严格的时间约束环境而言,RTOS表现出色,因为它们设计之初就考虑到了确定性的调度算法支持低级别硬件访问的需求。这使得RTOS非常适合用于工业自动化控制系统或医疗仪器等领域。 #### 驱动支持与生态系统 另一方面,由于拥有活跃开发者社区的支持,嵌入式Linux具备广泛而深入的外设接口兼容性。当涉及到复杂外围组件(如Wi-Fi模块、蓝牙芯片组等)集时,利用现可用的开源驱动可以大大减少开发周期并提高稳定性[^2]。 ### 缺点分析 #### 资源占用情况 尽管RTOS能够在资源受限平台上高效运行,但对于一些高级应用来说可能会显得力不从心——比如多媒体播放器就需要更加强大灵活的操作系统平台作为支撑。与此同时,虽然Linux提供了丰富的特性工具集,但这同时也意味着更高的RAM/CPU开销,这对于本敏感型项目可能是不利因素之一。 #### 学习曲线陡峭度 初次接触RTOS的新手程序员或许会觉得上手难度较大,因为它涉及更多底层概念技术细节的理解。相反地,得益于大量教程文档的存在加上相对直观易懂的设计哲学,大多数工程师都能较快掌握如何在Linux环境下开展工作。 ### 应用场景举例说明 - **航空航天** - 使用RTOS确保飞行控制指令得到即时执行。 - **消费电子产品** - 利用嵌入式Linux的强大图形界面框架打造智能电视用户体验。 - **物联网(IoT)网关** - 结合两者优势:通过RTOS保障数据采集端口稳定可靠的同时借助Linux完云端通信服务部署。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值