Előszó
Ez a tananyag eredetileg 2016-ban készült a Freescale FRDM-KL25Z fejlesztőkártyához és az akkori ARM Mbed Online Compiler fejlesztőkörnyezethez. Azóta a beágyazott rendszerek fejlesztésének ökoszisztémája jelentősen átalakult: a FRDM-KL25Z fejlesztőkártya hivatalos támogatása megszűnt, az ARM pedig 2024 és 2026 között fokozatosan kivezette az Mbed platform online szolgáltatásait, majd 2026 júliusában a projekt hivatalos támogatását is lezárta.
Mindez azonban nem jelenti azt, hogy az Mbed teljesen eltűnt volna. Az Mbed Community Edition projekt az Mbed OS közösségi továbbfejlesztéseként viszi tovább a korszerű, RTOS-alapú Mbed környezetet. Erre épül az ArduinoCore-mbed projekt is, amelynek köszönhetően az Mbed programozási modellje az Arduino ökoszisztémában is tovább él, többek között az RP2040 platformon.
A jelen tananyag azonban nem ezt a modern Mbed OS környezetet használja, hanem a korábbi Mbed Classic programozási modellt, amely az Online Compiler idején vált széles körben ismertté. Ennek megőrzését a gcc4mbed projekt teszi lehetővé, amelynek segítségével a példaprogramok ma is hiánytalanul lefordíthatók és futtathatók az offline, parancssori fejlesztőkörnyezetben. Ennek köszönhetően a FRDM-KL25Z fejlesztőkártya és a hozzá készült példaprogramok ma is jól használhatók az ARM Cortex-M0+ architektúra és a beágyazott programozás Mbed alapú elsajátításához.
A fejezet tartalma:- Mi az Mbed?
- Az offline fejlesztői környezet kialakítása
- A FRDM-KL25Z kártya bemutatása
Mi az Mbed?
Az ARM Mbed kezdeményezése a 2010-es évek elején gyökeresen megváltoztatta a 32 bites ARM Cortex-M mikrovezérlők világát. Újszerűsége abban rejlett, hogy a korábban megszokott, bonyolult regiszterszintű konfigurációk és gyártófüggő IDE-k helyett egy magasszintű, C++ alapú objektumorientált absztrakciós réteget hozott létre.
A platform főbb előnyei és kényelmi szolgáltatásai:
- Egységes és áttekinthető API: A hardveres perifériák kezelése intuitív osztályokon keresztül történik (pl. DigitalOut, AnalogIn, PwmOut, I2C), ami drasztikusan lecsökkenti a prototípus-fejlesztési időt (rapid prototyping).
- Hordozhatóság: A jól megtervezett absztrakciónak köszönhetően a megírt kód minimális módosítással – vagy akár változtatás nélkül – átültethető volt teljesen eltérő gyártójú ARM Cortex-M mikrokontrollerekre is.
- Gyors beüzemelés: Az eredeti koncepció része volt a böngészőből futtatható Online Compiler és a Drag-and-Drop típusú programfeltöltés (CMSIS-DAP / OpenSDA), így telepítés nélkül, perceken belül futtatható volt az első kód.
Az offline fejlesztői környezet kialakítása
Az online szolgáltatások leállása után a fordítást helyi gépen, parancssori eszközök segítségével végezzük el. A fordítási folyamat pillérei:
- GNU Arm Embedded Toolchain (ARM GCC): A nyílt forráskódú C/C++ fordító, amely a C++ forrásfájlokból a célarchitektúrára (Cortex-M0+) optimalizált gépi kódot állítja elő.
- GNU Make: A fordítási lépéseket automatizáló build eszköz.
- gcc4mbed: Egy kiváló nyílt forráskódú projekt (Adam Green munkája), amely az Mbed (mbed-classic) szoftverkönyvtárat és a szükséges Make-szkripteket egyetlen könnyen kezelhető csomagba fogja össze.
A FRDM-KL25Z kártya bemutatása
A FRDM-KL25Z mikrovezérlő kártyát a Freescale az mbed-del együttműködve fejlesztette ki. Ez névjegy méretű az olcsó kártya jól használható tanulásra, valamint a Freescale Kinetis L24/25 sorozatú ARM Cortex-M0+ mikrovezérlőinek felhasználásával megvalósítható eszközök prototípusainak elkészítésére. A kártyán tüskesorra vagy tüskesor-fogadóra ki vannak vezetve a mikrovezérlő ki- és bemenetei, van néhány ráépített periféria (RGB LED, 3-tengelyű gyorsulásmérő, kapacitív csúszka), és van ráépített programozó/hibavadász eszköz is. A kivezetések úgy vannak kialakítva, hogy kompatibilis legyen az Arduino fedlapokkal (bővítőkártyákkal).
1. ábra: A Freescale FRDM-KL25Z fejlesztői kártya
A kártya a Freescale KL25Z sorozatú MKL25Z128VLK4 mikrovezérlőjén alapul, melynek 32-bites ARM Cortex-M0+ CPU-ja max. 48MHz-en fut. A mikrovezérlő 128KB FLASH, valamint 16KB RAM memóriát tartalmaz és számos beépített perifériát, többek között USB Host/Device, SPI, I2C, ADC, DAC, PWM, érintésérzékelés és más I/O eszközt.
Az Arduino-kompatibilis kivezetések
Az alábbi ábrán az Arduino-kompatibilis kivezetések kiosztása látható (a képre kattintva az ábra nagyobb felbontással is megjeleníthető). Az Arduino-kompatibilis kivezetéseken kívül az összes PT_XX kivezetés is használható DigitalIn és DigitalOut kivezetésként.A kártyán található perifériák
Az alábbi ábrán a kártyán található perifériák és a hozzájuk rendelt mikrovezérlő lábak kiosztása látható.

3. ábra: A kártyára szerelt perifériák
A FRDM-KL25Z kártya teljes mértékben támogatott az mbed fejlesztői környezetben, tehát használhatók hozzá azok az ingyenes eszközök és szoftver fejlesztői könyvtárak, amelyek a gyakorlott beágyazott-rendszer fejlesztők hatékony eszközei egy új elképzelés gyors megvalósításához és kipróbálásához (proof-of-concept).
A kivezetések elnevezései
Az mbed programokban az alábbi listában található elnevezéseket használhatjuk:Jellemzők
Freescale KL25Z Kinetis KL2x mikrovezérlő (MKL25Z128VLK4)
- Nagy teljesítményű ARM Cortex-M0+ mag
- 48MHz, 16KB RAM, 128KB FLASH
- USB (Host/Device)
- SPI (2)
- I2C (2)
- UART (3)
- PWM (TPM)
- ADC (16 bit)
- DAC (1x12bit)
- Érintésérzékelő
- GPIO (66)
FRDM-KL25Z kártyára épített szenzorok
- MMA8451Q - 3-tengelyű gyorsulásmérő
- Kapacitív érintésérzékelő csúszka
A kártya műszaki adatai
- méret: 81mm x 53mm
- 5V USB vagy 4.5-9V külső tápellátás
- Beépített USB FLASH "fogd és vidd" programozás
mbed hardver és szoftver fejlesztői jellemzők
- Drag-n-drop programozhatóság
- USB-soros átalakító
- CMSIS-DAP hibavadász
- A korábbi online támogatás (C/C++ szoftver fejlesztői környezet, könyvtárak, fordító) 2026-ban megszűnt, helyette a gcc4mbed offline fejlesztői környezetet használjuk
- A korábban közzétett programkönyvtárak és mintaprogramok jelenleg még archiválva elérhetők az os.mbed.com szerveren
Kötelező olvasmányok
A kártya kapcsolási rajza és a felhasználói leírás
- Freescale FRDM-KL25Z Schematic
- Freescale FRDM-KL25Z User's Manual
- ARM mbed ismertető a FRDM-KL25Z kártyához
Adatlapok
A programozó/hibavadász firmware
Ajánlott irodalom
- ARM Information Center: Cortex-M0+ Devices Generic User Guide
- ARM Information Center: Cortex-M0+ Technical Reference Manual
- Joseph Yiu: The Definitive Guide to the ARM Cortex-M0 and Cortex-M0+, Newnes/Elsevier 2015, ISBN: 9780128032770
- Rob Toulson, Tim Wilmshurst: Fast and Effective Embedded Systems Design: Applying the ARM mbed, Newnes/Elsevier 2012, ISBN: 9780080977683
- Trevor Martin: The Designer’s Guide to the Cortex-M Processor Family - A Tutorial Approach, Newnes/Elsevier 2013, ISBN: 9780080982960

