物联网近两年的快速发展,想必大家都看到了,因为物联网,使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 ?相关推荐

  1. 选择 FreeBSD 而不是 Linux 的技术性原因

    干净的分离 在 FreeBSD 的设计方式下,不同的组件组合在一起的,处理配置和调优,以及多年来开发和改进的所有工具,使得使用 FreeBSD 是一件很特别的事情. 从 1998 年开始,我所使用的大 ...

  2. freebsd linux性能,为什么有人会选择FreeBSD而不是Linux?[关闭]

    BSD和Linux发行版之间的差异可以追溯到Unix的早期. AT&T拥有Unix,但是由于限制,它无法在计算行业竞争.因此,他们将Unix授权给了Berkeley.伯克利开始进行这种自定义和 ...

  3. 利用Amazon Lambda实现Amazon IoT设备证书的即时注册

    背景介绍 为了保证通信的安全性,Amazon IoT设备与Amazon IoT Core的MQTT通信使用基于证书的TLS 1.2双向认证体系.所谓的双向认证,即意味着Amazon IoT设备端需安装 ...

  4. NET问答:什么场景下应该选择 struct 而不是 class ?

    咨询区 Esteban Araya: MSDN 上说当你需要一个轻量级对象时应该选择 struct,说的含含糊糊,真的不知道有哪些场景下优先选择 struct 而不是 class. 可能有些人已经忘了 ...

  5. 面向IoT的协议选择思考

    对于使用传感器和保持连接性的IoT系统而言,如何使用这些元素和多种互联网技术相结合呢? 互联网协议并不陌生, 但是IoT相关的互联网协议可能是有不同, 有些协议被用来辅助塑造系统.TCP/IP协议栈上 ...

  6. 英伟达联合芯片巨头ARM打造IOT设备的AI芯片

    今年的GTC 2018比较神奇,最为重磅的消息选择了在提前秘密发布,而不是在GTC Keynote现场--英伟达重磅宣布,将联合芯片巨头ARM打造IOT设备的AI芯片专用IP,这款机器学习IP集成到A ...

  7. c语言 sdk,适用于 C 语言的 Azure IoT 设备 SDK

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 适用于 C 的 Azu ...

  8. Bootstrap 简洁、直观、强悍、移动设备优先的前端开发框架,让web开发更迅速、简单。...

    http://v3.bootcss.com/ 从2.x升级到3.0版本 Bootstrap 3并不向后兼容Bootstrap v2.x.下面章节列出的内容可以作为从v2.x升级到v3.0的通用指南.如 ...

  9. 华为云IoT设备接入服务全体验

    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验>,原文作者:启明 ...

最新文章

  1. 推荐 查公司信息的一个网站
  2. linux远程执行shell命令行,linux shell 远程执行命令--ftp
  3. 聊聊、Java SPI
  4. Android中的onActivityResult和setResult方法的使用
  5. php min命令,php min函数怎么用?
  6. [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容...
  7. 剩余 大小 查看内存_JVM的内存分配策略以及进入分代的条件
  8. Python办公自动化|光速对比并提取两份Word/Excel中的不同元素
  9. 逗号表达式执行的顺序—从左到右
  10. Vuejs——(4)v-if、v-for
  11. 计算机中级职称考试答题卡,2016年软考网络工程师考试填涂答题卡(纸)须知...
  12. JDBC驱动下载地址
  13. 在java中获取全年的节假日(包含周末和法定节假日及调休日)
  14. 旋转矩阵之到底顺时针还是逆时针
  15. 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)
  16. 调整k8s的iptable参数时启动生效报错
  17. Ubuntu 18.04 安装 deepin 微信
  18. No signing certificate “iOS Distribution“ found No “iOS Distribution“ signing certificate matching
  19. 什么是JSP,JSP的运行原理是什么?
  20. 补码一位乘--布斯公式

热门文章

  1. IM——基本系统架构
  2. GOF 面向对象 23 种设计模式详解
  3. 张朝阳:打高球老婆孩子早九晚五活得太沉重
  4. 物联网技术在智慧电网中的应用-Susie 周
  5. Gartner发布5G网络基础设施魔力象限报告
  6. jvm-性能优化专题-jvm最全
  7. Ext.form.DateField控件属性说明
  8. fusioncharts 属性
  9. 2018Java校招面试题目合集
  10. Redis 之 subscribe 订阅模式封装