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:

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