Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Aveți grijă de articole noi din această serie.

Acest conținut face parte din seria: Dezvoltarea de aplicații pentru dispozitive încorporate

Aveți grijă de articole noi din această serie.

În prima parte a acestei serii de patru articole, am discutat cum să configuram mediul popular de dezvoltare Eclipse pentru construirea aplicațiilor AVR. În cea de-a doua parte, am analizat cum să realizăm această sarcină cu un mediu de dezvoltare diferit și mai ușor - Cod: Blocuri. Apoi am observat o altă familie de aplicații care sunt asamblate folosind compilator SDCC, iar în a treia parte a introdus pentru crearea și configurarea SDCC-aplicații în Eclipse. Acest articol vă va arăta cum să lucrați cu aplicațiile SDCC în mediul Code :: Blocks.

Mediul integrat de dezvoltare pentru Code: Blocks a fost deja luat în considerare în a doua parte a acestei serii de articole. Acesta a oferit informații de bază despre posibilitățile Codului :: Blocuri și a oferit abilități de bază pentru a lucra cu acesta.

Compilatorul Small Compiler C Compiler (SDCC) a fost descris pe scurt în a treia parte. Este recomandat să citiți manualul de utilizare inclus în pachetele instalate în sistem și îl puteți descărca de pe site-ul Web SDCC. Lista de arhitecturi acceptate este ușor de învățat printr-o comandă simplă:

Se presupune că în sistemul dvs. Codul :: Blocuri și SDCC sunt instalate și funcționale. În acest caz, puteți continua să creați și să configurați proiectul.

Crearea unui proiect

Cod de lansare :: Blocuri. Mai întâi, trebuie să configurați setările globale ale compilatorului; Pentru aceasta, selectați elementul de meniu "Setări-> Compilator și Debugger".

Figura 1. Setările globale ale compilatorului

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Apoi urmați pașii de mai jos.

  1. În câmpul de sus "Compiled Selected", selectați "SDCC Compiler" din lista derulantă. Dacă faceți clic pe butonul "Setare implicită", atunci pentru toate proiectele noi, SDCC va fi compilatorul standard. Acest lucru este util numai când Code :: Blocks este utilizat numai pentru dezvoltarea aplicațiilor SDCC.
  2. Faceți clic pe fila "Executabile de unelte". Aici trebuie să remediați directorul în care este instalat SDCC, precum și numele utilitarelor din pachetul său, dacă acestea sunt specificate incorect. În mod implicit, directorul de instalare este / usr / local / bin. Diferitele distribuții pot avea directoare de instalare diferite pentru fișierele executabile SDCC. De exemplu, în Fedora, acestea sunt instalate în directorul / usr / bin, deci în câmpul "Directorul de instalare a Compilatorului", acesta va scrie corect "/ usr".

Mai jos, în fila «Program Files», trebuie să verificați numele de fișiere executabile SDCC: compilator, linker-ul, etc. Numele implicit este sdcc pentru compilator și linker. puteți găsi numele de fișier corecte, comanda «ls / usr / bin / SDCC *», în cazul în care fișierele sunt instalate în / usr / bin. În unele distribuții, aceste nume pot fi diferite pentru orice motiv. De exemplu, se adaugă prefixul la SDCC Fedora la numele de fișiere standard, astfel încât în ​​domeniile «compilatorul C» și «Linker pentru libs dinamice» ar trebui să fie înscris «SDCC-SDCC».

Acum, deoarece nu există vrăjitor gata pentru proiectele SDCC, creați un proiect gol. Alegeți "File -> New-> Project" din meniu. Selectați "Empty Project" și apăsați butonul "GO". Se afișează ecranul de întâmpinare al aplicației New Project Wizard, faceți clic pe "Next".

Figura 2. Crearea unui proiect gol

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

O fereastra se va deschide în cazul în care aveți nevoie în câmpul «Titlul proiectului» și «dosar pentru a crea proiecte în» pentru a introduce noul nume de proiect și directorul în care să plaseze directorul de proiect. Introduceți informațiile necesare. Expertul de proiect se va completa automat câmpul cu numele de fișier de proiect ( «numele fișierului de proiect»), care nu coincide neapărat cu numele proiectului, cât și în domeniul «Rezultând filename» oferta completa numele fișierului proiect cu calea completă, iar această cale este, de asemenea, nu neapărat coincid cu catalogul proiectului. După ce ați completat toate informațiile necesare, apăsați butonul "Next".

Figura 3. Introducerea numelui proiectului

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Configurarea proiectului

Așadar, am creat un proiect gol. Trebuie să o configurați astfel încât să poată funcționa cu SDCC. Pentru aceasta, selectați elementul de meniu "Proiect -> Proprietăți", mergeți la fila "Creați ținte". În câmpul "Selectați opțiunile de construire țintă" din câmpul "Tip", în mod implicit, tipul de aplicație este specificat ca "Aplicație pentru consolă". Nu văd de ce acest tip ar putea să nu fie potrivit pentru o aplicație SDCC, dar într-un număr de manuale este recomandat să o schimbi în "Native". Acest lucru trebuie făcut în toate scopurile de asamblare (țintele sunt selectate în stânga în panoul "Build targets").

Figura 4. Proprietățile proiectului

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Pentru a configura setările de construire a proiectului, selectați elementul de meniu "Proiect-> Opțiuni de construire". Pentru început, puteți configura stegulețele compilatorului comune pentru toate scopurile de construire: tipul procesorului, modelul de memorie etc. În panoul din stânga al ferestrei, cu parametrii asamblării proiectului, selectați numele proiectului (în figura 5, acesta este "test"). Acum, în fila "Compilator Setări" și apoi în partea de jos, pe fila "Compilatoare Steaguri", trebuie să selectați steagul pentru procesorul pe care îl utilizați. Dacă nu selectați nimic, parametrul -mmcs51 va funcționa pentru procesoarele compatibile cu Intel MCS51. În momentul de față, pentru întregul proiect, este bine să alegeți modelul de memorie și parametrii stack-ului aici.

Figura 5. Parametrii obiectivelor de asamblare

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

După aceasta, selectați la rândul său toate țintele de asamblare și specificați opțiunile compilatorului care sunt specifice acestora. De exemplu, în scopul asamblării Debug select flag «simboluri Produce depanare [--debug]», și în scopul poate fi util pavilion de presă «Optimizare cod (pentru dimensiune) [--opt-code-size] generat».

Rețineți că atunci când selectați anumite direcții de asamblare, câmpul "Politică" aflat imediat sub fila "Setări compilator" devine activă. Aici puteți selecta o regulă conform căreia o combinație a parametrilor aleși pentru scopul de asamblare se face cu parametrii întregului proiect. Regula standard este "Adăugați opțiuni țintă pentru opțiunile proiectului" (parametrii obiectivului de asamblare sunt adăugați la parametrii proiectului). Prin această regulă, nu este necesar ca fiecare obiectiv să re-selecteze stegulețele configurate pentru întregul proiect. Dacă este necesar, puteți alege alte reguli.

Faceți clic pe butonul "Ok" pentru a salva setările.

Cod de localizare :: Blocuri

În prezent, se lucrează la interfața de localizare Code :: Blocks pentru limbi diferite. Traducerea în limba rusă este condusă aici. și dacă există codeblocks.mo descărca fișierul și puneți-l în directorul, de exemplu, / usr / share / codeblocks / locale / ru_ru / (privilegii de root nevoie), atunci interfața va fi în limba rusă, în cazul în care setările globale ( «Setări- > Mediu-> Vizualizare ») permite«internaționalizării (nevoile reporni)», și dreptul de a alege«Rusă»în lista verticală. Această schimbare va avea efect după repornirea sistemului.

Programe experimentale

Acum, când proiectul este configurat, adăugați primul fișier la el. Pentru a face acest lucru, selectați elementul de meniu "File-> New-> File. "În fereastra deschisă selectați șablonul" sursă C / C ++ "și apăsați butonul" Go ".

Figura 6. Crearea unui nou C-fișier

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

În următoarea fereastră de întâmpinare a expertului pentru crearea fișierelor, faceți clic pe "Next", apoi selectați limba de programare pentru fișierul "C" și faceți clic pe "Next". Se va deschide o fereastră în care trebuie să introduceți un nume de fișier, de exemplu principal.c, și scopul ansamblului la care va fi inclus. Dacă faceți clic pe butonul "Toate", fișierul va fi adăugat la toate țintele disponibile pentru construire.

Figura 7. Introducerea numelui fișierului

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Salvați acest fișier făcând clic pe butonul cu o dischetă din bara de instrumente, utilizând comanda de meniu "File-> Save" sau comanda rapidă de la tastatură Ctrl + S. Apoi selectați comanda de meniu "Build-> Build" sau faceți clic pe butonul cu uneltele din bara de instrumente sau doar apăsați combinația de taste "Ctrl-F9". În partea de jos, în fereastra "Jurnaluri" altele ", jurnalul de compilare va fi afișat în fila" Construiți jurnalul ", iar fila" Construiți mesaje "va afișa mesajele de eroare și avertismentele, dacă există.

Figura 8. Vederea proiectului colectat

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

Dezvoltarea aplicațiilor pentru dispozitive încorporate, partea 4

După asamblarea proiectului cu numele fișierului de ieșire specificat în câmpul «numele fișierului de ieșire» setările ( «build-> Properties», fila «Build obiective», a se vedea. Figura 4), este plasat în directorul bin / Debug (sau alta, în funcție de Modul în care ați configurat obiectivele de asamblare). Acesta este creat implicit în format Intel Hex și poate fi încărcat în procesor folosind programatorul. În plus, un compilator creează un fișier * .mem care reprezintă harta de utilizare a memoriei. Directorul obj / Debug (în funcție de ansamblul țintei) sunt fișiere * .asm, * .lst, * .rst, reprezentând diferite opțiuni pentru listarea de asamblare a programului creat de compilator.

Puteți încerca să utilizați o abordare similară în cazul în care trebuie să lucrați cu alți compilatori pentru soluții încorporate, de exemplu GNU ARM GCC. Și acest articol scurt descrie modul în care puteți configura Code :: Blocks pentru a dezvolta aplicații ARM-GCC folosind propriul Makefile.

concluzie

În această parte finală a seriei de articole, ați învățat cum să creați și să configurați un proiect pentru dezvoltarea de aplicații utilizând compilatorul SDCC în mediul Code :: Blocks cu efort minim.

Descărcați resurse

Subiecte conexe

Articole similare