源码先锋

源码先锋

一分钟物联网:简而不凡的无环境线上开发模式,Mbed 初探

admin 37 165
MbedOS的线上开发模式

有别于传统嵌入式“一人,一机;水平高低,取决于资料库的厚度和熟练度”的离线开发模式,MbedOS非常强调线上和社区协作,因此没有“all-in-one”的离线SDK开发包,所有资源全在网上(外网),建议网络不是很好的码友们直接上4G热点。

MbedOS上手条件,就是没有条件!

如果只是想体验下MbedOS的话,一块“MbedEnable”的开发板足矣!

没有?翻翻抽屉,很可能就躺在那儿落灰呢,主流MCU原厂官方开发版,几乎均有支持,例如:

STMicroNUCLEO系列,DISCO系列

NXP的FRDM系列,LPCXpresso系列

Nuvoton的NuMaker系列等等

引用STM32/STM8社区图片

成为Mbed社区开发者,注册账号是第一步!

注册1

注册2

注册3

注册4

嵌入式嘛,开发板还是要一个的!

这里根据咱们手上的资源,通过搜索或者左侧复选过滤器,从167种"MbedEnable"认证开发板中选择一个或多个使用,不用担心,以后可以随时增减。图例中选择了常见的基于STM32F103RBT6芯片的官方开发板NUCLEO-F103RB。完成并邮件认证后即可开始Mbed之旅。

开发板选择

邮件认证

在线IDE,可以找到很多好东西!

开始新的项目有两种方式,

一种是“Import",搜索社区海量代码,继承他人资产,不怕找不到,就怕选不好!

一种是"New",根据官方模板,创建新的项目

IDE界面

Import导入项目

创建新项目,模板是好东西!

通常开始一个新的项目,最好选择一个官方的模板,这些模板代码是芯片原厂在集成MbedOS之后创建维护的,质量比较有保证。

咱们依旧惯例,选择“闪闪的红星/也许是蓝星”程序模板。

New创建项目

IDE是不是很熟悉

初次看到这样Blinky代码时我的真实感受:"什么鬼?!说好的寄存器操作呢?说好的系统初始化呢?说好的GPIO定义呢?这还他X的是嵌入式程序么?"。这是咱传统嵌入式老鸟的拉伸区,不要因失去掌握的不安而急着否定,看看再说!

云端代码编译,不需要担心电脑慢!

首次代码编译,因为需要对OS所有代码全局编译,所以可能需要花费几分钟。后续增量编译就会快很多了!编译完成后会根据浏览器的配置,自动弹出下载框,可以将代码镜像另行保存。

项目编译

MbedOS代码下载烧写,会用鼠标就行

MbedEnable开发板的特性之一就是板载了DAPLink调试工具。不需要驱动,只要一根USB线,插上电脑就可识别到一个如下图所示的盘符,直接将编译好的镜像文件拖拽或者拷贝其中即可烧录程序。

有人说,这不就是STLink么!前文说到什么来着?STLink就是基于ArmDAPLink开源项目做的二次开发!由此证明,嵌入式开发一定要踩在别人的肩膀上,最好一级一级的踩!

代码运行,闪闪的红星/蓝星!

前面用了在线IDE编译生成了镜像文件,我习惯于在浏览器弹出“另存为”时即选择开发板虚拟的盘符。在一阵下载指示灯狂闪之后,闪烁程序自动运行!

这个丫丫的板子,默认LED竟然是绿色的!!!