为什么嵌入式 IoT 设备优先选择 RTOS 而不是Linux ?
物联网近两年的快速发展,想必大家都看到了,因为物联网,使C语言的成为非常受欢迎的语言。
一、为什么IoT设备选用RTOS?
我们说的IoT设备,通常指的是物联网系统中的终端设备,我们将IoT设备视为通过网络发送和接收信息的嵌入式系统。
尽管许多嵌入式系统使用较不复杂的软件即可很好地管理,但联网设备需要功能更强大的系统。
物联网设备的软件应该具备:
可扩展:以适应各种不同类别的设备
模块化:选择所需的组件
可连接:通过Wi-Fi,以太网,USB或蓝牙将数据移入和移出设备。
可靠性:最好具有相关的安全认证
1.可扩展性
可扩展的RTOS可以帮助你提高开发效率,降低开发成本并缩短上市时间。
尽管从历史上看,嵌入式系统完全是围绕8位和16位MCU构建的,但是32位MCU的价格却一直在迅速下降,销量在快速增长,使其成为最受欢迎的MCU。
2.模块化
想必大家都看到了众多RTOS厂家都在不断完善自家RTOS的生态,各种中间件和组件越来越多,但有一个特点就是,模块化。
大家熟悉的µC/OS、RT-Thread、FreeRTOS等都围绕RTOS扩展了许多组件。
3.可连接
网络连接对于物联网非常重要,关键的一点就是“连接”,否则就只是“物”,而不能叫物联网了。
如果RTOS有配套的协议栈最好,这样就能节省开发时间,同时,如果芯片自带有所需的协议栈更好,这样就能节省设备上的内存并降低成本。
4.可靠性
可靠性这一点相信不用我说,做过开发的都能理解。产品运行一段时间出现bug是一件多么头疼的事情。。。
所以,不光是看得到的实物需要认证,“看不见”的软件也是需要认证。
二、为什么不使用Linux呢?
Linux是一种强大的,对开发人员友好的操作系统,作为物联网设备的平台已受到关注,Linux已成熟成为许多应用程序的主流嵌入式操作系统。
Linux在嵌入式设备中有很多用途,尤其是那些提供图形丰富的用户界面的设备。
然而,与实时操作系统(RTOS)相比,Linux有一个“缺点”:内存占用。即使可以通过删除嵌入式系统不需要的工具和系统服务来缩小Linux,但它仍然非常庞大(相对RTOS)。
它根本无法在8位或16位MCU上运行,甚至许多较新的32位MCU都没有足够的板载RAM用于Linux内核。
ARM Cortex-M系列就是非常适合IoT的MCU,有数百种基于流行的Cortex-M架构的MCU,通常只有几百KB的内存,Linux基本不能在这些芯片上运行。
所以,为什么不使用Linux呢?总结来说就是IoT设备的硬件(资源、性能)不适合Linux。
本文部分素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。
—— The End ——
往期推荐
嵌入式 C 语言的八大难点揭秘
Modbus协议简易入门教程
芯片在显微镜下,有哪些不为人知的秘密?
分享几个超级实用的C语言小技巧!
学妹为了学习数电,自制555芯片
模块化编程到底有多重要?
自制一个CAN调试器器,难不难?
一分钟了解芯片工作的心脏
面试常问的16个C语言问题,你能答上来几个?
C语言指针的正确打开方式!
长按识别二维码关注我
你点的每个好看,我都认真当成了喜欢
为什么嵌入式 IoT 设备优先选择 RTOS 而不是Linux ?相关推荐
- 选择 FreeBSD 而不是 Linux 的技术性原因
干净的分离 在 FreeBSD 的设计方式下,不同的组件组合在一起的,处理配置和调优,以及多年来开发和改进的所有工具,使得使用 FreeBSD 是一件很特别的事情. 从 1998 年开始,我所使用的大 ...
- freebsd linux性能,为什么有人会选择FreeBSD而不是Linux?[关闭]
BSD和Linux发行版之间的差异可以追溯到Unix的早期. AT&T拥有Unix,但是由于限制,它无法在计算行业竞争.因此,他们将Unix授权给了Berkeley.伯克利开始进行这种自定义和 ...
- 利用Amazon Lambda实现Amazon IoT设备证书的即时注册
背景介绍 为了保证通信的安全性,Amazon IoT设备与Amazon IoT Core的MQTT通信使用基于证书的TLS 1.2双向认证体系.所谓的双向认证,即意味着Amazon IoT设备端需安装 ...
- NET问答:什么场景下应该选择 struct 而不是 class ?
咨询区 Esteban Araya: MSDN 上说当你需要一个轻量级对象时应该选择 struct,说的含含糊糊,真的不知道有哪些场景下优先选择 struct 而不是 class. 可能有些人已经忘了 ...
- 面向IoT的协议选择思考
对于使用传感器和保持连接性的IoT系统而言,如何使用这些元素和多种互联网技术相结合呢? 互联网协议并不陌生, 但是IoT相关的互联网协议可能是有不同, 有些协议被用来辅助塑造系统.TCP/IP协议栈上 ...
- 英伟达联合芯片巨头ARM打造IOT设备的AI芯片
今年的GTC 2018比较神奇,最为重磅的消息选择了在提前秘密发布,而不是在GTC Keynote现场--英伟达重磅宣布,将联合芯片巨头ARM打造IOT设备的AI芯片专用IP,这款机器学习IP集成到A ...
- c语言 sdk,适用于 C 语言的 Azure IoT 设备 SDK
您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 适用于 C 的 Azu ...
- Bootstrap 简洁、直观、强悍、移动设备优先的前端开发框架,让web开发更迅速、简单。...
http://v3.bootcss.com/ 从2.x升级到3.0版本 Bootstrap 3并不向后兼容Bootstrap v2.x.下面章节列出的内容可以作为从v2.x升级到v3.0的通用指南.如 ...
- 华为云IoT设备接入服务全体验
摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验>,原文作者:启明 ...
最新文章
- 推荐 查公司信息的一个网站
- linux远程执行shell命令行,linux shell 远程执行命令--ftp
- 聊聊、Java SPI
- Android中的onActivityResult和setResult方法的使用
- php min命令,php min函数怎么用?
- [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容...
- 剩余 大小 查看内存_JVM的内存分配策略以及进入分代的条件
- Python办公自动化|光速对比并提取两份Word/Excel中的不同元素
- 逗号表达式执行的顺序—从左到右
- Vuejs——(4)v-if、v-for
- 计算机中级职称考试答题卡,2016年软考网络工程师考试填涂答题卡(纸)须知...
- JDBC驱动下载地址
- 在java中获取全年的节假日(包含周末和法定节假日及调休日)
- 旋转矩阵之到底顺时针还是逆时针
- 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)
- 调整k8s的iptable参数时启动生效报错
- Ubuntu 18.04 安装 deepin 微信
- No signing certificate “iOS Distribution“ found No “iOS Distribution“ signing certificate matching
- 什么是JSP,JSP的运行原理是什么?
- 补码一位乘--布斯公式