0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ARM公司低調(diào)升級Mbed_為物聯(lián)網(wǎng)應(yīng)用做準(zhǔn)備

電子工程師 ? 作者:工程師陳翠 ? 2018-06-16 12:38 ? 次閱讀

最近,ARM公司低調(diào)的發(fā)布了Mbed OS 5.1,將Mbed再次進(jìn)行了升級,為今后的物聯(lián)網(wǎng)應(yīng)用做好準(zhǔn)備。

大家知道,在嵌入式領(lǐng)域,現(xiàn)在ARM內(nèi)核的芯片是主流,ARM公司將它的內(nèi)核授權(quán)給其他芯片公司,制造出各種不同的MCU,如ST的STM32、TI的 Sitara? Processors、NXP的Kinetis系列和LPC系列等,幾乎除了Microchip公司外,其他生產(chǎn)MCU的廠家都有ARM內(nèi)核的芯片,包括 現(xiàn)在很多國產(chǎn)的芯片公司也開始提供ARM內(nèi)核的微控制器了。

現(xiàn)在ARM內(nèi)核的芯片非常多,不同廠家現(xiàn)有的型號可能有上千種,每年還在推出很多新的型號。但是開發(fā)ARM芯片不像以前的8x51那樣,只要一個通用的匯 編或者Keil C51軟件就可以完成開發(fā)。因?yàn)锳RM芯片比51復(fù)雜太多,所以現(xiàn)在基本上每個廠家都為自己的芯片提供了專用的函數(shù)庫,提供了芯片的底層模塊驅(qū)動,方便開 發(fā)者快速進(jìn)行開發(fā)。

比如,開發(fā)ATMEL的程序,一般我們使用Atmel Studio作為IDE,并使用Atmel自己的ASF( Atmel? Software Framework)進(jìn)行開發(fā),使用ASF提供了各種庫函數(shù)和驅(qū)動,實(shí)現(xiàn)芯片的底層功能。ASF的功能很強(qiáng),除了提供芯片的大部分底層模塊驅(qū)動,還提供了 一些高級的應(yīng)用模塊(如USB),可以加快開發(fā)速度。Atmel的大部分芯片都可以使用ASF進(jìn)行開發(fā),ASF不但代碼效率高,而且移植性較好,很多函數(shù) 在不同芯片中的名稱和用法是一樣的,這給程序的移植帶來了方便。

但是現(xiàn)在的芯片實(shí)在太多太復(fù)雜,也各有特色,那么就有一個比較大的問題,就是大家不可能每種芯片都去學(xué)習(xí),等學(xué)習(xí)好了在去使用。我們也很難只去使用一個廠 家的芯片,不去使用性能更好、功能更豐富,更加適合項(xiàng)目應(yīng)用的芯片。例如因?yàn)槟硞€項(xiàng)目,我們需要將STM32的程序或者NXP的程序移植到ATMEL的 MCU上,雖然它們都是ARM內(nèi)核的芯片,但是因?yàn)?a href="http://srfitnesspt.com/tags/寄存器/" target="_blank">寄存器各不相同,庫函數(shù)也不相同,程序是不能簡單的直接移植過來運(yùn)行的。

針對這個情況,同時也是為了適應(yīng)新的物聯(lián)網(wǎng)時代的變化,ARM提供了一個全新的開發(fā)方式:MBed。Mbed包括了云服務(wù)、客戶端、Mbed OS等幾大部分。

對于傳統(tǒng)的嵌入式工程師,Mbed OS是最直接有幫助的,它提供了許多有用的組件。Mbed OS是由Mbed Drivers、Mbed Online IDE、HardwareComponents、Libraries等部分組成。Mbed Drivers提供了簡單易用的API,讓控制器內(nèi)部的各種模塊起來非常簡單;而Mbed Online IDE提供了一個在線開發(fā)環(huán)境,只要通過瀏覽器就可以開發(fā)程序,無需在計(jì)算機(jī)上安裝開發(fā)軟件;Hardware Components、Libraries提供了各種硬件、傳感器的庫,使用起來比Arduino更加容易。

使用Mbed開發(fā),可以加速和簡化開發(fā)工作,降低開發(fā)難度,讓復(fù)雜的底層驅(qū)動變得非常簡單,同時保證了程序的可移植性,無論使用哪種芯片(需要是能夠被所Mbed支持),同樣的外設(shè)功能都可以使用相同的用法。

下面就簡單介紹使用Mbed開發(fā)程序,并和ATMEL傳統(tǒng)的開發(fā)方式相比。

首先我們需要到Mbed網(wǎng)站上注冊一個賬號,這樣才能使用它的Online IDE(在線開發(fā)環(huán)境)和其他資源。然后在Mbed的開發(fā)平臺中(https://developer.mbed.org/platforms/?pvend=42),我們可以看到已經(jīng)有4種型號的芯片支持Mbed了,這也是比較有代表性的幾個型號:

AT SAMR21-XPRO AT SAMW25-XPRO AT SAML21-XPRO-B AT SAMD21-XPRO

我們以AT SAMR21為例,先在Online IDE中創(chuàng)建一個新程序,使用BlinkyLED Hello World模塊。

創(chuàng)建后打開主程序,可以看到如下代碼:

#include“mbed.h”

DigitalOutmyled(LED1);

intmain() {

printf(“RESET”);

while(1) {

myled = 1;

wait(0.2);

myled = 0;

wait(0.2);

printf(“TEST”);

}

}

使用GPIO作為數(shù)字方式輸出,只要將它定義為DigitalOut,輸出高低電平直接直接將它賦值為1或0,既直觀,又簡潔。作為對比,在ASF的Delay例程中,是這樣使用的:

#include

intmain(void)

{

system_init();

delay_init();

struct port_config pin;

port_get_config_defaults(&pin);

pin.direction = PORT_PIN_DIR_OUTPUT;

port_pin_set_config(LED0_PIN, &pin);

port_pin_set_output_level(LED0_PIN,LED0_INACTIVE);

while (true) {

for (int i = 0; i 《 5; i++) {

port_pin_toggle_output_level(LED0_PIN);

delay_s(2);

}

}

兩者對比,Mbed的方式無疑更加簡單方便,更適合初學(xué)者。而且Mbed的程序可以非常容易的在Mbed支持的芯片上移植,因?yàn)橛梅ǘ际且粯拥模簿褪钦f在 STM32、NXP、Silabs、Nordic等芯片上,都可以使用相同的代碼(只是GPIO的名稱不同),這樣就可以極大降低了程序移植的難度。例 如:

在nordic nRF1822上:

DigitalOut myled(p18);

在STM32F030上:

DigitalOut myled(PA_5);

在KL25Z上:

DigitalOut myled(PTB18);

上面是GPIO的數(shù)字輸出功能,其他功能也是類似的,如:

數(shù)字輸入就是:DigitalIn

雙向GPIO:DigitalInOut

總線方式輸出:BusOut

端口輸出:PortOut

中斷輸入:InterruptIn

模擬輸入:AnalogIn

模擬輸出:AnalogOut

PWM:PwmOut

定時器:Ticker

串口:Serial

SPI和I2C:SPI/I2C

……

簡單的程序可以直接在Online IDE中開發(fā),復(fù)雜的程序,使用Online IDE就不夠方便了,這時可以將程序?qū)С鰜?,使用Atmel Stduio或者Keil進(jìn)行開發(fā)。

注:要在SAMR21-XPRO上使用Mbed的完整功能,需要升級開發(fā)板的固件,安裝最新版本的AS7,并連接開發(fā)板時,會自動更新開發(fā)板固件的。

傳統(tǒng)嵌入式和單片機(jī)的開發(fā),深入學(xué)習(xí)并掌握一種或數(shù)種芯片的用法后,就可以解決很多問題,完成一些項(xiàng)目。但是在物聯(lián)網(wǎng)時代,芯片硬件本身將越來越被弱化, 開發(fā)者對硬件底層的關(guān)注越來越少,大家更加側(cè)重于應(yīng)用層,怎樣快速實(shí)現(xiàn)多變的應(yīng)用需求成為主要矛盾,這時傳統(tǒng)的開發(fā)方式就不太容易滿足要求,而且隨著芯片 性能的提升和價格的降低,開發(fā)工具在芯片的選型時帶來的影響也越來越大,各種快速便捷的開發(fā)方式將越來越多,幾分鐘就能開發(fā)一個應(yīng)用將變?yōu)榭赡堋?/p>

當(dāng)然現(xiàn)在的Mbed也還不夠完善,部分外設(shè)驅(qū)動還沒有完成,支持的芯片種類也不夠多,代碼的執(zhí)行效率也沒有原生庫函數(shù)高。但是它為程序的通用性、模塊化開 發(fā)帶來很多便利,為今后的圖形化開發(fā)、積木式開發(fā)提供了可能。就像C語言取代匯編成為嵌入式主流開發(fā)語言一樣,Mbed這樣的開發(fā)方式也會逐漸成為嵌入式 開發(fā)的趨勢。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9008

    瀏覽量

    366072
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43793

    瀏覽量

    369154
收藏 人收藏

    評論

    相關(guān)推薦

    ARM mbed平臺再添助力 催化聯(lián)網(wǎng)發(fā)展

    ARM mbed平臺再添新開發(fā)資源。繼支援無線區(qū)域網(wǎng)路(Wi-Fi)、藍(lán)牙(Bluetooth)、全球衛(wèi)星定位系統(tǒng)(GPS)等無線通訊技術(shù)之后,ARM針對
    發(fā)表于 05-05 09:18 ?1261次閱讀

    谷歌新系統(tǒng)并不是要取代Android,是聯(lián)網(wǎng)做準(zhǔn)備

    其實(shí)更多的科技界人士認(rèn)為,谷歌新開發(fā)的Fuchsia系統(tǒng)更傾向于打響之后的聯(lián)網(wǎng)戰(zhàn)役做準(zhǔn)備
    發(fā)表于 08-19 08:57 ?1172次閱讀

    TrustZone走進(jìn)MCU,ARM安全聯(lián)網(wǎng)奠定基礎(chǔ)

    未來萬互聯(lián)的前景雖然令整個業(yè)界憧憬,但也不乏有人擔(dān)心安全問題,但隨著ARM宣布TrustZone技術(shù)拓展至Cortex-M系列MCU,以及mbed云增添到ARM
    發(fā)表于 11-14 18:44 ?1717次閱讀

    ARM寄予厚望的mbed平臺有了什么變化?

    實(shí)際上,ARM聯(lián)網(wǎng)野心早已不是什么秘密,從2014年ARM推出mbed平臺開始,這家IP公司
    發(fā)表于 12-07 14:49 ?1479次閱讀
    <b class='flag-5'>ARM</b>寄予厚望的<b class='flag-5'>mbed</b>平臺有了什么變化?

    Mbed Edge和聯(lián)網(wǎng)網(wǎng)關(guān)

    Mbed Cloud的聯(lián)網(wǎng)設(shè)備管理功能現(xiàn)已擴(kuò)展,支持配置 Mbed Edge的聯(lián)網(wǎng)網(wǎng)關(guān)實(shí)現(xiàn)設(shè)
    的頭像 發(fā)表于 11-07 11:25 ?6987次閱讀
    <b class='flag-5'>Mbed</b> Edge和<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>網(wǎng)關(guān)

    ARM?mbed OS入門開發(fā)(一)介紹篇

    轉(zhuǎn)ARM?mbed OS入門開發(fā)(一)介紹篇注:個人認(rèn)為mbed將底層驅(qū)動封裝,是以后單片機(jī)和聯(lián)網(wǎng)開發(fā)的主流方式,但現(xiàn)在教材太少,唯一的一
    發(fā)表于 10-10 09:05

    跟資深技術(shù)大牛學(xué)ARM mbed操作系統(tǒng)開發(fā)

    與云技術(shù)公司,以及希望通過技術(shù)、工具與服務(wù)加快聯(lián)網(wǎng)系統(tǒng)創(chuàng)建與部署創(chuàng)新的組件制造商、系統(tǒng)集成商以及原始設(shè)備制造商。mbed OS是專門基于 ARM
    發(fā)表于 05-22 10:22

    淺析Mbed Edge和聯(lián)網(wǎng)網(wǎng)關(guān)

    Mbed Cloud的聯(lián)網(wǎng)設(shè)備管理功能現(xiàn)已擴(kuò)展,支持配置 Mbed Edge的聯(lián)網(wǎng)網(wǎng)關(guān)實(shí)現(xiàn)設(shè)
    發(fā)表于 07-22 07:10

    新唐ARM mbed平臺

    ARM? mbed? 聯(lián)網(wǎng)設(shè)備平臺基于ARM微處理器,能夠最短的時間創(chuàng)建支持商用與互操作的互聯(lián)
    發(fā)表于 09-18 09:05

    ARM Artisan聯(lián)網(wǎng)POP IP是什么?

    ;*** CryptoCell技術(shù)有助于強(qiáng)化安全SoC設(shè)計(jì);采用ARM Cordio? radio IP的完整無線解決方案,支持802.15.4 和Bluetooth? 5;通過ARM mbed? Cloud,云服務(wù)能夠支持
    發(fā)表于 10-23 08:21

    ARM mbed Cloud 來了!

    ARM發(fā)布了全新的聯(lián)網(wǎng)設(shè)備管理解決方案 mbed Cloud。mbed Cloud 能夠安全而高效地簡化任何物
    發(fā)表于 11-21 13:36 ?1211次閱讀

    Arm推出Mbed Edge 延伸Mbed Cloud設(shè)備管理能力到聯(lián)網(wǎng)邊緣

    2017年11月6日,中國上?!?b class='flag-5'>Arm宣布推出Mbed Edge,進(jìn)一步拓展Mbed Cloud的設(shè)備管理能力,在邊緣側(cè),即聯(lián)網(wǎng)網(wǎng)關(guān)上實(shí)
    的頭像 發(fā)表于 11-07 10:50 ?8507次閱讀

    Arm推出Arm Mbed Cordio協(xié)議棧,助力釋放聯(lián)網(wǎng)

    Arm推出Arm Mbed Cordio協(xié)議棧——全球首款開源、高可靠(fully-qualified)量產(chǎn)就緒低功耗藍(lán)牙軟件協(xié)議棧。憑借低功耗藍(lán)牙的強(qiáng)大連接性,該產(chǎn)品可為開發(fā)人員開發(fā)全新
    的頭像 發(fā)表于 10-07 19:37 ?6161次閱讀

    焦點(diǎn)芯聞丨 IPO 做準(zhǔn)備!Arm 董事會引入高通和英特爾前高管

    熱點(diǎn)新聞 1、 IPO 做準(zhǔn)備!Arm 董事會引入高通和英特爾前高管 軟銀集團(tuán)旗下芯片設(shè)計(jì)公司 Arm 已將高通前首席執(zhí)行官保羅?雅各布斯
    的頭像 發(fā)表于 12-01 19:10 ?773次閱讀

    公用事業(yè)公司如何為 EVSE 做準(zhǔn)備

    公用事業(yè)公司如何為 EVSE 做準(zhǔn)備
    的頭像 發(fā)表于 01-04 11:17 ?529次閱讀