mbed介绍——ARM最新面向IOT的RTOS与平台

文章为本人原创,转载请注明:http://blog.csdn.net/guo8113/article/details/40479303

mbed是什么

mbed是一个面向ARM处理器的原型开发平台(mbed的官方站点:http://mbed.org/)。它详细包含免费的软件库(SDK),硬件參考设计(HDK)和在线工具(Web)三部分内容,各个部分的详细介绍例如以下:

SDK:mbed设计了一个硬件抽象层,从而屏蔽了不同mcu厂商提供了微处理之间的差异,对于用户来说,他仅仅须要和这个硬件抽象层打交道就可以。也就是说,用户基于mbed开发的应用能够非常方便地更换使用不同厂商的arm微处理器。从而留给用户很多其它的选择。

HDK:HDK是mbed提供的硬件參考设计。它是面向用户开发设计的,所以HDK提供了统一了程序上载接口,单步调试接口,串口调试接口,用户无需购买其他硬件就能够開始软件开发工作。

WEB:为了省去用户开发环境安装的麻烦。mbed提供了一个完备的基于浏览器的微处理器软件开发环境,包含代码编写,程序编译,版本号控制等功能,用户仅仅要上网就能够开发,编译结果仅仅要下载保存到mbed开发板上就可以工作,很方便。

mbed的由来

平台的创建以及他们的广泛创新带来了web2.0和智能手机的变革。

物联网得跳跃性与复杂性再加上他们对规模的要求,嵌入式开发必须也进入平台时代。ARM公司近日推出了全新的软件平台和免费操作系统,简化和促进物联网(IOT)设备的创建和部署。
ARM mbed物联网设备平台环绕着开放性标准基础搭建,将会带来互联网协议、安全和标准化的统一管理解决方式,并尽可能的减少设备成本和功耗。

mbed的roadmap例如以下图:

mbed OS的架构

mbed比Arduino好吗

这不是一个简单可以回答的问题,不论什么事物都有自己的应有范围,所以我们不能简单地说mbed比Arduino好,或者Arduino比mbed好,它们都有自己的生命周期和应用领域,我既在Arduino上作过深入开发,也对mbed做了仔细的了解,我综合给出的对照结果例如以下:

对照项目  Mbed  Arduino 
开发简单应用  方便  非常方便 
开发复杂应用  方便  非常不方便 
SDK代码的可读性  复杂 简单 
总体功能  强大  一般 
性价比  高  低 
硬件选择范围  广泛  有限 
第三方资源  丰富  非常丰富 
用户基础  广泛  很广泛 

mbed相关资源

官网http://mbed.org/

Mbed中国:http://mbed.smeshlink.com/

Handbook及其它资源:https://developer.mbed.org/handbook/Homepage

知识来源于FRDM-KL25Z开发板更新固件包。

眼下有非常多Demo板支持mbed平台的开发应用:https://developer.mbed.org/platforms/

宋宝华的博客:http://blog.csdn.net/21cnbao/article/details/39755793

mbed的更多相关文章

  1. mbed学习之 PWMOUT

    PWM通过一个周期内不同占空比来表征模拟量,应用非常广泛.mbed中提供了一个PWM类,来对PWM进行操作,可以分别设置占空比,周期,以及脉冲宽度. 因为这里是使用单片机内部TIM来生成PWM波的,所 ...

  2. mbed学习之Digital IO (一)

    mbed的IO操作非常灵活,常见的关于Digital IO操作整理如下表 ,其中蓝色字体是构造函数,绿色字体的是操作符重载,使用时只要创建对象,就可以调用对应的方法来操作,并且每种都提供了操作符重载, ...

  3. 移植mbed到目标板

    上一篇我们导出了mbed基本环境到mdk,根据实际目标还需要做些修改.手头的硬件是ebox平台,芯片STM32F103C8T6,调试器jlink,默认使用UART1. 导出时所选择的NUCLEO-F1 ...

  4. 基于MDK的mbed工程建立

    个人更喜欢mdk作为IDE来编写代码,而mbed作为一个开源项目,有大量优秀代码可以借鉴使用,今后一段时间都会主要看mbed平台的代码以及国内ebox平台代码         1  首先登陆mbed在 ...

  5. [视频]ARM告诉你物联网怎么玩,mbed 6LoWPan demo

    该视频演示了基于arm mbed的物联网设备间的6LoWPAN应用,如连接家里的土壤湿度传感器,灯光控制,安防联动等应用. 演示视频       原创文章,转载请注明: 转载自 http://www. ...

  6. ARM公布“物联网”嵌入式mbed OS系统软件平台

    继ARM公司发布了为嵌入式微控制器设计的Cortex-M7架构处理器,ARM又公布了专为廉价低功耗“物联网”设计的新版软件及系统平台,以加速物联网设备的发展及部署.该软件为基于ARM现有Cortex- ...

  7. mbed OS - ARM关于物联网(IoT)的战略布局

    关于IoT 在刚刚过去的ARMTECHCON2014(Santa Clara Convention Center)第1天会议,首要的keynote就是ARM针对建立物联网(InternetOf Thi ...

  8. mbed 初试(LinkNode 板卡)(2016-04-21)

    前言 感谢论坛,感谢 LinkSrite,论坛活动申请了一个 LinkNode,体验了一下 mbed. 翻看完官方 wiki,大概了解了一下 mbed 的开发,然后做了 blink 和 pwm 的测试 ...

  9. mbed列--基于飞思卡尔FRDM KL25Z鼠标设计的高速实现

    ========================================================== 原创文章转载请注明:blog.csdn.net/guo8113 ========= ...

  10. The STM32F746G-DISCO discovery board -- MBED

    https://developer.mbed.org/platforms/ST-Discovery-F746NG/ Microcontroller features STM32F46NGH6 in T ...

随机推荐

  1. 使用串口终端安装AIX操作系统

    使用串口终端安装AIX操作系统 一.配置超级终端 首先,配置超级终端:在笔记本电脑上(Windows XP系统),点击开始à程序->附件->通讯->超级终端,配置名称为test的超级 ...

  2. RabbitMQ(三) 集群配置

    RabbitMQ--集群配置 之前不管是搞Redis.SQL.Mongo还是其他的东西,一律都没说过集群要怎么搞,电脑实在是带不动.说透彻点就是懒,懒得搭也懒得写,今日深刻意识到错误,做学问是不能懒的 ...

  3. Centos 6 搭建邮箱服务器教程

    Centos 6 搭建邮箱服务器主要是是包括了Postfix, Dovecot和 MySQL了,下文我们详细的为各位介绍Centos 6 搭建邮箱服务器教程(Postfix, Dovecot和 MyS ...

  4. springmvc-servlet.xml(springmvc-servlet.xml 配置 增强配置)

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  5. Mvc NuGet 数据迁移

    网上有很多的ef  code first 的使用的方式,很乱,下面是我自己整理出来的,有什么不正确的地方还请指正,本人菜鸟一枚! 1.新建一个类库 =>引用 右击 管理NuGet程序包 添加En ...

  6. JavaScript与jquery的对比

      javascript jQuery 入口函数 只能有一个,如果有多个,后面的会覆盖前面 可以有多个,并且不会发生覆盖的情况 代码容错性 代码容错性差,代码出现错误,会影响到后面代码的运行. 代码容 ...

  7. 1) 十分钟学会android--建立第一个APP,创建android项目

    一个Android项目包含了所有构成Android应用的源代码文件. 本小节介绍如何使用Android Studio或者是SDK Tools中的命令行来创建一个新的项目. Note:在此之前,我们应该 ...

  8. MVC:@RenderBody、@RenderPage、@RenderSection用法

    本文导读:在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.模板页:@RenderBody()占位符:局部页面:@RenderP ...

  9. 【Oracle】利用trace文件重建控制文件

    重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...

  10. 杭电 2035 人见人爱A^B【同余】

    #include<stdio.h> int main() { int a,b; int s; int i; while(scanf("%d %d",&a,&am ...