ARM Cortex magú mikrovezérlők mbed Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2016
MBED webes fejlesztőkörnyezet 2009-ben megjelent eredetileg web-es fejlesztőkörnyezet Gyorsan magas szintű alkalmazás összerakása Web-es fejlesztőkörnyezet NXP LPC sorozatú mbed-ek BME-MIT 2016 2.
MBED most 2013-ban kinyitják a platformot. Több mint 20 alapkártyát támogatnak Forráskód elérhető. Exportálható különböző környezetekbe 2015 elkezdik bevezetni az mbed OS-t o megcélozzák az IoT világot o még mindig sok a kérdőjel, átmenetben a platform BME-MIT 2016 3.
Hagyományos mbed alapú rendszer alapkövei Mbed HDK: hardware development kit. o Egységes hardware alapok Mbed SDK: software development kit o Egységes szoftver library 2016+: még erősen kiforratlanok Mbed OS: speciálisan IoT feladatokra fejlesztett keretrendszer Mbed Client: IoT eszközök csatlakoztatását teszi lehetővé a mbed Device Connector Service-en keresztül mbed TLS: Titkosítás támogatás BME-MIT 2016 4.
MBED HDK Cél egy egységes hardware struktúra és Debug támogatás nyújtása o Letölthető eagle alapú shematikok o És debug binárisok Javasolt architektúra: BME-MIT 2016 5.
CMSIS DAP Coresight Debug Access Port (DAP) elérésének standardizált módja USB alapú kapcsolat ami egy illesztő interfészen keresztül SWD,vagy JTAG kommunikációban végződik Ami miatt létrejött, hogy rengeteg USB alapú debugger született a 2000-es évek elejétől kedve, de mindegyik saját protokolt implementált o Egységesíteni a protokollt, hogy megszüntessék a fregmentációt o CMSIS-DAP egy interface chipben kell, hogy megvalósításra kerüljön o A debuggernek nem kell ismernie az SWD protokol, vagy JTAG kommunikáció részleteit o HID (Human Interface Device) alapú kommunikáció: minden oprendszer ismeri nincs szükség extra driverekre BME-MIT 2016 6.
CMSIS DAP szabvány Nem teljesen nyílt a protokoll: Silver hozzáférés kell hozzá Parancs típusok: o General Commands: A debug blokkról kérhet információkat és állíthat be azon paramétereket. o Common SWD/JTAG commands: interfész órajelének mghatározása pl. o SWD specific commands: SWD mód paramétereinek beállítása o JTAG specific commands: JTAG device chain beállítása o Transfer Commands: A CoreSight registerek írása olvasás, ami független a SWD or JTAG alapú transport rétegtől BME-MIT 2016 7.
AHB-AP: Advanced High-Performance Bus Acces Port Bridge a debug portok és a Cortex M3 rendszer között o TAR: Transfer Address Átviteli cím kontrol o CSW: Control and status Írány, méret kontrol o DATA BME-MIT 2016 8.
CMSIS DAP kommunikációs példa DAP: Debug access port regiszerein keresztül megy: példa egy memória cím kiolvasása Transfer Command: írás CSW regiszter-be (Control/Status Word Register): 32bits/16bits/8bits es transzfer paraméter beállítása Transfer Command: írás a TAR regiszter (Transfer Address Register): memória cím megadása Transfer Command: a DRW regiszter olvasása (Data Read/Write register): a memóriacím adatának kiolvasása BME-MIT 2016 9.
MBED HDK CMSIS-DAP Interface speciális megvalósítása BME-MIT 2016 10.
MBED HDK CMSIS-DAP Interface speciális megvalósítása: USB composit device o Drag and drop alapú programozás: Mass storage device o CMSIS-DAP alapú debugg funcionalítás: HID o Virtuális soros port támogatás: VCP BME-MIT 2016 11.
MBED SDK Cél egy egységes software struktúra megteremtése a támogatott platformokra Jelenleg kb. 100 hardware platform van támogatva BME-MIT 2016 12.
MBED library áttekintése Alap API C++ szintaktikájú Jelenleg nem követi a CMSIS driver struktúrát Nem használja a CMSIS driver réteget Web-ből nem debuggolható a normál JTAG -es módon Exportálásnál nem exportálja ki a forrásfile-okat Coocox export debuggolása még nem az igazi (1 hónapos feature) BME-MIT 2016 13.
MBED library áttekintése CMSIS api az alap absztrakcióhoz BME-MIT 2016 14.
MBED library áttekintése Mbed HAL a platform függő magasabb réteg BME-MIT 2016 15.
MBED library áttekintése Mbed HAL a platform függő magasabb réteg Ezek implementációja target függő BME-MIT 2016 16.
MBED library áttekintése Mbed API: felhasználóknak szánt magas szintű objektum orientált függvénykészlet BME-MIT 2016 17.
MBED library használata példa Mbed API használata BME-MIT 2016 18.
MBED OS Nagyon új történet 2015 végén jöttek ki az első megvalósítások Nem a web-es környezetre kihegyezett, hanem egy yotta alapú command line tool van hozzá BME-MIT 2016 19.
MBED környezet cél irány a felhő BME-MIT 2016 20.