Skip to content

Se pare ca toata lumea trece la avr-gcc 4.8.x …

Decembrie 17, 2013

De ceva vreme, distributiile linux trec rand pe rand la versiunile 4.8.x (curent, 4.8.2) ale avr-gcc. Atmel, care multa vreme a folosit 4.6.x pentru Atmel Studio si, dupa ce a surprins pe toata lumea cu un foarte reusit 4.7.2, a inceput sa actualizeze intr-un ritm mult mai rapid la noile versiuni, 4.7.3 si recent la 4.8.1. Insa are grija ca Toolchain-ul de sine statator sa fie in urma fata de cel livrat cu Atmel Studio – noroc cu distributiile linux ca ne tin la curent cu noutatile🙂 .

Pentru cei care au folosit (si simt lipsa) WinAVR-ul(i), exista un foarte bun inlocuitor numit MHV AVR Tools, care acum vine cu versiunea 4.8.2 a avr-gcc-ului. Este un toolchain foarte bine pus la punct de catre australienii de la http://www.makehackvoid.com.

Este clar ca migrarea la noua versiune 4.8.x este inevitabila. In prezent, biblioteca atmegaclib2 este in curs de „remodelare” pentru ca este deja foarte mare si greu de intretinut (trecem la conceptul de biblioteca multifisier😛 ). Fiecare proiect va avea propriul atmegaclib2.h header pentru ca setarile din header sa nu afecteze celelalte proiecte. De asemenea, nu va mai fi nevoie de linkeditarea in proiect a bibliotecii atmegaclib2 ceea ce elimina necesitatea de a schimba mereu microcontrollerul tinta in functie de nevoile fiecarui proiect. Voi furniza noi informatii pe masura ce avansez cu modificarile (vor fi mai multe comiteri preliminare in SVN, asa ca doar supravegheati fenomenul fara sa faceti update-uri) .

9 comentarii
  1. Exista asa ceva si pt Microchip?

  2. Da, pentru PIC-urile pe 16 si 32 de biti, insa versiuni vechi ale compilatorului gcc. Parca 4.5.x este cel mai recent pentru PIC32. Microchip a fost mai preocupat de vanzari decat de upgrade-uri. Pungasi …

    Nu vor avea niciodata comunitatea de dezvoltatori voluntari din jurul avr-gcc (sau macar una similara).

  3. Florin Tanasa permalink

    Ai mare dreptate Vasile, mai si cer o gramada de bani pe compilator cu toate optimizarile. Am preferat sa platesc la ortodoxii de la mikroelektronika pe mikroc ce dau licenta pe viata, a lor sau a mea dar asta nu mai conteaza🙂

    • Florine, m-am uitat la preturile celor de la http://tme.ro si un compilator mikro Pascal pentru AVR este in jur de 644 RON cu tot cu taxe (daca am calculat bine). Nu este nici ieftin, dar nici scump. O vreme este bun si in varianta free, pentru ATtiny-uri si ATmega cu maxim 4Kb de memorie FLASH. Daca trec pe proiecte comerciale, ma gandesc sa-l iau pentru ca e mai comod ca Toolchain decat avr-gcc cu Eclipse IDE iar intregul „API” este foarte bine documentat si disponibil direct in IDE.

  4. Ceea ce face un compilator (sau un toolchain de dezvoltare) atractiv in afara de optimizari, este pachetul complet de functii sau mai bine zis, biblioteca (si un set bun de placi de dezvoltare) ce te ajuta sa prototipizezi rapid un proiect in orice domeniu de activitate.

    Toti producatorii care ofera toolchain-uri gratis sau comercial, vin cu astfel de biblioteci de functii la pachet. Microchip a stat foarte bine la acest capitol cu al ei Microchip Application Library desi nu acopera toate aspectele. La fel incearca si Atmel cu ASF-ul (Atmel Software Library) insa vine cu „wizards” sofisticati, care te ajuta ceva mai mult decat simplele exemple de la Microchip. Problema este ca nu ofera suport pentru toate microcontrolerele ATmega si ATtiny. Prin comparatie, biblioteca jallib pentru limbajul JALv2 este fantastica! Vine cu o multime de exemple si cu functii pentru o categorie mare de senzori, actuatori, etc. (chiar asa Catalin, de ce nu-l incerci, performantele sunt cu mult peste oricare compilator free pentru PIC-uri si de la egal la egal cu solutiile comerciale).

    De asemenea, CCS C-ul si MIkro C-ul exceleaza la capitolul „wizards” (eu prefer termenul „asistenti”) sau la numarul de functii pentru chiar orice periferic, actuator sau senzor. Intotdeauna, viteza prototipizarii primeaza in fata optimizarilor. Daca ai finalizat cu succes prototipizarea si ti-ai testat cu succes ideea sau proiectul, treci si la optimizari daca este cazul. Insa daca iti pierzi timpul cu un compilator performant unde trebuie sa iti faci fiecare functie in parte si te impotmolesti undeva, evident ca pierzi timp in favoarea competitiei. De aceea este Arduino atat de popular (un al doilea motiv fiind desigur microcontrolerul folosit).

    In orice caz, nu voi intelege niciodata Microchip sau mai bine zis, incapatanarea lor de a vinde compilatoare bazate pe proiectul open-source gcc, in conditiile in care concurenta vine cu un compilator complet gratis (acelasi gcc) si nelimitat. Si pana la urma recunosti ca fenomenul Arduino te-a luat prin surprindere si ai vrea si tu o felie de acolo (tarziu mosule Microchip😀 ). Este adevarat ca ei ofera un compilator gratis cu toate optimizarile disponibile pentru microcontrolere PIC32, insa comunitatea hobby lucreaza in continuare cu microcontrolere pe 8biti la 5 volti. Asa ca placile „Arduino” cu PIC32 nu prea au succes. Si ei ii dau in continuare cu toolchain-ul comercial pentru PIC-urile pe 8 biti! Insa alternativele PIC Micro Pascal si JALv2 sunt superioare la ora actuala asa ca nu ar trebui sa ne pese.

    • Nu sunt foarte experimentat in programarea de microcontrolere, nu am facut aplicatii complexe si cred ca intai am de depasit o bariera psihica: cumva am ramas pe Microchip si am ramas cu impresia ca daca incerc altceva, o iau de la 0, investesc alti bani in hardware (desi acum cu 10$ iei un programator pt AVR pe USB) iar mie imi trebuie timp si incercari pina sa inteleg cum merge acel ceva nou. Voi incerca, acum ma uit la Pinguino (18F4550), multumesc!

    • Este adevarat, JALv2 este un limbaj nou si ca orice lucru nou, necesita alocare de timp insa merita pentru ca suporta (aproape) toate microcontrolerele PIC10F, PIC12F, PIC16F si PIC18F.

  5. Florin Tanasa permalink

    Vasi eu am luat mikroc cu discount 50 de dolari. Trebuie stransi banuti, ceea ce este foarte greu binenteles deoarece angajatorii nu au sa plateasca niciodata asa ca pe urma faci acumulari si nu mai vii la treaba, si se asteapta momentul. La mikroc merita deoarece odata luat ai licenta pe viata iar la biblioteci nu cred sa-i intreaca careva.
    De exemplu am descoperit un site unde am luat o placa de baza de 3,5″ pentru intel core 2 cu port gpio ce o voi folosi la viitorul transceiver sdr la frumosul pret de 60 de euro (transportul cam tot atat m-a costat) iar placa costa la ei 275 euro in mod normal iar la englezi 375 lire. Dupa ce am luat placa au refacut pretul la loc 275 euro. Sunt site-uri care ajuta intr-un fel comunitatea si pe cei ce le curg „ochii” uitandu-se la monitor. Si acum mai au unele placi la preturi promotionale http://www.itx-france.com/

    • Avantajul card-ului si contului PayPal banuiesc… Momentan, depind de ce pot gasi pe piata romaneasca. Din punctul asta de vedere, http://www.tme.ro e „mana cereasca”😛

Va rog, nu folositi limbaj de messenger. Multumesc!

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

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

%d blogeri au apreciat asta: