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 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:


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:

Nem kell megijedni az offline környezet telepítésétől! Bár a háttérben több különálló eszköz dolgozik, a gcc4mbed telepítője teljesen automatizált: egyetlen lépésben gondoskodik róla, hogy a hozzá illeszkedő ARM GCC fordító, a GNU Make eszköz, valamint az Mbed forráskódja is automatikusan letöltődjön és beálljon a rendszerben. A telepítés pontos lépéseit a következő fejezetben részletezzük.

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.


2. ábra: A FRDM-KL25Z kártya kivezetései

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

Adatlapok

A programozó/hibavadász firmware

Ajánlott irodalom