Acasă » Microcontrollers » Development tools » Setare Geany IDE pentru compilare fisiere JAL

Setare Geany IDE pentru compilare fisiere JAL

Pana recent am folosit mediul de dezvoltare Piklab pentru proiecte JALv2/Jallib, insa acesta continua sa se bazeze pe bibliotecile Qt3/KDE3 care mai sunt suportate doar de foarte putine distributii de Linux si pana la urma nu va mai merge pe nici o distributie de Linux. Asa ca a trebuit sa ma reorientez si am gasit ca Geany IDE, care foloseste biblioteci gtk+, este foarte usor de setat si de folosit.

 

1. Instalare pachete

Pentru a merge mai departe, trebuie sa aveti atat Geany, cat si Jallib instalate. Este foarte posibil ca Geany sa existe in repozitoriul distributiei voastre de Linux asa ca doar il instalati folosind managerul de pachete disponibil, insa pachetul Jallib va trebui descarcat separat. Mergeti la adresa http://jallib.googlecode.com, sectiunea „Downloads„, si descarcati ultimul pachet oficial pentru linux, sau cea mai recenta versiune SVN, impachetata saptamanal, sub  un nume ca acesta, „jallib-pack-bee-$versiune-$data.zip” (unde $versiune este inlocuit de versiunea distributiei, iar $data, de data la care a fost creat pachetul).

Dupa ce ati descarcat pachetul jallib, creati un folder in directorul vostru $HOME (de exemplu, /home/george), denumit jallib si despachetati arhiva acolo. Ar trebui sa arate ca aici:

2. Configurare Geany pentru compilarea unui singur fisier

Lansati Geany in executie si din meniul „Build„, selectati optiunea „Set Build Commands„.

In caseta de dialog care apare, selectati primul buton fara eticheta din coloana „Label” :

Apare un dialog cu un camp de editare, in care introducem denumirea operatiunii – textul trebuie sa fie sugestiv. Mentionez ca textul ales va apare ca optiune in meniul „Build„. Alegeti, de exemplu, „Compile Jalv2 file” (asta e, interfata lui Geany este in limba engleza):

In campul din dreapta butonului (coloana „Command„) introduceti urmatorul text:

$HOME/jallib/compiler/jalv2 -s $HOME/jallib/lib %f

Cam atat deocamdata, apasati butonul „Ok„. Daca nu ati facut-o pana acum, deschideti un fisier jal din jallib/sample (oricare, nu conteaza acum) si alegeti optiunea „Compile Jalv2 file” 😉 din meniul „Build” (care optiune este activa doar daca aveti deschis un fisier):

Daca fisierul ales este unul din seria „Blink” (clipire LED), atunci compilarea este aproape instantanee:

Este fain faptul ca atunci cand compilatorul afiseaza o eroare, aceasta este evidentiata in Geany cu culoarea rosie si se poate face click pe ea pentru pozitionare in editor pe linia de cod care a cauzat eroarea:

3. Configurare Geany pentru compilare proiecte

Hmm! Dupa citirea documentatiei, si dupa ce m-am jucat o vreme cu optiunile din meniul „Project”, tot nu m-am lamurit prea tare. Dupa cum stiti, in dialogul de configurare comenzi de compilare, nu sunt decat 3 randuri disponibile, pentru trei comenzi. Or, daca e sa luam in calcul ca Geany suporta mai mult de 3 limbaje de programare si faptul ca este foarte posibil sa stapaniti, sa zicem, 5 limbaje de programare, atunci clar nu va ajung doar cele trei comenzi definibile de compilare.

Tot ce am inteles este ca optiunea „Project” iti ofera posibilitatea sa stabilesti reguli si comenzi de compilare pentru diferite tipuri de fisiere/limbaje (*.C, *.cpp, *.java, *.jal, etc.). In momentul deschiderii unui proiect, comenzile de compilare ale acestuia devin prioritare si inlocuiesc comenzile generale definite anterior. Cam atat – nu are mai nimic in ce priveste managementul fisierelor in cadrul proiectului. Sau pur si simplu nu am inteles eu cum sta „traba”. Oricum, referitor la Jal, ne putem descurca si fara optiunea de „Project” (vezi capitolul 2).

Totusi, chiar si asa, nu strica un pic de organizare. Pentru fiecare proiect nou la care lucram, e bine sa cream un director separat. De asemenea, este foarte posibil sa avem si alte fisiere *.jal aditionale, pe post de biblioteci, stocate in directorul proiectului. In acest caz, trebuie inclusa calea directorului de lucru in lista directoarelor care contin biblioteci. Pentru asta vom redefini comanda din capitolul 2 dupa cum urmeaza:

$HOME/jallib/compiler/jalv2 -s $HOME/jallib/lib -s %d %f

4. Configurare colorare sintaxa

Din pacate, echipa de programatori ai proiectului Geany nu a auzit de limbajul JALv2 😦 . Totusi, din lista de limbaje suportate, cel mai mult se apropie limbajul VHDL, cu o sintaxa asemanatoare si cateva cuvinte cheie care se potrivesc. De asemenea, formatul comentariului din sursa este recunoscut si afisat ca atare. Pentru inceput este destul de bine decat deloc. Odata ce ati deschis fisierul cu extensia .jal, alegeti urmatoarea optiune din structura de meniuri:

Si rezultatul:

Exista posibilitatea editarii fisierelor de configurare pentru a putea crea reguli pentru fisierele Jal? Da, este posibil. Vom modifica fisierul de configurare pentru limbajul VHDL fara sa afectam setarile generale, astfel incat se poate reveni oricand la starea originala.

4.1 Instalare fisiere configurare sintaxa JAL

Descarcati fisierul filetype_extensions.conf si instalati-l in folderul:

$HOME/.config/geany

Descarcati fisierul filetypes.vhdl si instalati-l in folderul:

$HOME/.config/geany/filedefs

Restartati Geany si ar trebui sa aveti o colorare de sintaxa mult mai cuprinzatoare. Nu am pretentia ca am reusit sa adaug toate cuvintele cheie si, de asemenea, ca as fi reusit sa elimin toate cuvintele cheie ale VHDL (am facut modificare pe textul VHDL deja existent), dar cele mai multe sunt acolo. Eu cred ca aveti o functionalitate rezonabila si oricum, fisierul poate fi modificat oricand de utilizator.

Datorita dimensiunilor reduse ale ecranului nu se poate cuprinde decat o mica parte din sintaxa (comparati asta cu imaginea anterioara):

filetypes.vhdl este deja la versiunea 6.

5. Concluzie

A mea este ca in felul acesta obtinem un IDE rezonabil pentru dezvoltare aplicatii cu microcontroler folosind limbajul JALv2, intr-un timp foarte scurt, fara sa ne atingem de codul sursa Geany. A voastra care este?

Anunțuri

Discutii

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s