Proces programowania mikrokontrolerów PIC w środowisku Linux
Wprowadzenie – Łańcuch narzędziowy
Łańcuch narzędziowy (eng. “toolchain”) jest zestawem programów za pomocą których tworzony jest produkt. Układy elektroniczne działające w oparciu o mikrokontrolery poza projektem części elektronicznej wymagają napisania programu wykonywanego przez mikrokontroler.
MPLAB
Firma Microchip (producent mikrokontrolerów PIC) dostarcza dla swoich produktów darmowe środowisko projektowe MPLAB X IDE oparte o popularne środowisko programistyczne Netbeans (wspierane przez firmę ORACLE) używane między innymi przez programistów aplikacji mobilnych oraz aplikacji internetowych (języki: JAVA, PHP, C, C++, HTML).
Po instalacji w środowisku MPLAB X IDE jest dostępny kompilator asemblera. Ze strony Microchip istnieje możliwość pobrania kompilatora języka C i “podłączenia go” do MPLAB X IDE.
Istnieją trzy kompilatory języka C dla mikrokontrolerów PIC stworzone przez Microchip:
- MPLAB XC8 Compiler – dla mikrokontrolerów 8 bitowych,
- MPLAB XC16 Compiler – dla mikrokontrolerów 16 bitowych,
- MPLAB XC32 Compiler – dla mikrokontrolerów 32 bitowych.
Instalacja kompilatora na przykładzie XC8 może zostać wykonana w systemie operacyjnym Linux za pomocą następujących poleceń:
Polecenie | Działanie |
wget http://www.microchip.com/mplabxc8linux | Pobranie kompilatora ze strony Microchip |
tar -xf xc8-v1.30-linux.run.tar | Rozpakowanie archiwum tar |
chmod +x xc8-v1.30-linux.run | Nadanie praw wykonywania dla pliku instalatora |
./xc8-v1.30-linux.run | Uruchomienie instalatora |
Następnie w środowisku MPLAB X IDE należy “podłączyć” zainstalowany kompilator. Dokonuje się tego wybierając z menu “Tools”->”Options” a następnie w uruchomionym oknie na zakładce “Embedded” i “Build Tools” należy kliknąć przycisk “Scan for build tools”. Zainstalowany kompilator zostanie automatycznie dodany do listy.
CCS
Firma Custom Computer Services (CCS) jest twórcą kompilatorów i środowiska programistycznego dla systemu operacyjnego Windows.
Kompilatory uruchamiane z linii komend (bez środowiska projektowego):
- PCB – obsługa mikrokontrolerów z rodziny (12 bitowe instrukcje): PIC10, PIC12, PIC16,
- PCM – obsługa mikrokontrolerów z rodziny (14 bitowe instrukcje): PIC10, PIC12, PIC14, PIC16,
- PCH – obsługa mikrokontrolerów z rodziny (16 bitowe instrukcje): PIC18,
- PCD – obsługa mikrokontrolerów z rodziny (24 bitowe instrukcje): PIC24, dsPIC.
Środowisko projektowe z kompilatorem:
- PCW – obsługa mikrokontrolerów z rodziny: PIC10, PIC12, PIC14, PIC16,
- PCWH – obsługa mikrokontrolerów z rodziny: PIC10, PIC12, PIC14, PIC16, PIC18,
- PCWHD – obsługa mikrokontrolerów z rodziny: PIC10, PIC12, PIC14, PIC16, PIC18, PIC24/dsPIC,
- PCDIDE – obsługa mikrokontrolerów z rodziny: PIC24/dsPIC.
Kod a środowisko
Początkujący programista często będzie poszukiwał wskazówek w sieci internet dla napotkanych przez siebie problemów. Już pierwsze linijki kodu mogą być cenną informacją dla jakiego kompilatora jest przeznaczony dany kod.
XC8 – ma podłączone “xc.h”
Hitech C – odwołuje się do “htc.h”
C18 – podłączany jest konkretny mikrokontroler np. p18f4550.h
CCS C – początkowe linie kodu zawierają #fuses