• UID1571
  • 登录2018-07-20
  • 粉丝5
  • 发帖140
  • 科研点数0点
优异服役勋章
耕耘者十字勋章
zt07elecfreaks 发布于2018-01-22 14:37
0/347

用mbed来点亮你的micro:bit

楼层直达

mbed来点亮你的micro:bit

One of the coolest features of the micro:bit is its ability to be programmed with a number of languages:
· Microsoft MakeCode block editor — Similar to Scratch and Blockly, users can drag and drop blocks to create programs. Teachers, especially, have experienced success using block-based programming languages in schools and clubs, including elementary schools.
· JavaScript — As it turns out, the block editor in MakeCode is interpreted to JavaScript on the back end. If you click “JavaScript” at the top of the page in MakeCode, you can see and edit the JavaScript version of your program.
· MicroPython — MicroPython is a subset of the Python language and was developed specifically for microcontrollers. If you’re not a fan of online editors, I’ve had success with the mu editor for creating MicroPython programs.
· C++ — The micro:bit is mbed-enabled, which means programs are compiled to a .hex file that you copy and paste into the root directory of the micro:bit, which enumerates as a mass storage device on your computer. It’s a pretty seamless and slick process, and if you want to get your hands dirty with C++, you can use the mbed “Compiler” editor to write code for the micro:bit.
以上这段是来自于sparkfunmicro:bit 的介绍,详情请见:https://www.sparkfun.com/news/2356
文章提到了我们可以用C++为micro:bit编程,然而,我这几天找遍了全网,也没能找到一个用C++给micro:bit编程的案例,这给不熟悉MicroPython的小伙伴造成了极大的困然。今天,我要写一个用C++给micro:bit编程的案例,利用mbed来编写micro:bithello world”程序。首先,我们来一起了解一下什么是mbed。


1. mbed是什么?
mbed是一个面向ARM处理器的原型开发平台,它具体包括免费的软件库(SDK),硬件参考设计(HDK)和在线工具(Web)三部分内容,各个部分的具体介绍如下:
SDK:mbed设计了一个硬件抽象层,从而屏蔽了不同mcu厂商提供了微处理之间的差异,对于用户来说,他只需要和这个硬件抽象层打交道即可,也就是说,用户基于mbed开发的应用可以很方便地更换使用不同厂商的arm微处理器,从而留给用户更多的选择。
HDK: HDK是mbed提供的硬件参考设计,它是面向用户开发设计的,所以HDK提供了统一了程序上载接口,单步调试接口,串口调试接口,用户无需购买其它硬件就可以开始软件开发工作。
WEB:为了省去用户开发环境安装的麻烦,mbed提供了一个完备的基于浏览器的微处理器软件开发环境,包括代码编写,程序编译,版本控制等功能,用户只要上网就可以开发,编译结果只要下载保存到mbed开发板上即可工作,非常方便。
简单来说,mbed就是一个开放平台,一个基于ARM Cortex-M系列的单片机开发平台。

2. mbed有什么优势?

如果你是一个仅有一点开发技术的人,比如会一点C或一点Java,对硬件也是粗略了解一些,那么MBED技术将很快让你进行硬件开发(网上号称60秒让你完成嵌入式编程开发)。
如果你在做硬件原型设计,有不同的芯片去让你选择,或者是对外围的一些器件进行测试研究,那么采用MBED技术将让你这份工作变的轻松简单。
ARM MBED是一个什么样的技术呢?简单的说,它有两点特色,这两点特色分别对芯片提供商(或者说开发板提供商)、软件开发者提供了便利。
第一就是CMSIS,CMSIS就是ARM指定的一套接口框架,通过它,可以屏蔽各家芯片操作的差异。所以针对芯片厂家来说,仅需要实现这些规定的接口就可以了。
第二,对嵌入式开发来说,开发环境的搭建是一个耗时耗力的过程,能成功编写和调试第一个程序,犹如孩子出生一样,不经过一番挣扎和摸索是很难顺利完成的。而MBED技术是一套基于云计算的网页编译工具,可以在Windows、Linux、Mac等各种可以网页浏览的设备上进行编程。所以不需要安装调试工具,只要选好指定的开发板,就立即可以进行编程,编译后直接生成一个bin文件,直接烧写到设备即可运行。
另外的一个优势,由于用户是基于CMSIS的框架接口开发,所以理论上将,你可以很顺利地开发各种厂家的芯片(前提是相关芯片厂商已经提供了CMSIS的支持),不再向以前一样更换不同厂家的芯片是件难以抉择的事。
作为物联网开发来说,你通过AD、串口、SPI、I2C、USB、CAN甚至是以太网接口,用MBED技术很容易把各种传感器数据采集到Cortex-M0/M3设备,采集完毕后,另外一个最重要的环节,就是数据上传。而这一步,就是ARM收购的公司Sensinode的技术优势所在了。

3. mbed支持的开发板
目前在mbed网站上,可以查到支持的开发板平台,包括意法半导体、飞思卡尔、恩智浦、瑞萨等,当然,也包含BBC micro:bit。

4. 如何使用mbed
ARM mbed IDE是一款在线开发工具,网址:http://developer.mbed.org/。网站提供了在线编译器,不需要本地安装编译器就可以开发;也不必不断升级编译器的版本,更没有地点和时间的限制,只要能上网,随时随地可以进行开发。

下面,我们就来一步步讲解下如何利用mbed来编写我们的第一个micro:bit程序。

ARM mbed IDE是一款在线开发工具,其网址是:https://developer.mbed.org/
mbed的使用必须先注册一个账号,在此账号下才可以进行开发。

登陆网站,点击 Login or signup


点击Signup


注册成功后,重新登陆,点击Compiler,进入在线编译器界面


导入开发板平台,mbed支持的开发板平台比较多,这里我们选择microbit,点击编译器右上角图标


选择开发板平台,点击 Add Platform


这里我们选择BBC micro:bit进行添加

选择后,点击 Add to your mbed Compiler


添加后,重新进入在线编译器,就能看的已经开发平台已经添加进来,选择即可



My Programs 处右键选择New Program


Template中,我看看到系统为我们提供了几个示例,选择第一个


进行编译




编译完成后,把生成的.HEX文件另存到micro:bit所在的盘符。

完成以上所有步骤后,我们就能看到micro:bit左上角的LED灯在闪烁。

mbed的强大之处在于它高度兼容并且易于使用的库关于库的使用,请参考我们后续教程


https://www.elecfreaks.com/9087.html
您需要登录后才可以回帖
发表回复

杩斿洖椤堕儴