Ha meglátogatjuk a FreeRTOS letöltési oldalát, akkor találunk ott egy linket, amelyre kattintva a Sourceforge oldala jelenik meg és a letöltés -jó esetben- automatikusan elindul. Ennek a cikknek az íraskor a FreeRTOS8.2.1-es verziója érhető el, amely 2015.03.24-én vált véglegessé.
A letöltés után a FreeRTOS8.2.1.exe file-t indítsuk el, és adjunk meg egy könyvtárat, ahova kicsomagolhatjuk a file tartalmát (1. ábra).
1. ábra Kicsomagolás
A kicsomagolt könyvtárak nevei egyértelműen mutatják, hogy melyik eszközhöz készült. Találunk itt ARM-okat, PIC-eket, de még MicroBlaze-t is (2. ábra).
2. ábra Részlet a demolehetőségekben
A kicsomagolás után láthatóvá válnak a demo projektek a "../FreeRTOSV8.2.1/FreeRTOS/Demo/" elérési útvonalon. Tekintettel arra, hogy mi most a Microchip 32 bites mikrovezérlőjével kívánunk foglalkozni, menjünk be a "PIC32MX_MPLAB" könyvtárba (3. ábra). Régebben a PIC32MX család volt a Microchip "zászlóshajója", ez azonban a PIC32MZ család megjelenésével megváltozott.
3. ábra A PIC32MX_MPLAB könyvtár tartalma
Érdekesség, hogy a Microchip már pár éve az MplabX fejlesztőkörnyezetet javasolja a fejlesztőknek, de a legújabb FreeRTOS verzióban még MpLab verzió található, noha a projekthez kiválasztott fordító már az XC32-es. Kattintsunk a "RTOSDemo.mcp" file-ra, ezzel el is indítjuk az MpLab IDE fejlesztőkörnyezetet, és a 4. ábrán lévő kép fogad minket.
4. ábra MpLab fejlesztőkörnyezet (kattints a képre)
Itt találjuk a demoprojekthez tartozó file-okat. Látni fogjuk majd a későbbiekben, hogy ezeknek a file-oknak egy részére nem lesz szükségünk (5. ábra).
5. ábra A projekt felépítése
Fordítsuk le a projektünket, és a következő ablak fogad minket, ahol ki kell választani a fordítónk (XC32) elérési útvonalát (6. ábra).
6. ábra Elérési útvonal beállítása
A hetedik ábrán az assembler fordító elérési útvonalát kell beállítani.
7. ábra Assembler fordító
Végül a linkernek kell beállítani az elérési útvonalát (8. ábra), és ezután a demoprojektünk sikeresen lefordul, létrejön a hex file, amely a PIC32MX mikrokontrollerbe betölthető. Érdemes megemlíteni, hogy a FreeRTOS operációs rendszer a projekttel együtt fordul le, és az elkészült hex file tartalmazza az operációs rendszert is és az alkalmazásunkat is.
8. ábra Linker program elérési útvonalának a megadása
Sorozatunknak ebben a részében nem alkalmazunk PIC32MX-es tesztpanelt, hanem debug segítségével ellenőrizzük a demo alkalmazásunk működését. Ehhez szükséges egy RTOS Viewer, amelyet az MpLab telepítésekor "adhatunk" a fejlesztőkörnyezethez. Látható a 9. ábrán, hogy még egy taskunk sincs.
9. ábra RTOS Viewer (kattints a képre)
Ha rákattintunk a System linkre, akkor az alapállapotot látjuk (10. ábra).
10. ábra RTOS Viewer-ben néhány rendszerjellemző (kattints a képre)
Indítsuk el a szimulációt, majd egy kicsit várva, állítsuk le. Nézzük meg újra az RTOS Viewer-t, azon belül pedig a Task-okat (11. ábra).
11. ábra Task-ok állapota, tulajdonságai az RTOS Viewer-ben (kattinst a képre)
Láthatjuk a "Taskok" ablakban, hogy vannak olyan taskok, amelyek készen állnak a futásra, vannak, akik blokkolva vannak vagy fel vannak függesztve, azaz, nem kaphatnak futási jogot.
Most nézzük meg a rendszertulajdonságokat, amelyeket a 12. ábrán láthatunk. Részletesen a következő cikkekben fogjuk bemutatni ezeket, de már láthatjuk az xTickCount értékét, hogy 291. Ez azt jelenti, hogy a szimuláció ideje 291 Tick volt.
12. ábra Rendszerjellemzők értékei a szimuláció után (kattints a képre)
A sorozatunk következő részében visszatérünk a "száraz" elmélethez, megnézünk még néhány alapot, például a memóriaszervezést, a sorokat, a szemaforokat és azután jönnek a példák.
Hát igen.... Elérkeztünk a 100. cikkhez. Köszönjük az érdeklődést, a visszajelzéseket. Ezért valami érdekessel, nem annyira ismert témával ünnepeljük ezt a kerek fordulót. A választás a FreeRTOS-ra, egy valósidejű operációs rendszerre esett. Ezt a be. . . .
Folytatjuk tovább a FreeRTOS megismerését, de most a száraz elméletet félretéve, összeállítjuk az első projektünket.. . . .
Megismerkedünk most gyakorlati oldalról az USB-CDC használatával. Készítünk egy projektet az MpLab segítségével, amelynek segítségével LED-eket kapcsolunk be, illetve ki, de megnézzük azt is, hogy hogyan tudunk a mikrovezérlőből beolvasni string-et.. . . .