Rozmiar kodu AVR-GCC kontra 51-KEIL

Witam wszystkich. Mam pytanie do praktyków tworzących oprogramowanie na AVR'a (GCC) i '51 (KEIL). Jak sie zgrubsza przekłada rozmiar kodu wynikowego programu napisanego w C na AVR'a w porownaniu do '51?

Na przykład mam program w C, który kompiluje się na 96kB (bankowany) w '51, jaki będzie rozmiar kodu wynikowego tego samego programu skompilowanego na AVR'a?

Mam obawy przed zastosowaniem AVR'a w projekcie -- czy sie zmieszczę w ATMEGA128.

Na '51 piszę w Keil'u, na AVR'a chciałbym użyć GCC

Reply to
Pawel Sklarow
Loading thread data ...

Adam Dybkowski napisal(a):

Niekoniecznie. Zauwaz, ze 8051 wiele instrukcji mialo dlugosc 1 bajt, a tu najkrotsze instrukcje maja dlugosc 2 bajtow. Najdluzsze pod 51 to

3 bajty, a pod AVR 4 bajty. Tak czy siak ja zrobilem pewne porownanie, ale tylko pod Codevision i w dodatku program jest, niestety, bardzo krotki. Rzeczony program napisany pod Keil mial 932 bajty, a po przerobieniu na Codevision 1400 bajtow. Program wykorzystywal I2C i EEPROM. Aha,do obslugi I2C wykorzystalem gotowce z Codevision. Pod 51 mialem wlasne procedury.
Reply to
Marcin E. Hamerla
Reply to
Marek Dzwonnik

Marek Dzwonnik napisal(a):

Jeszcze dopisze, bo poprzednio zapomnialem. W porownaniu do kodu generowanego przez Keila kod z Codevision nie wyglada zbyt ciekawie. Znaczy, kod generowany Keila jest elegancki i mozna z latwoscia przesledzic bieg programu. Nawet jesli jakas instrukcja jest zbedna, to wiadomo dlaczego ona tam jest. W przypadku CV jest inaczej - logika dzialania kompilatora jest taka, ze program sledzic jest trudno, a zbednych instrukcji jest sporo. No i dziwne wywolania procedur o ramptem dwoch liniach kodu....

Reasumujac powiedzialym, ze jesli nawet kod dla AVR _moglby_ byc taki sam czy krotszy, to jakosc narzedzi moze byc znacznie nizsza niz dopracowany kompilator Keila i dlatego kod wynikowy bedzie dluzszy.

Reply to
Marcin E. Hamerla

Zrobiłem teścik - kod na '51 zajmujący ~50kB po skompilowaniu na AVR'a zajął niecałe 30kB. Jako, że to jest mój kod docelowy - pięknie użyję AVR'a, czego się troszkę bałem. Dziękuje wszystkim za zainteresowanie.

Reply to
Pawel Sklarow

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.