factograf
HU
Sign in

Mbed

Az Mbed egy fejlesztőplatform és operációs rendszer internethez csatlakozó eszközökhöz (dolgok internete), amelyek 32 bites ARM Cortex-M processzoron alapuló mikrovezérlők. A projektet az Arm és technológiai partnerei közösen fejlesztették. 2024 júliusa óta az Arm már nem fejleszti aktívan az Mbed-et.

A teljes verzió egy valós idejű operációs rendszer (RTOS), míg a korlátozottabb erőforrásokkal rendelkező eszközöknél lehetőség van egy nem-RTOS alrendszer használatára is.

Fejlesztőkörnyezet

A platformhoz fejlesztőkörnyezet tartozik, ami a következőket foglalja magában:

  • Mbed OS – alapvető operációs rendszer, ami szabványosított API-kat kínál és C/C++ programozási nyelveket támogat
  • Mbed Studio – egy IDE (integrált fejlesztőkörnyezet) ami debug/hibakeresési eszközöket és kódszerkesztőket tartalmaz
  • Mbed CLI – parancssori eszközök

Szoftverfejlesztés

Alkalmazások

Az Mbed alkalmazások fejlesztése elsősorban a „Keil Studio Cloud” Arm online IDE segítségével történhet, amely egy felhőszolgáltatásokat használó fejlesztőkörnyezet az Mbed alkalmazások készítéséhez és fordításához. Az alkalmazások más fejlesztői környezetekkel is fejleszthetők, ilyen például a Keil cég μVision rendszere, az IAR Embedded Workbench, az Arduino IDE és az Eclipse szoftver GCC ARM Beágyazott eszközökkel.

Mbed OS

Az Mbed OS biztosítja az Mbed C/C++ szoftverplatformot és eszközöket az IoT-eszközökön futó mikrovezérlő firmware létrehozásához. Ez alapvető könyvtárakból áll, amelyek a mikrovezérlő perifériáinak illesztőprogramjait, a hálózati működést, az RTOS-t és a futási környezetet, a build eszközöket, valamint teszt- és hibakereső szkripteket biztosítanak. A kapcsolatok biztonságossá tehetők kompatibilis SSL/TLS könyvtárakkal, mint például az Mbed TLS vagy a wolfSSL, amelyek támogatják az Mbed valós idejű operációs rendszert.

Egy komponensadatbázis illesztőprogram-könyvtárakat biztosít a komponensekhez és szolgáltatásokhoz, amelyek a mikrovezérlőkhöz csatlakoztathatók a végtermék felépítéséhez.

Az Mbed OS egy RTOS, ami a Keil cég RTX5 rendszerén alapul.

Verziótörténet

Sorozat állapot első kiadás utolsó kiadás leírás
Mbed 2 („mbedlib” vagy „mbed SDK”) Elavult, de a Keil Studio Cloud továbbra is támogatja 2009. október 8. r163

(2019. feb.)

Az Mbed eredeti kiadássorozata. Kezdetben az Mbed NXP LPC1768 kártyán futott, de hamarosan több gyártó egyéb kártyáihoz is kiterjesztették a támogatást. Nem tartalmazott valós idejű operációs rendszert, és számos általános funkcióhoz közösségi könyvtárakra támaszkodott, mint például a hálózati működés és a szálkezelés.
Mbed OS 3 Elhagyott 15.09

(2015. szeptember)

16.03

(2016. március)

Az Mbed 3.0 az eredeti Mbed kódbázis jelentős átírása volt, azzal a céllal, hogy a dolgok internete (IoT) számára szükséges alapvető funkcionalitást adjanak hozzá a rendszerhez, mint például vezeték nélküli hálózati működés támogatását és a TLS titkosítást. Eseményvezérelt programok írására támaszkodott és nem támogatta a hagyományos többszálúságot, ami korlátozta az elterjedését.

Az Mbed 3.0-ban bevezették az új Yotta nevű build rendszert. Ez lehetővé tette az Mbed lebontását számos egyedi modulra, amelyek mindegyike saját tárolóval rendelkezett. Az Mbed a 3.x kiadási sorozat után ennek használatát megszüntették.

Mbed OS 5.x Elavult, de a Keil Studio Cloud továbbra is támogatja 5.1.0

(2016. augusztus)

5.15.9

(2022. május)

Az Mbed OS 5 az eredeti Mbed 2 kódbázis, az mbed-rtos projekt és az Mbed OS 3.0 egyetlen kódbázisba egyesítésével kialakult kombinált funkcionalitású rendszer, amely széles körű felhasználási lehetőségeket támogat, az alapvető mikrovezérlő funkcionalitástól a vezeték nélküli kommunikációig és a fejlett IoT funkciókig.

Az Mbed OS 5-ben ismét egy újabb egyedi build-rendszert vezettek be, az „Mbed CLI”-t. Egyben visszatért a monolitikus tároló- (repository) szerkezethez, ahol az összes meghajtó és elsődleges funkcionalitás egyetlen Git tárolóba van integrálva.

Mbed OS 6.x Elhagyott 6.0.0

(2020. június)

6.17.0

(2023. feb.)

Az Mbed OS 6 egy fokozatosabb változás volt az Mbed OS 5.-hez képest. Többféleképpen átszervezte és tisztította a kódbázist, például elavulttá tette a régi API-kat és átalakította a könyvtárstruktúrát a kód logikusabb csoportosítása érdekében. Emellett lecsökkentette a támogatott alaplapok listáját, a hangsúlyt kisebb számú céleszközre koncentrálva, amelyeknél az ARM aktív kapcsolatban állt a gyártóval.

Az Mbed OS 6 továbbra is támogatja az Mbed CLI build rendszert, de a későbbi változatok már támogatják az újabb „Mbed CLI 2” build rendszert is. Ez a build rendszer módosított CMake szkripteket használ az Mbed fordításához, egy Python burokkal, amellyel a felhasználók interakcióba léphetnek. Az ARM Clang fordító támogatása érdekében ebben a build rendszerben, az ARM elkészítette a CMake egy portját az ARM Clanghoz.

2024 július 9-én az Arm bejelentette, hogy „ 2026 júliusában az Mbed platform és OS eléri az életciklusa végét...” és „az Arm már leállította az aktív karbantartást és a CI-t az Mbed OS kódbázison. 2026 júliusáig nem várhatók javítások vagy fejlesztések. 2026 júliusa után a kódbázis archiválásra kerül a GitHub-on.”

Hardverfejlesztés

mbed NXP LPC1768
mbed NXP LPC1768

Demókártyák

Különböző hardveres demókártyák léteznek az Mbed platformhoz, melyek közül az első az eredeti Mbed mikrovezérlő kártya (panel). Az Mbed mikrovezérlő kártya (amelyet „mbed NXP LPC1768” néven forgalmaztak) egy NXP mikrovezérlőn alapuló demókártya, amelyben egy 96 MHz-en futó ARM Cortex-M3 mag található, 512 KiB flashmemóriával, 32 KiB RAM-mal és számos interfésszel, közöttük Ethernet, Universal Serial Bus eszköz, CAN, SPI, I2C és más be-/kimeneti interfészekkel. Az Mbed mikrovezérlő első díjat kapott az EDN (magazin) éves Innovation Awards „Szoftver / beágyazott eszközök” kategóriájában 2010-ben.

A kártyának különböző változatai jelentek meg, NXP LPC2368 (ARM7TDMI-S), NXP LPC1768 (Cortex-M3), NXP LPC11U24 (Cortex-M0) mikrovezérlőkkel.

HDK

Az Mbed hardverfejlesztő készlet (HDK) OEM-eknek készült, és információt nyújt az Mbed OS-t támogató egyedi hardverek építéséhez. Tartalmaz interfész firmware-t és kapcsolási rajzokat, amelyek elősegítik fejlesztőkártyák készítését, OEM modulokat és újraprogramozható, gyártásra kész termékeket is.

Projektfejlesztés

A projektet az Arm fejleszti, más nagy technológiai vállalatokkal közösen és az Mbed fejlesztő közösséggel együttműködve. A fejlesztés és a közreműködés különböző szinteken történik:

  • Alap platform – a központi szoftver platform, amelyet az alapvető közreműködők és partnercégek fejlesztettek ki, és amelyet az Mbed csapata kezel és tart karban. Ezt az alapvető platformot az Apache Licenc 2.0 alatt fejlesztik egy közreműködői megállapodás alapján. Magában foglalja a platform által biztosított összes alapvető generikus szoftverkomponenst, valamint a HAL portokat, amelyek lehetővé teszik, hogy az Mbed transzparens módon fusson különböző gyártók mikrovezérlőin és az eszközkészlet portokat, amelyek lehetővé teszik a fejlesztést különböző beágyazott eszközláncok használatával.
  • Komponensadatbázis – a cégek és a tágabb közösség által fejlesztett könyvtári komponensek, amelyek támogatást nyújtanak a végberendezések építéséhez szükséges perifériás komponensekhez, érzékelők, rádiók, protokollok és felhőszolgáltatások API-jaihoz. Ezeket (ajánlott módon) az Apache License 2.0 alatt, vagy más, az alkotók által választott licencek alatt biztosítják, támogatást az egyedi cégek és a fejlesztői közösség tagjai nyújtanak hozzájuk.

Fejlesztőeszközök

Az Mbed OS életciklusa során számos különböző fejlesztőeszközt támogatott.

Mbed Online Compiler (2022-től elavult)

Az Mbed platformhoz készülő alkalmazások az Mbed online IDE segítségével fejleszthetők, amely egy ingyenes online kódszerkesztő és fordító. Használatához csak egy webböngésző szükséges a helyi számítógépen, mivel a projektek fordítása a felhőben, azaz egy távoli szerveren történt, az ARMCC C/C++ fordító segítségével. Az Mbed IDE privát munkaterületeket biztosított, import, export és kódmegosztási képességgel Mercurial elosztott verziókezelővel, és kóddokumentáció generálására is használható volt.

Az Mbed Online Compiler nem tartalmazott hibakeresési (debug) funkciókat, és egy olyan fejlesztési ciklusra támaszkodott, amelyben a felhasználók.bin fájlként letöltik a lefordított/futtatható kódjukat, azután kézzel másolják egy Mbed kártyára (amely USB flash meghajtóként jelenik meg).

Az Mbed Online Compilert 2023. március 1-én leállították, és a Keil Studio Cloud váltotta fel.

Mbed CLI

Az Mbed OS offline fejlesztésének elősegítésére az ARM kibocsátotta az Mbed CLI-t, amely egy parancssoros környezet. Ez egy Python csomag, ami lehetővé teszi Mbed OS programok parancssorból történő létrehozását, importálását és lefordítását. Külső Git tárolókkal és az Mbed könyvtártárolóval is integrálódik, vannak parancsai a könyvtárak letöltéséhez és frissítéséhez távoli forrásokból.

Az Mbed CLI belsőleg két különböző kódbázisból áll. A mbed-cli pip csomag, amely az ‘mbed’ parancsot kínálja, frontendként működik amely fogadja a felhasználó parancsait és képes letölteni az Mbed OS-t és a könyvtárakat. Az Mbed és a szoftverek fordításához az mbed-cli frontend meghívja az mbed-os repositoryban található build tool szkripteket. Ezek a szkriptek felelnek a helyes fordítási beállítások meghatározásáért és a fordító és a linker végrehajtásáért.

Az összetett build eszköz karbantartásának nehézségei miatt az Mbed OS fejlesztői befagyasztották az szoftver forráskódját, és a könnyebben kezelhető Mbed CLI 2 létrehozására fókuszáltak.

Mbed Studio

Az Mbed Studio egy asztali IDE, kifejezetten az Mbed OS-hez tervezve. Az első, 2019. februárjában kibocsátott Mbed Studio jobb szerkesztési élményt nyújtott, mint az online fordító, rendelkezik intelligens kódkiegészítés és debug funkcionalitással. Az online fordítóhoz hasonlóan, beépített támogatást tartalmaz új Mbed projektek létrehozásához és a szükséges könyvtárak és függőségek közvetlenül a Git tárolókból és az Mbed saját könyvtár-tárolójából történő deklarálásához.

Az Mbed Studio C/C++ fordítója számára az Arm Compiler 6-ot használja, amelyet az ARM speciálisan az IDE-be való beépítésre licencelt. A hibakeresési funkciókhoz az Mbed Studio a pyOCD debug bridge szoftvert használja, és csak az abban támogatott eszközökön tud hibát keresni. Maga az IDE az Eclipse Theia-n alapul, és úgy tervezték, hogy könnyen adaptálható legyen webböngészőben való futtatáshoz – ez a projekt jelent meg később Keil Studio Cloud néven. Az Mbed Studio kezdetben kezdetben Windows és Mac hoszt platformokon működött, majd később Ubuntu Linuxra is portolták, az 1.0-s verzió kiadásával 2020 júniusában.

Keil Studio Cloud

Az Mbed Online Compilerhez hasonlóan a Keil Studio Cloud lehetővé teszi az Mbed OS alkalmazások fejlesztését, fejlesztőeszközök telepítése nélkül a helyi gépen. Ugyanakkor számos további funkciót támogat, mint a továbbfejlesztett intelligens kódkiegészítés és a beépített Git-es verziókezelés. Az Online Compilerrel ellentétben a Keil Studio Cloud képes a feltöltésre a támogatott Mbed kártyákra és a hibakeresésre közvetlenül a böngészőből, a WebUSB funkcionalitás segítségével. Ez lehetővé teszi a valóban egy kattintással történő, az asztali IDE-k által kínált módszerekhez hasonló buildelést és debug tevékenységet. Ugyanakkor ez a funkció nem támogat minden Mbed kártyát vagy hibakeresési próbaverziót.

Fordítás

Ez a szócikk részben vagy egészben a Mbed című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Read next

In 9 languages

Text from Wikipedia, CC BY-SA 4.0 · Source article