• 1
  • 2

Microprocessor Lab

. .

MPLAB je integrované, vývojové prostredie (IDE), obsahujúce sadu nástrojov, určené pre vývoj aplikačného rozhrania pre obsluhu mikrokontrolérov Michrochip Pic a procesorov dsPIC

Obsahuje množstvo funkcií pre pokročilú konfiguráciu (nastavovanie konfiguračných bitov, simulátory, generátory impulzov,...).
MPLAB rozširuje sadu podporovateľných programátorov a umožňuje kontrolér priamo z vývojového prostredia naprogramovať. Jednotlivé kontroléry komunikujú s prostredím prostredníctvom vývojových kitov.

Pri našom vývoji využijeme prostredie na písanie programov a kompiláciu kódu do objektového súboru .hex .
Je zrejmé, že potrebujeme adekvátny kompilátor, no hlavne správnu prvotnú konfiguráciu prostredia.


1. Inštalácia MPLAB

   Download: MPLAB 8.92 - Download
   Alternatívny odkaz: odkaz
   Alternatívny odkaz: odkaz
-------------------------------------------------

1.1 pri inštalácií zvoľte zložku: "C:\Program Files (x86)\Microchip" .


2. Inštalácia kompilátoru C30

   Download: C30 3.31 Download
   Alternatívny odkaz: odkaz
-------------------------------------------------

2.1 pri inštalácií zvoľte zložku: "C:\Program Files (x86)\Microchip\MPLAB C30" .


3. Inštalácia Firmware

   Download: Download
-------------------------------------------------

3.1 pri inštalácií zvoľte zložku: "C:\microchip_solutions_v2013-06-15", kde v2013-06-15 je dátum vydania aktuálnej verzie.



4. Konfigurácia

4.1 Po inštalácií všetkých troch častí, spustíme MPLAB IDE mplab.exe.

4.2 Vytvoríme nový súbor File --> New

4.3 Vytvorime nový projekt:
     Project --> Project Wizard --> Next --> (vyberieme procesor) --> Nastavenie kompilátora -->
     --> Next -->  Create New Project File
(zvolíme názov súboru a uložíme, napr. c:\Skuska\projekt.mcp) --> Next
     --> Next -->  Finish










Nastavenie ciest kompilátora:

(pic30-as.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-as.exe
(pic30-gcc.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-gcc.exe
(pic30-ld.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-ld.exe
(pic30-ar.exe) - C:\Program Files (x86)\Microchip\MPLAB C30\bin\pic30-ar.exe

(Konfigurácia kompilátora existujúceho projektu - Project --> Select Language Toolsuite... )












4.4 Nastavenie relatívnych ciest prostredia:







Do položky Output Directory namapujeme adresár pre ukladanie pomocných súborov a pre hlavný súbor .HEX .







Do položky Intermediary Directory namapujeme adresár pre ukladanie pomocných súborov kompilácie ".o" .







Do položky Include Search Path namapujeme adresáre obsahujúce súbory a zložky s podsúbormi, ktoré includujeme.
Do tejto položky namapujeme zložku Microchip\Include v inštalačnej zložke inštalovaného Firmware a samotnú zložku nášho projektu, tj. koreňová zložka obsahujúca súbor "*.mcp", v našom prípade C:\Skuska .







Do položky Library Search Path namapujeme adresár obsahujúci všetke podporované knižnice daného kompilátora.
Mapujeme zložku lib, ktorá sa nachádza v inštalačnej zložke kompilátora C30.




4.5 Nastavenie pamäti HEAP:

Heap, takzvaná "halda" je druh voľnej pamäte. Ide o oblasť vymedzenej pamäti. Vlastnosťou tochto pamäťového miesta (oblasti) je to, že je využívaná dynamicky, to znamená, že pri štarte programu nie je jasné aká kapacita a či vôbec neaká kapacita bude z tochto miesta využitá. Tá sa využíva (ak vôbec) pri behu programu.
Dalo by sa to popísať ako "Ak budú stlačené 3 tlačidla, dynamicky alokuj pole pre ďalšie 2 tlačidla". Vidíme, že ak nie sú stlačené všetke tri tlačidlá, k alokácií nedôjde.
V tomto smere máme určitú neobmedzenosť, keďže programátor pri písaní kódu nevie, koľko tlačidiel bude stlačených a nemusí riešiť zbytočné využitie flash pamäte.

Ako je už zrejmé, využívajú ju referencie pointrov a napríklad spomenutá dynamická alokácia poľa.

Pri MPLAB je však nutné manuálne vymedziť veľkosť HEAPU, aby kompilátor pri preklade dynamického kódu mohol adekvátne HEAP priradiť.

Nastavenie: Pravým klik na projekt --> Build Options --> MPLAB LINK30 --> Heap size

Nastavením Heapu sa vyhradí veľkosť dynamickej, pamäťovej oblasti.
Po prekročení veľkosti dynamického alokovania sa MCU resetuje.



Pri resetovaní heapu z dôvodu použitia väčšieho počtu dynamických premenných (malej veľkosti Heapu), veľkosť zvýšime.

 






5. Loadnutie súborov .h, .c


5.1 Loadnutie source files ".s", ".c"

Klik pravým tlačidlom myši na položku Source Files --> Create Files.
Pri logickom mapovaní zložiek (namespace) --> Create Subfolder

 









5.2 Loadnutie headers files ".inc", ".h"

Klik pravým tlačidlom myši na položku Header Files


Napespace sú mapované na samostatné zložky.