Microchip MPLAB Harmony je gotovo najpomembnejši programski okvir za vse tiste, ki se navdušujemo nad Microchipovimi mikrokontrolerji in digitalnimi procesorji. Je tudi pomemben vgradni del razvojnega okolja MPLAB X IDE, ki nekajkrat pohitri in poenostavi delo programerjev.
Programiranje z Microchip MPLAB Harmony
V preteklem nadaljevanju smo videli, kako našo napravo povežemo preko USB kot HID. Videli smo kako dopolnimo pripravljeno objektno programsko kodo, da je zares uporabna in katere funkcije za podporo komunikaciji preko USB moramo sami implementirati. USB vseeno tako pomemben, zato mu je veljalo nameniti nekoliko več prostora.
V preteklem nadaljevanju smo programirali vodilo I2C, ne da bi se morali spuščati na nivo registrov funkcijskih enot izbranega mikrokontrolerja. Videli smo, kako programiramo v Harmony, ne da bi morali programsko kodo vezati na zgradbo posameznega mikrokontrolerja PIC32. Pri zamenjavi mikrokontrolerja, ali razvojne plošče, moramo spremeniti le nastavitve in specifično programsko kodo, ki se naša na BSP. To omogoča enostavno prenosljivost programske kode.
Tokrat se bomo lotili datotečnega sistema. PIC32 bomo sprogramirali tako, da se bo PCju predstavil kot zunanji podatkovni pogon in bo svoje stanje sporočal preko ene izmed datotek na tem pogonu.
Predpogoji za datotečni sistem
PIC32MX270F256B ima 256 EEPROMa in prav to je kot nalašč za ustvarjenje majhnega pogona brez gibljivih delov. Glede potrebne strojne opreme je vse dokaj enostavno, saj zadošča že povezava USB 2.0. Za to pa potrebujemo predvsem ustrezno vtičnico in nekaj malega diskretnih elektronskih elementov (med katerimi je tudi kristalni resonator ali kristalni oscilator), da vzpostavimo osnovno vezje za pogon mikrokontrolerja in ga povežemo z osebnim računalnikom. Potrebujemo le še programsko MPLABX in programsko knjižnico Harmony.
Nastavitve v Harmony Configuratorju
Potrebni so trije sklopi nastavitev: za vzpostavitev delovanja modula USB 2.0, funkcije za hitro programiranje EEPROMa in podpora delovanju datotečnega sistema. V Harmony najdemo več primerov, ki so prilagojeni za različne zagonske komplete (angl. starter kite). Vendar jih ni težko prilagoditi tudi za lastno tiskano vezje. Razlike so predvsem lepotne narave, saj imamo na lastnem vezju pogosto nadzorne LED na drugih mestih, ali pa jih sploh ne potrebujemo.
Poglejmo, katere nastavitve so potrebne izdelavo pogona brez gibljivih delov v PIC32MX270F256B: Z gonilnikom NVM (angl. non-volatile memory, pomnilnik, ki ne potrebuje napajanja za ohranjanje podatkov) se izognemo neposrednemu programiranju krmilnika EEPROM-a. Nastavitve gonilnika so logične in za poznavalca arhitekture PIC32 sorazmerno enostavne. Pomembno je nastaviti število izravnalnikov (mi smo izbrai Number of NVM buffer objects = 5).
Harmonija razvoja in programiranja (4)
2016_SE247_44