Az első projekt létrehozása
A fejezet tartalma:
- Új projekt létrehozása
- A forráskód elkészítése
- A Makefile létrehozása
- A program lefordítása és futtatása
- A gcc4mbed fontosabb Makefile paraméterei
1. Új projekt létrehozása
Első programunkban egy egyszerű LED-villogtató alkalmazást készítünk. A példaprogram célja nem a programozási nyelv vagy az Mbed programkönyvtár megismerése, hanem a gcc4mbed fejlesztői környezet használatának elsajátítása. A gyakorlat során létrehozzuk a projektet, elkészítjük a szükséges állományokat, lefordítjuk a programot, majd feltöltjük azt a mikrovezérlőre.
A gcc4mbed könyvtárszerkezetében a mintaprogramok a Samples könyvtárban találhatók. Saját programjainkat célszerű ettől elkülönítve tárolni, ezért hozzunk létre a gcc4mbed gyökérkönyvtárában egy Projects nevű könyvtárat. Ebben hozzuk létre első projektünk könyvtárát, amelynek neve legyen: 01_ledblink
Az új projektkönyvtár létrehozása után el kell készítenünk a projekt két legfontosabb állományát (a legegyszerűbb projekthez is szükséges ez a két fájl):
- main.cpp – a program forráskódját tartalmazó állomány;
- Makefile – a fordítás beállításait tartalmazó állomány.
A következő lépésekben ezt a két fájlt készítjük el és helyezzük el a könyvtárstruktúrában, ahogy az alábbi ábra is mutatja.

1. ábra: A 01_ledblink projekt struktúrája
2. A forráskód elkészítése
A main.cpp állományt bármilyen szövegszerkesztővel létrehozhatjuk (például Notepad). A fájl tartalma:
#include "mbed.h"
DigitalOut led1(LED1);
DigitalOut led2(LED2);
int main()
{
while (true)
{
led1 = 1;
led2 = 0;
wait(0.5);
led1 = 0;
led2 = 1;
wait(0.5);
}
}
A program a kártya két beépített LED-jét felváltva kapcsolgatja. A program részletes ismertetésére később térünk vissza; elsőként a teljes fejlesztési folyamat működését ellenőrizzük.
3. A Makefile létrehozása
A gcc4mbed fordítási rendszerét a projekt könyvtárban található Makefile vezérli. Ez határozza meg többek között a projekt nevét, a célhardvert és a fordítás néhány fontos beállítását.
A 01_ledblink projekt Makefile állománya:
PROJECT := 01_ledblink
DEVICES := KL25Z
GCC4MBED_DIR := ../..
GCC4MBED_TYPE := Release
MBED_OS_ENABLE := 0
NEWLIB_NANO := 1
NO_FLOAT_SCANF := 1
NO_FLOAT_PRINTF := 1
include $(GCC4MBED_DIR)/build/gcc4mbed.mk
A Makefile-ban használt paraméterek jelentése:
- PROJECT – a projekt neve; ezt a nevet kapják a létrejövő kimeneti fájlok.
- DEVICES – a célplatform, amelyre a program készül. Szóközzel elválasztva több platformnevet is megadhatunk (pl. KL25Z LPC1768 NUCLEO_F446RE), ekkor a fordítás egymás után mindegyik platformra megtörténik
- GCC4MBED_DIR – a gcc4mbed gyökérkönyvtárának relatív elérési útja.
- GCC4MBED_TYPE – a fordítás típusa. A Release beállítás optimalizált végleges programot készít.
- MBED_OS_ENABLE – 1: az Mbed RTOS támogatást is belefordítja a projektbe, míg a 0 értékű beállítás esetén a klasszikus, RTOS nélküli Mbed környezetet használja. Itt most nincs szükségünk többszálú futtatásra, ezért választjuk a 0 beállítást.
- NEWLIB_NANO – a kisebb méretű newlib-nano futtatókönyvtár használata.
- NO_FLOAT_SCANF és NO_FLOAT_PRINTF – a lebegőpontos formátumkezelés kikapcsolása, amellyel tovább csökkenthető a program mérete.
Az utolsó sor a gcc4mbed saját Makefile-rendszerét tölti be, amely tartalmazza a fordításhoz szükséges általános szabályokat.
4. A program lefordítása és futtatása
- A Buildshell.cmd script elindításával nyissunk egy parancsablakot, és navigáljunk a 01_ledblink projekt mappájába, például: cd C:\gcc4mbed\Projects\01_ledblink.
- Adjuk ki a make parancsot. Többmagos számítógépen a fordítás párhuzamos futtatással gyorsítható. például: make -j8 vagy make -j16.
-
Sikeres fordítás után az eszköz nevével (esetünkben KL25Z) létrejövő kimeneti könyvtárban
találjuk meg a mikrokontrollerre tölthető programfájl. A legfontosabb formátumok:
01_ledblink.bin – közvetlenül a kártyára másolható bináris program,
01_ledblink.hex – Intel HEX formátumú programfájl. - Csatlakoztassuk a FRDM-KL25ZJ kártyát a számítógéphez normál üzemmódban (csatlakoztatáskor ne nyomjuk le a RESET gombot).
- Másoljuk át a generált 01_ledblink.bin fájlt a PC-n megjelenő FRDM-KL25ZJ meghajtó gyökerébe. A másolás befejeztével a RESET gomb megnyomásával vagy a kártya újracsatlakoztatásával az új program azonnal elindul.

2. ábra: A 01_ledblink projekt bináris állományai
5. A gcc4mbed további Makefile paraméterei
A gcc4mbed számos további beállítási lehetőséget biztosít. A leggyakrabban használt paramétereket az előző rész ismertette; a további lehetőségek részletes leírása a csomaghoz mellékelt makefile.creole dokumentációban található.
