Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 kwi 2024, o 08:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 22 gru 2012, o 21:05 
Offline
Nowy

Dołączył(a): 22 gru 2012
Posty: 3
Pomógł: 0

Witam wszystkich,

Właśnie dotarła do mnie niebieska książka i chcę zacząć się uczyć. Pierwsze co zrobiłem to postawiłem IDE i zacząłem kompilować bardzo proste przykładowe programiki żeby trochę oswoić się ze środowiskiem - w moim przypadku Code::Blocks i AVR Studio 4.19 dla porównania. Zauważyłem jednak jedną dziwną rzecz - rozmiar kodu wynikowego zmienia się wraz ze zmianą toolchaina. Czy to normalne zachowanie?

Dla kilku przykładowych linijek kodu AVRS + Atmel Toolchain 3.3.1 (oczywiście wersje windows pod Wine) generuje 128 bajtów. Code::Blocks + Atmel 3.2.3 dokładnie tyle samo, ale już Code::Blocks + 3.4.1 daje 160 bajtów. AVRS z 3.4.1 jeszcze nie próbowałem, bo Code::Blocks jakoś bardziej mi podchodzi szczególnie że działa natywnie w Linuksie. Dodam, że nie zmieniam żadnych parametrów kompilacji a jedynie podmieniam toolchainy. Wiem, że na moim etapie i zapewne jeszcze długo te różnice nie będą miały większego znaczenia, ale lubię wiedzieć co z czym i dlaczego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 gru 2012, o 21:43 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

No to jak lubisz wiedzieć - to chyba nie dziwne że nawet przy zmianie starszej wersji na nowszą toolchaina a nie tylko zmiany np WinAVR na Atmel toolchain - mogą występować różnice w wielkości generowanego kodu. Nie za bardzo nawet wiem co cię tu może dziwić. W końcu jest aktualizacja toolchaina czy miana i inaczej generuje pewne fragmenty kodu do asemblera - no cóż w tym dziwnego ? ;)

no i przede wszystkim wielkość kodu nie zależy od środowiska programistycznego w jakim pracujesz ;) przecież CB czy Eclipse czy AVRS to tylko takie bardziej rozbudowane wersje edytorów - które do kompilacji wołają narzędzia toolchaina.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2012, o 07:09 
Offline
Nowy

Dołączył(a): 22 gru 2012
Posty: 3
Pomógł: 0

OK, rozumiem. To dopiero moje "początkowe początki" więc nie dziw się mojemu zdziwieniu. :) Czy w takim razie jest jakiś klucz doboru toolchaina czy zostać przy tym który generuje najmniejszy kod dla używanego procesora?

P.S. I co oznacza "Segmentation fault"? Zawsze otrzymuję go kiedy próbuję skompilować program z toolchainem 3.3.2.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2012, o 10:15 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27227
Lokalizacja: Szczecin
Pomógł: 1041

Klucz jest taki, przynajmniej ja tak podchodzę ... jak wszystko działa to się nie przejmuję. Co nie oznacza że siedzę i pracują wciąż na najstarszej wersji. Zwykle jak jest nowsza to używam nowszej - to wszystko. Proste i zdroworozsądkowe podejście. Na linuxie jest większy zawrót głowy bo masz tam więcej różnych dziwnych beta wersji ;) .... Ja linuxa nie znam i nie używam więc takich dylematów nie mam. Na windowsie pojawił się ostatnio najnowszy atmelowski toolchain, nasi forumowicze dorobili do niego patcha do plugina AVR dla Eclipse i teraz wielu naszych forumowiczów właśnie korzysta z tego toolchaina.

Więcej czasu poświęć po prostu na programowanie niż martwienie się wyborami toolchainów. Zresztą ja do dzisiaj dla popularnych ATmeg też korzystam z ostatniej oficjalnej wersji WinAVR z 2010 roku i też jest dobrze. I co z tego że są jakieś tam minimalne różnice w kodzie po kompilacji. Rzadko kiedy tak dobieram procka żeby trzeba było walczyć o 2-3 ostatnie bajty we Flash ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2012, o 11:27 
Offline
Nowy

Dołączył(a): 22 gru 2012
Posty: 3
Pomógł: 0

Linuxa to w gruncie rzeczy trochę z przymusu, bo komp trochę starawy i W7 na nim rady nie dawało. I jak narazie pracuje mi się na nim przyjemniej niż na drugim kompie z W7, ale to tak tytułem dygresji. Co do toolchaina to zostaję przy tym który jest (3.2.3) i biorę się za naukę. Póki co nie doszła jeszcze płytka stykowa więc bawię się analizą w symulatorze AVRS, który wydaje się naprawdę fajny. Można w nim "wyklikać" stany poszczególnych rejestrów/portów i obserwować działanie programu. Szkoda, że alternatywne IDE nie dają tej możliwości.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 7 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO