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



Teraz jest 12 lut 2025, o 19:05


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 
Autor Wiadomość
PostNapisane: 22 sty 2013, o 20:24 
Offline
Użytkownik

Dołączył(a): 14 sty 2013
Posty: 36
Pomógł: 2

Poznając Eclipse postanowiłem porównać wielkość kodu wynikowego z AvrStudio dla tego samego projektu.
Teoretycznie wiem, że IDE nie powinno mieć wpływu na wielkość kodu a jednak.

Porównywałem Eclipse Indigo SR2 + Atmel ToolChain 3.4 z AVR Studio 6 i ... rozmiar kodu różni się o kilka(naście) %.
Czy jest to wina optymalizacji? W avr studio mam -Os w Eclipsie też w konfiguracji Relase jest ustawione Optimization Level: Size Optimization (-Os) więc powinno być tak samo dla tego samego projektu. Czy eclipse jeszcze coś linkuje (linker) dodatkowo?

Zauważyłem również w lekcjach wideo z "niebieskiej książki", że dotyczy to również konfiguracji z WinAVR (dokładnie 5 lekcja).
Może jakaś wskazówka co zmienić bo chyba jest to niemożliwe, żeby nie dało się doprowadzić do takich samych rezultatów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2013, o 21:09 
Offline
Moderator
Avatar użytkownika

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

strzelec napisał(a):
Poznając Eclipse postanowiłem porównać wielkość kodu wynikowego z AvrStudio dla tego samego projektu.
Teoretycznie wiem, że IDE nie powinno mieć wpływu na wielkość kodu a jednak.

Nie teoretycznie a praktycznie ;) Toż to zależy od kompilatora (Toolchaina) ale czy ty wiesz, że AVR Studio 6 korzysta z ATmel Toolchain 3.4.xxx natomiast jeśli instalowałeś Eclipse z książki i WinAVR to przecież korzystasz ze starego toolchaina WinAVR więc masz 2 różne kompilatory i ty chcesz uzyskać ten sam wynik ??? ;)

oj oj ... ktoś tu widzę mało ogląda i czyta bloga www.mirekk36.blogspot.com
a szczególnie przydałby ci się w związku z tym pytaniem ten artykuł:

http://mirekk36.blogspot.com/2012/11/in ... chain.html

poczytaj i obejrzyj VIDEO w poradniku - masz tam przepis jak podciągnąć i zainstalować najnowszy toolchain atmelowski do Eclipsa. Wtedy możesz sobie porównywać ;) taki sam kompilator z takim samym - bo niestety pomysł że IDE ma wpływ na jakość kompilacji jest delikatnie mówiąc hmmm nietrafiony ?

_________________
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: 22 sty 2013, o 21:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 lut 2012
Posty: 155
Lokalizacja: PL, DE, UK, IRL
Pomógł: 3

Mirku, o ile dobrze rowumiem post strzelca to napisał, że porównywał eclipse z toolchainem atmelowskim:
Cytuj:
Porównywałem Eclipse Indigo SR2 + Atmel ToolChain 3.4 z AVR Studio 6



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2013, o 21:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 52
Lokalizacja: Silesia
Pomógł: 0

Tak jak pisze pan Mirek- samo IDE nie ma wpływu na rozmiar kodu. Kiedyś sprawdzałem u siebie AVR Studio 4 z WinAVR oraz Eclipse + WinAVR, wyniki były takie same. Jak do tej pory najmniejszy rozmiar plików wynikowych udało mi się otrzymać wykorzystując do kompilacji GCC 4.7.2, wersja 4.8 (beta czy alfa- nie pamiętam) generuje kod o większej objętości.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 sty 2013, o 23:20 
Offline
Moderator
Avatar użytkownika

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

marthinek napisał(a):
Mirku, o ile dobrze rowumiem post strzelca to napisał, że porównywał eclipse z toolchainem atmelowskim:
Cytuj:
Porównywałem Eclipse Indigo SR2 + Atmel ToolChain 3.4 z AVR Studio 6


No tak to może ja źle zrozumiałem ale i tak nie ma mowy o wpływie IDE na wielkość wsadu :(

_________________
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: 22 sty 2013, o 23:45 
Offline
Użytkownik

Dołączył(a): 14 sty 2013
Posty: 36
Pomógł: 2

Właśnie dlatego, że BARDZO uważnie oglądałem lekcje jak również czytałem bloga to mnie zaskoczyło. (tak na marginesie świetna robota z lekcjami wideo i blogiem).
Całość testu (czy raczej przypadek, że to zauważyłem) wyglądało tak. Instalacja Atmel Studio 6 build 1996 następnie czysta instalacja eclipse indigo pobranego ze strony eclipse.org. Instalacja AVR plugin 2.4 i patch. Patch z bloga nie widzi scieżek do Toolchaina z Atmel Studio ale to mało istotny szczegół. Ustawienie ścieżek i pierwszy program :)

Kod:
/*
 * GccApplication1.c
 *
 * Created: 2013-01-22 22:58:29
 *  Author: Grzegorz Strzelec
 */


#include <avr/io.h>

int main(void)
{
    while(1)
    {
        //TODO:: Please write your application code
    }
}


ten sam program oczywiście w Atmel Studio (Te same procesory Atmega32 FCPU 1MHz - to już tak dla pewności)

A poniżej zrzuty z Atmel Studio i Eclipsa - specjalnie ustawione okna ze ściezkami do Toolchaina.
Na zrzutach widać, że program w Atmel Studio ma 152 bajty a w Eclipsie 160.

Obrazek

Obrazek

Też jestem zdziwiony dlatego pytałem, o optymalizację - sądzę, że jest to kwestia parametrów i gdzieś mojego błędu bo na logikę to jest niemożliwe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 00:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 gru 2012
Posty: 161
Pomógł: 9

U mnie na Eclipse też jest ten mniejszy rozmiar:
Obrazek
Instalowałem najnowszy toolchain ze strony atmela, później eclipse, ścieżki się same ustawiły w poprawionym pluginie.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 00:36 
Offline
Użytkownik

Dołączył(a): 14 sty 2013
Posty: 36
Pomógł: 2

Jedyne AVR-GCC i GNU Make są w tej lokalizacji dla Toolchaina z AS 6. Faktycznie przy instalacji samego toolchaina ze stron Atmela domyślnie instaluje się on w innej lokalizacji i nie ma z patchem problemu.
Eclipse dziwnie zachowuje się z toolchainem z AS 6.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 04:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 65
Zbananowany użytkownik

Pomógł: 4

Linux: avr-gcc 4.7.0 = 114 bajtów
Linux: toolchain 3.4.1_798 = 152 bajty.
Eclipse: 3.8.0


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

_________________
Tylko głupi wie wszystko....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 06:21 
Offline
Moderator
Avatar użytkownika

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

Dobra chociaż uważam takie porównywanie za całkowicie bezzasadne to dzisiaj to sprawdzę ;)

Tylko proszę nie mieszajcie jeszcze do tego wersji toolchainów z linuxa bo to już się robi całkiem bez sensu

_________________
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 sty 2013, o 08:51 
Offline
Użytkownik

Dołączył(a): 14 sty 2013
Posty: 36
Pomógł: 2

Sprawdziłem na innej maszynie instalacja tylko Toolchain 3.4.1.1195 + Eclipse i jest ok czyli 152 bajty.
Tak jak pisałem wyżej "problem" jest tylko z toolchainem z AS6.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 08:59 

Pomógł: 0

Pytanie jakie dokładnie wersje toolchain są zainstalowane na eclipse i na AS, bo całe te porównanie jeżeli nie są identyczne, jest bez sensu.
Równie dobrze moglibyście porównywać osiągi golfa II i golfa II GT.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 09:39 
Offline
Użytkownik

Dołączył(a): 14 sty 2013
Posty: 36
Pomógł: 2

Domyślam się, że skoro instalowałem TYLKO AS6 i konfiguruję w Eclipsie Toolchain Atmela właśnie ten zainstalowany w AS6 to są one takie same.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 09:49 

Pomógł: 0

Domyślasz się, czy jesteś pewien?. Mam zrobione podobnie, tj. zainstalowałem AS6 potem eclipsa i podlinkowałem toolchaina z AS pod eclipsa i mam 100% pewności, że są takie same.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 10:18 
Offline
Moderator
Avatar użytkownika

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

rezasurmar napisał(a):
Domyślasz się, czy jesteś pewien?. Mam zrobione podobnie, tj. zainstalowałem AS6 potem eclipsa i podlinkowałem toolchaina z AS pod eclipsa i mam 100% pewności, że są takie same.


Dokładnie od tego trzeba zacząć opis jak się zadaje pytanie. A do tego trzeba wziąć pod uwagę że często (nie wiem dlaczego) np w AS6 jest włączona optymalizacja -O0 zamiast -Os tak jak w Eclipse

do tego mogą dojść jeszcze inne różnice w domyślnych parametrach kompilacji w makefile - więc i to trzeba porównywać ....

------------------------ [ Dodano po: 3 minutach ]

A tak na końcu to niech ktoś mi powie nawet jeśli się używa dwóch różnych podobych toolchainów np WinAVR i Atmel toolchain - to po kiego grzyba w ogóle porównywać zajętość po kompilacji kodu z pustą pętlą :( ????? to na prawdę jest pomysł troszkę jakby z Kosmosu - nie chcę tu nikogo urazić :(

Nawet gdyby w większym projekcie wyszło parę bajtów w tą czy w tą - to co to za różnica ??? skoro i ten działa i tamten wsad działa ???

Panowie to nie Bascom niestey :( (nic tu nie mam do Bascoma) ale pewnie stąd bierze się to paniczne trochę porównywanie i obawa że jak przy pustym programie jest parę bajtów to pewnie przy większym wyjdzie kilka kilobajtów ?????

_________________
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 sty 2013, o 11:14 

Pomógł: 0

Mogę zrobić porównanie mojego projektu który zajmuje ok 80% Atmega8, jak znajdę chwilę, między starym avr-gcc, a nowym atmelowskim.
Jak to kogoś interesuje. Ale na eclipsie, bo nie mam jakoś ochoty przerabiać projektu na AS6.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 11:31 
Offline
Moderator
Avatar użytkownika

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

rezasurmar napisał(a):
....bo nie mam jakoś ochoty przerabiać projektu na AS6.


brrrr mnie też (przyznam szczerze) nie chce się tylko po to odpalać tego molocha AS6 .... toż to katorga ;)

_________________
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 sty 2013, o 12:05 
Offline
Użytkownik

Dołączył(a): 14 sty 2013
Posty: 36
Pomógł: 2

OK, zamykam temat bo nie ma sensu faktycznie dalej drążyć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 13:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 gru 2012
Posty: 161
Pomógł: 9

A ja byłbym ciekaw jakie wyniki wyszłyby forumowiczowi rezasurmar :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 13:24 

Pomógł: 0

Naprawdę jak się tylko obrobię to zrobię testa :). Nie ma problemu, bo mam równolegle obydwa toolchainy na dwu eclipsach juno. Więc to kwestia tylko przerzucenia projektu.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2013, o 13:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 gru 2012
Posty: 161
Pomógł: 9

Bez pośpiechu :)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 sty 2013, o 12:15 

Pomógł: 0

Jak obiecałem tak uczyniłem
Eclipse JUNO projekt termopara ;) toolchain atmela 3.4.1.798
Oba przypadki z domyślną optymalizacją -0s

Device: atmega8

Program: 5668 bytes (69.2% Full)
(.text + .data + .bootloader)

Data: 108 bytes (10.5% Full)

Eclipse JUNO j/w WinAVR-20100110

Program: 5840 bytes (71.3% Full)
(.text + .data + .bootloader)

Data: 108 bytes (10.5% Full)
(.data + .bss + .noinit)

Dla przykładu Eclipse Ganymade + avr toolchain 3.4.1.798
projekt j/w

Device: atmega8

Program: 5668 bytes (69.2% Full)
(.text + .data + .bootloader)

Data: 108 bytes (10.5% Full)
(.data + .bss + .noinit)

No i dla porównania Granymade + WinAVR-20100110

Device: atmega8

Program: 5840 bytes (71.3% Full)
(.text + .data + .bootloader)

Data: 108 bytes (10.5% Full)
(.data + .bss + .noinit)


Jak widać w przypadku eclipsa znaczenie ma tylko i wyłącznie użyty toolchain. Zresztą niczego innego nie można było się spodziewać. Ponieważ kod nie zależy od IDE.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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