pilnie potrzebny kompilator C do procków AVR
Masz problem? Zapytaj na forum elektroda.pl
From: "johny" <sdax_at_nospam_poczta.onet.pl>
Subject: pilnie potrzebny kompilator C do procków AVR
Date: Wed, 22 Aug 2001 07:24:52 +0200
a może ma ktoś pełną wersję kompilatora CodeVisionAvr ?
- będę wdzięczny za wiadomość
johny
From: "peters" <peters_at_nospam_poczta.onet.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Wed, 22 Aug 2001 09:46:13 +0200
a może ma ktoś pełną wersję kompilatora CodeVisionAvr ?
- będę wdzięczny za wiadomość
johny
Ja mam. O co chodzi?
--
pozdrawiam, peters
peters_at_nospam_poczta.onet.pl
http://peters.republika.pl (strona Petersa dla elektroników)
From: "Grzegorz Kurczyk" <control_at_nospam_post.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Wed, 22 Aug 2001 12:14:45 +0200
Użytkownik johny <sdax_at_nospam_poczta.onet.pl> w wiadomości do grup dyskusyjnych
napisał:3b834183$1_at_nospam_news.vogel.pl...
a może ma ktoś pełną wersję kompilatora CodeVisionAvr ?
Witam
A czy musi to być CodeVision ?
Bardzo przyzwoity i całkowicie bezpłatny jest AVR-GCC.
Pozdrawiam
Grzegorz
http://www.control.prv.pl
ftp://213.25.234.186
control_at_nospam_post.pl
From: "Chooch" <lawniczak_at_nospam_idea.net.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Wed, 22 Aug 2001 20:30:35 +0200
A czy musi to być CodeVision ?
Bardzo przyzwoity i całkowicie bezpłatny jest AVR-GCC.
Jak ktoś jest przyzwyczajony do pięknych okienek w 24-bitowym kolorze to
AVR-GCC może spowodować u niego tragiczny w skutkach szok estetyczny 8-)))
pozdr.
CHOOCH
From: "Grzegorz Kurczyk" <control_at_nospam_post.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Wed, 22 Aug 2001 22:30:34 +0200
Użytkownik "Chooch" <lawniczak_at_nospam_idea.net.pl> napisał w wiadomości
news:9m0u02$pt7$4_at_nospam_news.tpi.pl...
A czy musi to być CodeVision ?
Bardzo przyzwoity i całkowicie bezpłatny jest AVR-GCC.
Jak ktoś jest przyzwyczajony do pięknych okienek w 24-bitowym kolorze to
AVR-GCC może spowodować u niego tragiczny w skutkach szok estetyczny 8-)))
To prawda .... :-)
Ja i tak klepie w assemblerze, więc problem mnie bezpośrednio nie dotyczy.
Ćwiczyłem kilka kompilatorów C, Pascala itp. na AVR-y i "optymalność" kodu
wynikowego mnie przeraża = :-o Dlatego wolę se zoptymalizować na piechotę.
Lista rozkazów tych procesorów jest raczej niedostosowana do języków
wysokiego poziomu i wiele rzeczy kompilatory robią niejako na siłę.
--
Pozdrawiam
Grzegorz
http://www.control.prv.pl
ftp://213.25.234.186
control_at_nospam_post.pl
From: "Jacek Poźniak" <j.pozniak_at_nospam_metron.torun.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Thu, 23 Aug 2001 11:11:38 +0100
Ja i tak klepie w assemblerze, więc problem mnie bezpośrednio nie dotyczy.
Ćwiczyłem kilka kompilatorów C, Pascala itp. na AVR-y i "optymalność" kodu
wynikowego mnie przeraża = :-o Dlatego wolę se zoptymalizować na piechotę.
Lista rozkazów tych procesorów jest raczej niedostosowana do języków
wysokiego poziomu i wiele rzeczy kompilatory robią niejako na siłę.
Witam
No właśnie.
Jak to jest z optymalizacją w DARMOWYCH kompilatorach na
mikrokontrolery(GCC)
Sam stosuję Keila na '51 i HiTecha na PICe.
Co do PICów to nie wiem bo nie znam zbytnio ich asemblera.
Co do Keila na 51 to muszę przyznać, że jest niezły pod względem
optymalizacji kodu; praktycznie nie ma czego poprawiać (wersja jeszcze dla
dosa, dość stara).
Kiedyś przy portingu oprogramowania z asm na C pozwoliłem sobie sprawdzić co
wyjdzie z asemblera a co z Keila.
Typ programu: procedury do obsługi I2C.
Wynik: różnica ok 5% na korzyść asm.
Sprawdziłem różnice. Dotyczyły one wskaźnika przeniesienia (w asm robiłem z
niego użytek, Keil radził sobie inaczej(sprawdzanie bitu acc.7 czy coś w tym
stylu).)
Chciałem się spytać czy ktoś ma doświadczenia zarówno w kompilatorze
komercyjnym jak i darmowym i mógłby mi odpowiedzieć.
Pozdrawiam
Jacek Poźniak
From: "Grzegorz Kurczyk" <control_at_nospam_post.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Thu, 23 Aug 2001 17:24:56 +0200
Użytkownik "Jacek Poźniak" <j.pozniak_at_nospam_metron.torun.pl> napisał w wiadomości
news:9m2ha1$n4s$1_at_nospam_flis.man.torun.pl...
Witam
Jak to jest z optymalizacją w DARMOWYCH kompilatorach na
mikrokontrolery(GCC)
W darmowych wcale nie jest tak źle, a czasami nawet lepiej niż w płatnych.
Co do Keila na 51 to muszę przyznać, że jest niezły pod względem
optymalizacji kodu; praktycznie nie ma czego poprawiać (wersja jeszcze dla
dosa, dość stara).
Kiedyś przy portingu oprogramowania z asm na C pozwoliłem sobie sprawdzić
co
wyjdzie z asemblera a co z Keila.
Typ programu: procedury do obsługi I2C.
Wynik: różnica ok 5% na korzyść asm.
Sprawdziłem różnice. Dotyczyły one wskaźnika przeniesienia (w asm robiłem
z
niego użytek, Keil radził sobie inaczej(sprawdzanie bitu acc.7 czy coś w
tym
stylu).)
Chciałem się spytać czy ktoś ma doświadczenia zarówno w kompilatorze
komercyjnym jak i darmowym i mógłby mi odpowiedzieć.
Ćwiczyłem kilka kompilatorów płatnych (wersje demo) : CodeVision, ICCAVR,
IAR i bezpłatnego AVRGCC.
CodeVision w ostatnich wersjach daje przyzwoity i przejrzysty kod. Wszystkie
parametry do funkcji przekazywane są przez programową stertę (stos) z
wykorzystaniem rejestru indeksowego Y. Ostatnie wersje umożliwiają również
deklarowanie zmiennych w rejestrach (za wyjątkiem typu long). W CV bardzo
przyjemnie łaczy się C z Assemblerem. Bardzo fajne są zmienne typu bit i
traktowanie w ten sposób bitów obszaru I/O.
ICCAVR jest żywcem zerżnięty (przepraszam za niecenzuralne słowo) z
bezpłatnego AVRGCC. Przy analizowaniu kodu winikowego zauważyłem tylko jedną
róznicę w konstrukcji typu:
if (bit_jakiegos_portu == 0) {
...
}
ICCAVR kompiluje to na coś w tym rodzaju:
SIBC jakis_port, bit
RJMP koniec
...
koniec:
w AVRGCC trzeba posiłkować się funkcją (a właściwie makrodefinicją)
bit_is_clear czyli:
if (bit_is_clear(jakis_port, bit)) {
...
}
AVRGCC robi z tego coś takiego:
CLR R24
SIBC jakis_port, bit
INC R24
CPI R24, 0
BREQ koniec
...
koniec:
Poza tą jedną wadą bezpłatny AVRGCC w niczym nie ustępuje płatnemu ICCAVR
(no może poza ładnym desktopem :-) Oba kompilatory stosują odrobinę pokrętny
sposób przekazywania parametrów do funkcji, część przez rejestry (chyba
pierwsze cztery bajty), a resztę przez stertę, co wprowadza trochę
zamieszania przy wstawkach assemblerowych.
Przy prostych algorytmach (typu wspomniana przez Ciebie obsługa I2C)
polegających głównie na ustawianiu i kasowaniu bitów w portach plus prosta
pętla, kompilatory radzą sobie nieźle (ale do tego jeszcze lepszy jest
assembler). Gorzej się sprawy mają przy korzystaniu z bardziej złożonych
struktur danych w rodzaju tablica rekordów. Kompilator wyrzuca z siebie
mnóstwo kodu wynikowego tam gdzie w assemblerze można to samo zrobić
kilkunastoma rozkazami.
Potym jak to przetrawiłem, doszedłem do wniosku, że najlepszym kompilatorem,
optymalizatorem i linkerem jest ... własny mózg ;-)))
Fakt, że makroassembler :-)))) dołączony do AVR Studio, to tylko z nazwy
jest makroassemblerem. Osobiście używam bezpłatnego AVRA, który ma naprawdę
b.dobry preprocesor. Jedyną jego wadą jest jakiś błąd powodujący niekiedy
zawieszenie programu podczas wyświetlania komunikatów błędów assemblacji.
--
Pozdrawiam
Grzegorz
http://www.control.prv.pl
ftp://213.25.234.186
control_at_nospam_post.pl
From: "Jacek Poźniak" <j.pozniak_at_nospam_metron.torun.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Fri, 24 Aug 2001 13:56:16 +0100
Dzięki za opinie.
Pozdrawiam
JP
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Wed, 22 Aug 2001 23:30:33 GMT
On Wed, 22 Aug 2001 20:30:35 +0200, Chooch wrote:
A czy musi to być CodeVision ?
Bardzo przyzwoity i całkowicie bezpłatny jest AVR-GCC.
Jak ktoś jest przyzwyczajony do pięknych okienek w 24-bitowym kolorze to
AVR-GCC może spowodować u niego tragiczny w skutkach szok estetyczny 8-)))
Eee - IMHO to trzeba sobie tylko dobrze emacsa skonfigurowac :-)
J.
From: "Chooch" <lawniczak_at_nospam_idea.net.pl>
Subject: Re: pilnie potrzebny kompilator C do procków AVR
Date: Thu, 23 Aug 2001 18:16:56 +0200
Jak ktoś jest przyzwyczajony do pięknych okienek w 24-bitowym kolorze to
AVR-GCC może spowodować u niego tragiczny w skutkach szok estetyczny
8-)))
Eee - IMHO to trzeba sobie tylko dobrze emacsa skonfigurowac :-)
Taaak, i poświęcić jakieś 2-3 tygodnie na opanowanie podstawowego zestawu
skrótów klawiszowych do tego edytora 8-)))