esp32开发快速入门 1

何为实时操作系统

说道操作系统大家想到往往是Windows,Linux 。在对于数以亿计的物联网设备来说这两种系统在其中所占的比例少之又少。在物联网中大多数的设备使用的都是实时操作系统。先说说什么是操作系统。所谓操作系统就是能够统一管理计算机硬件和软件的计算机程序,说到底它还是程序,只不过操作系统运行在所有程序的最下面一般的用户是看不到。那什么是实时操作系统那?实时操作系统英文real-time operating system简称RTOS。实时的概念是相对于操作系统而言的,说的直白点就是实时操作系统比操作系统快,它能快速反应各种操作。但是正所谓鱼和熊掌不可兼得,实时操作系统速度快的同时伴随着的就是软件代码相对比较简单,如果软件特别庞大的话还是需要Windows,linux这种通用的操作系统。

当然实时操纵系统并不是速度快一个优点,它还有高稳定性,基础内核体积小只有几kb大小,而这些优点恰恰是物联网设备所需要的。物联网设备的功能越来越多,代码量越来越大了,那种简单的单片机程序已经很难满足现有物联网设备的需求了。现在生产的大部分物联网设备都是基于实时操作系统开发的。一些有实力的公司都发布了自己的实时操作系统(RTOS)。阿里的AliOS-Things ,华为的Huawei LiteOS,腾讯的TencentOS-tiny,亚马逊收购FreeRTOS,国内做实时操作系统比较有名的RT-Thread最近拿到了近亿元的投资。这些公司把大量资金投入进来无非就是想在未来物联网的世界中占有先机。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

对于普通开发者实时操纵系统的意义

我个人觉得这就是一门手艺,我给嵌入式工程师的定位是现代的手艺人。何为手艺人?不过是有一技之长吧了,丰年发不了财,荒年饿不死而已。其实我们和几十年前的木匠,泥瓦匠没有区别,只不过工具变成了键盘。多学一门技能就会让多一个营生的手段。在工作的这几年我明显的能够发现单片机开发越来越简单,各个芯片制造商不断的推到自家的软件开发辅助工具,使得工程师开发起来越来越容易,以stm32为例,一个stm32cubemx解决了大部分代码需求,前几年写的大段代码,现在有可能只需要在cubemx选择几个配置就解决。这也导致嵌入式开发的门槛越来越低,如果自己满足现状的话,早晚会被时代淘汰。学习操作系统势在必行。


题外话:

我给出的学习路线是:

单片机--------->实时操作系统------------->Linux

以上只是根据我的个人经历给出的建议并不是适合所有人,为什么是这样的路线那?有的人会说我可以直接学习linux啊,为什么还要学习单片机那?以我个人经验来说如果你把自己定位一个纯软件工程师应用层开发的话,可以直接学习Linux ,学习应用开发即可。但是如果你喜爱那个成无为一个嵌入式工程师的话那就必须要掌握一些软硬件知识。如果没有基础直接直接学习Liunx内核的话,入门是很难的,基本上都会半途而废。

编辑

添加图片注释,不超过 140 字(可选)


言归正传

实时操作系统在项目开发中的优势

1.提升效率:当项目设计的任务比较多,单靠开发人员自己来管理这些任务的话会是一个比较麻烦的事情。往往开发到最后管理任务的代码比实际实现功能代码都多,此时实时操作系统的优势就显现出来了,他可以帮你管理这些任务,处理任务之间的逻辑。开发人员只需要开发功能即可,这样既简化了开发流程,也提供了开发效率。

2. 沟通简化:实时操作系统都是统一的API接口,降低了开发难度和多人配合时的沟通成本,多人开发时大家都使用统一的API,大家只要定义基本的接口就可以了,不用去指定复杂的API文档。

3. 移植方便:对同一个公司的产品来说往往涉及到产品更新换代,在没有操作系统的情况下更换芯片是一件很麻烦的事,有了操作系统这个问题就简单,只要移植底层的操纵系统接口即可。

4. 厂商需要:大多物联网方案提供商都会提供自己的物联网操作系统,一般这些厂商都定义好自己的云端操作接口,如果想熟练的应用这些API,就不必须先弄明白这些操作系统。

学习那种实时操作系统

先给出答案,我推荐学习freertos。原因在于入门简单,应用广泛,资料多。有人可能会说ucos资料也很多啊 。的确如此在我大学的时候ucosii特别流行,现在又推出了ucosiii。但是它并不是免费的,虽然可以看到源代码,但想应用到产品当中就要付钱给他,在前几年大家可以不重视这个问题,毕竟在国内也没有那么严格。可对于越来越重视知识产权的今天来说这是一个致命伤,而且市面上有那么多免费的实时操作系统它也没有什么优势,没必要选择它。

在一个就是国内的一些实时操作系统(AliOS-Things ,Huawei LiteOS,TencentOS-tiny)并不适合初学者,原因在于这些操作系统代码量比较大,而且只有一小部分是操作系统内核代码打大部分代码都是用于实现他们自家功能的代码,这使得初学者在一开始学习的时候会一头雾水,不知道从哪里学起。

最后就说道freertos了,freetos应用广泛,其中乐鑫的ESP8266和ESP32的软件框架都是基于freertos实现的。我们可以从官网下载到最新的代码,移植起来特别简单,而它本身的代码量也不是很大。特别适合初学者。好多开发板厂商(正点原子,野火,安富莱等)都有freertos的视频教程。

结语

成功其实很简单,就是别人闲的时候你在忙。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值