Az első lépések
A fejezet tartalma:Mielőtt munkához látnánk, két fontos teendőnk van:
- Össze kell barátkoztatni a FRDM-KL25Z mikrovezérlő kártyát a számítógépünkkel és a fejlesztői környezettel.
- Telepítenünk és konfigurálnunk kell az ARM Keil MDK5 fejlesztői
környezetet, s célszerű kipróbálni a fordítást és a programletöltést
egy mintaprogrammal.
A FRDM-KL25Z kártya használatba vétele
A FRDM-KL25Z mikrovezérlő kártyán első használatba vételkor frissíteni kell a programozó/hibavadász egységben a firmware-t, mert a gyártó által beégetett eredeti firmware nem biztos, hogy támogatja az mbed fejlesztői környezet használatát, illetve nem biztos, hogy a legfrissebb változatot tartalmazza. A frissítésre több lehetőség kínálkozik. Mi azt javasoljuk, hogy a frissítés az mbed firmware segítségével történjen, melynek lépéseit az alábbiakban az mbed Kézikönyv alapján ismertetjük. Ez a firmware lehetővé teszi, hogy a programozó/hibavadász egységet akár tömegtároló eszköz módban, akár CMSIS-DAP módban használhassuk, s emellett egy USB virtuális soros porton a céláramkör a PC-vel kommunikálhasson. Így a kártyánkat szabadon használhatjuk akár az mbed.org, akár az ARM Keil MDK5 fejlesztő környezetben (illetve bármely más fejlesztői környezetben is, amelyik a fenti programozási módok valamelyikét támogatja).1. Töltsük le a legfrissebb firmware-t bootloader módban
a) Töltsük le a számítógépünkre a FRDM-KL25Z kártyához való legfrissebb firmware-t az mbed.org honlapjáról! A fenti linkre kattintás után a "The latest mbed interface upgrade for FRDM-KL25Z" szöveget keressük...E sorok írásakor a legfrissebb firmware a FRDM-KL25Z kártyához:
b) Helyezzük a FRDM-KL25Z kártyát bootloader (programbetöltő) módba úgy, hogy a RESET gombot lenyomva tartjuk, miközben egy USB kábellel a kártya OPEN SDA feliratú USB csatlakozóját a számítógéphez csatlakoztatjuk! Csatlakozás után engedjük el a RESET gombot! Ha ügyesek voltunk, akkor a D4 LED kb. 1Hz-es frekvenciával villog.1. ábra: A FRDM-KL25Z kártya bootloader módba helyezése
Amikor a FRDM-KL25Z ilyen módon (lenyomott RESET gombbal) csatlakoztatjuk, akkor a kártya egy BOOTLOADER nevű tárolóeszközként jelenik meg, amelybe - megnyitás után - egyszerűen csak bele kell másolni az új firmware .s19 kiterjesztésű állományát.
2. ábra: A BOOTLOADER tárolóeszköz felbukkanó ablaka
c) Nyissuk meg a BOOTLOADER tárolóeszköz mappáját, nyissuk meg a letöltött firmware ZIP állományát és húzzuk bele a firmware-t (esetünkben a 20140530_k20dx128_kl25z_if_opensda.s19 állományt) a BOOTLOADER mappájába az alábbi ábra szerint!
3. ábra: A firmware bemásolása a BOOTLOADER mappájába
2. Indítsuk újra a kártyát a firmware újraindításához
Amikor a firmware bemásolása a BOOTLOADER mappájába befejeződött, indítsuk újra a kártyát: húzzuk ki az USB kábelt a számítógépből, majd néhány másodperc elteltével dugjuk vissza, de most ne nyomjuk le a RESET gombot! Ekkor nem bootloader, hanem mbed módban csatlakozik a FRDM-KL25Z kártya - a továbbiakban mindig ezt az üzemmódot használjuk. Ebben az üzemmódban a D4 LED nem villog, hanem folyamatosan világít.A FRDM-KL25Z kártya mbed üzemmódját az is jelzi, hogy a számítógépen egy MBED nevű cserélhető tárolóeszköz jelenik meg. Az online mbed környezetben fejlesztett programjainkat (.bin állomány) letöltés után csak be kell másolnunk az MBED mappájába és RESET gomb lenyomása után elindul a letöltött program.
4. ábra: Az MBED tárolóeszköz felbukkanása a számítógépen
3. Programletöltési próba
Ha az MBED tárolóeszköz láthatóvá vált a számítógépen, akkor töltsük le az alábbi (előre lefordított) programot és másoljuk bele az MBED mappájába! Az esetleg benne látható fájlokkal ne foglalkozzunk, főleg ne töröljük azokat!Előrefordított mintaprogram: rtos_basic_KL25Z.bin
Amikor a fenti állományt bemásoljuk az MBED mappájába, a D4 LED szabálytalan ütemben villogni kezd. Várjuk meg, amíg a letöltés befejeződik (a villogás abbamarad), majd nyomjuk meg a FRDM-KL25Z kártya RESET gombját! Ekkor elindul a letöltött alkalmazás, és az RGB LED felváltva vörös, zöld és narancssárga színnel villog, ahogy az alábbi letölthető videón látható: rtos_basic.mp4.
Ha idáig sikeresen eljutottunk, a tömegtároló eszköz módú programozás már működik. A CMSIS_DAP módú programozás és nyomkövetés kipróbálását azonban csak az ARM Keil MDK5 fejlesztői környezet telepítése és konfigurálása után tudjuk elvégezni.
4. A számítógép konfigurálása
A FRDM-KL25Z kártya programozó/hibavadász áramköre USB-soros átalakítóként is működik, ami a számítógépen virtuális soros portként látszik. Linux és Mac gépeken ehhez nem kell külön szoftver, de Windows esetén telepíteni kell az mbed soros porti meghajtó szoftvert, amelyet az alábbi linkről tölthetünk le.A legfrissebb mbed soros meghajtó telepítője: (WinSerial_16466.exe)
Töltsük le és futtassuk a telepítőt, közben a kártyán maradjon csatlakoztatva a PC-hez!
A soros kommunikációhoz Hyperterminal, PuTTY.exe, vagy bármilyen más terminál emulátor használható. A soros kommunikáció alapértelmezett sebessége 9600 baud.
Az ARM Keil MDK5 fejlesztői környezet telepítése
Az ARM Keil MDK5 integrált fejlesztői környezet 32 vagy 64 bites Windows operációs rendszer alá telepíthető. Hardver követelményként legalább 4 GB RAM memóriát és 8 GB szabad tárterület javasol a gyártó, de az általunk használt projektekhez az eddigi tapasztalatok szerint 3 GB RAM is elegendő.Az ARM Keil MDK5 integrált fejlesztői környezetnek többféle kiadása létezik, melyek közül csak az MDK Lite verzió ingyenes. Ez a kiadás az alábbi korlátozásokkal rendelkezik (amelyekkel megpróbálunk együtt élni):
- Azok a programok, amelyek 32 Kbájtnál nagyobb kódot
eredményeznek, nem fordulnak le, illetve nem linkelhetők.
- A hardveres programozó/nyomkövető nem támogatja a 32
Kbájtnál nagyobb programokat.
- A fordító nem generál a lefordított gépi kódról disassembly listát. Az -S, --asm és --interleave C fordító parancssori opciók le vannak tiltva. A projektek nem fordulnak le "Target -> Listing -> C Compiler Listing engedélyezve" beállítással.
- A C fordító és az assembler nem készít pozíció-független kódot. Az --apcs /ropi /rwpi /pic/ pid compiler és assembler parancssori opciók le vannak tiltva.
- Az assember és a C fordító olyan szimbolikus tárgykód formátumot
használ, ami harmadik féltől származó linker programokkal nem
kompatibilis. Teljes értékű licensz vásárlása esetén azonban a fordító
szabványos ELF/DWARF állományokat készít, amelyek harmadik féltől
származó segédprogramokkal is használhatók.
1. Az MDK5 telepítőjének letöltése
Keressük fel a Keil MDK5 Getting started oldalt, és kattintsunk a Downlod MDK-Core feliratú gombra! A felbukkanó kérdőívet töltsük ki, majd kattintsunk a Submit gombra! A felbukkanó oldalon kattintsunk az ARM Keil Microcontroller Development Kit felajánlott kiadására (e sorok írás idején: MDK521A.EXE) és várjuk meg, amíg letöltődik.Az 5. verziótól kezdődően az MDK5xx.EXE telepítő csak az alapcsomagot (MDK Core), a fordítót, az ARM CMSIS támogatást és a középszintű programkönyvtárakat (Middleware) tartalmazza. Az egyes mikrovezérlő családok támogatását úgynevezett Device Family Pack bővítőcsomagok formájában külön kell telepíteni.
2. Az MDK5 telepítő futtatása
Indítsuk el az előző pontban letöltött MDK521A.EXE programot és kövessük az alábbi lépéseket!- Ha a Windows akadékoskodna a telepítő indításakor, kattintsunk a Run anyway (Futtatás mindenképp) gombra!
- Az üdvözlő képernyő felbukkanása után kattintsunk a Tovább (Next) gombra!
- A Licence Agreement ablak felbukkanásakor tegyünk pipát a beleegyezés jeleként és kattintsunk a Tovább gombra!
- A következő felbukkanó ablakban adjuk meg a telepítési könyvtárat! Nálam ez C:\Keil5, de az automatikusan felajánlott C:\Keil_V5 is megteszi... Kattintsunk a Tovább gombra!
- A Customer Information dialógus ablakban adjuk meg személyes adatainkat (Keresztnév, családi név, cégnév, Email cím), majd kattintsunk a Tovább gombra!
- Az Ulink (a Keil
általános célú programozó és hibavadász eszköze) meghajtóprogramjának a
telepítése előtt a Windows megkérdezi, hogy akarjuk-e telepíteni.
Igazából nincs rá szükségünk, így csak akkor telepítsük (az Install gombra kattintva), ha
komolyan fontolgatjuk egy Ulink v2 vagy Ulink v3 klón későbbi
beszerzését. Ha nincs ilyen szándékunk, akkor kattintsunk a Don't Install gombra!
- A telepítés befejeztével kattintsunk a Finish (Vége) gombra!
3. A Kinetis KLxx mikrovezérlő család támogatásának telepítése
A FRDM-KL25Z kártya használatához telepítenünk kell a Kinetis KLxx mikrovezérlő család támogatását biztosító csomagot. A Keil MDK5 telepítés után automatikusan felajánlja a kiegészítő csomagok telepítését, de bármikor kézzel is elindíthatjuk a csomagkezelőt, ha az MDK5 eszköztárában a csomagkezelő ikonjára kattintunk:A Kinetis KLxx bővítőcsomag telepítésének lépései:
- A csomagkezelő felbukkanó ablakában válasszuk ki a Devices lapon az NXP gyártót!
- Az NXP termékek közül válasszuk ki a KL20 Series termékcsaládot!
- A Packs lapon a Keil::Kinetis_KLxx_DFP csomag mellett kattintsunk az Install gombra és várjuk meg a telepítés végét! Az ablak alsó sávjában követhetjük nyomon, hogy hol tart a telepítés.
- A Ready felirat
megjelenése után bezárhatjuk a csomagkezelő ablakát és lépjünk ki az MDK5 alkalmazásból!
4. Mintaprojekt
lefordítása
A Keil MDK5 fejlesztői
környezet működését legegyszerűbben egy gyári mintapélda lefordításával
próbálhatjuk ki. Ehhez az alábbi lépéseket hajtsuk végre:- Indítsuk el a Keil MDK5 alkalmazást!
- Indítsuk el a csomagkezelőt (Pack Installer)!
- A csomagkezelő felbukkanó ablakában válasszuk ki a Boards (kártyák) lapot, majd azon belül a FRDM-KL25Z kártyát!
- A csomagkezelő ablakának másik felében válasszuk ki az Examples (mintapéldák) lapot, s a CMSIS RTOS Blinky (FRDM-KL25Z) felirat mellett kattintsunk a Copy gombra! A felbukkanó dialógus ablakban vegyük ki mindkét pipát, s adjuk meg a telepítési könyvtárat! Az, hogy a projektjeinket hol helyezzük el, ízlés dolga. Létrehozhatunk például a C:\Keil5 könyvtáron belül egy workspace nevű mappát, s a továbbiakban használhatjuk ezt munkaterületként. Ha ezt adjuk meg, akkor a projekt a C:\Keil5\workspace\Blinky mappába kerül.
- Nyissuk meg a munkaterületre bemásolt mintaprojektet: válasszuk ki a Project menü Open project menüpontját és keressük meg a munkaterületet, majd azon belül a Blinky projektet!
- Válasszuk a Projekt menü Rebuild all target files menüpontját, vagy kattintsunk a gombra!
- Sikeres fordítás (0 Error, 0 Warning) esetén az alábbihoz hasonló
üzenet jelenik meg:
5. Konfiguráljuk a projektet a CMSIS-DAP programozóhoz:
- Nyissuk meg a Project
menü Options for Target 'xxxx' menüpontját
(gyorsbillentyű: Alt + F7),
vagy kattintsunk az Options for Target
gombra az MDK5 Eszköztárában!
- Itt a sok lap közül a Debug
fület válasszuk, s a legördülő listából (1) a Ulink eszköz helyett válasszuk a CMSIS-DAP debuggert! Mielőtt tovább
lépnénk, csatlakoztassuk a FRDM-KL25Z
kártyát a számítógéphez, majd kattintsunk a Settings gombra (2) az előzőekben
említett legördülő lista mellett!
- A felbukkanó dialógus ablak bal felső sarkában a legördülő listán
válasszuk ki az MBED CMSIS-DAP
eszközt és kattintsunk az OK
gombra!
- Kattintsunk a Debug fül
melletti Utilities fülre, majd
tegyünk pipát a Use Debug Driver
felirat elé és kattintsunk az OK
gombra!
6. A lefordított mintaprojekt letöltése és futtatása
- A projekt konfigurálása ezzel kész. Az egyszerű
programletöltéshez az MDK5
eszköztárában kattintsunk a LOAD
feliratú gombra!
- Programletöltés után a FRDM-KL25Z
kártyán nyomjuk meg a RESET
gombot a letöltött program elindításához! Sikeres futás esetén a piros,
a zöld és a kék LED egymás után felvillan, s ez ciklikusan ismétlődik.