eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaCzy kolejne wersje win-avr-gcc generują coraz dłuższy kod?
Ilość wypowiedzi w tym wątku: 26

  • 21. Data: 2011-03-24 21:38:11
    Temat: Re: Czy kolejne wersje win-avr-gcc generują coraz dłuższy kod?
    Od: "Marcin Wasilewski" <j...@a...pl>

    Użytkownik "Robbo" <y...@m...com> napisał w wiadomości
    news:4d8b2170$0$2506$65785112@news.neostrada.pl...
    > Używam starego WinAVR. Chciałem przesiąść się na nową wersję. Gdy
    > zobaczyłem, że binarka jest znacząco większa w nowym WinAVR, to
    > szybciutko wróciłem do starej wersji i tyle.
    > R.

    Starą czyli jaką? Jakiś numerek możesz podać?


  • 22. Data: 2011-03-24 23:41:42
    Temat: Re: Czy kolejne wersje win-avr-gcc generuj? coraz d3u?szy kod?
    Od: shg <s...@g...com>

    On Mar 24, 10:23 pm, "Andrzej" <d...@o...pl> wrote:
    >
    > B d bardzo wdzi czny.
    > Ten kod st d:http://www.cappels.org/dproj/nlglcm/Pretty%20Good%
    20LC%20Meter%20Proj...
    > Jest to miernik LC. Autor zrobi wy wietlanie wyniku na drugim procesorze
    > AtTiny 2313.
    > Ja upro ci em troch jego r d o i dopisa em obs ug LCD na tym samym
    > procesorze. My la em, e mo e si zmie ci, albo tylko troch przekroczy
    > pojemno , a tu masz - prawie 5kB.
    > Wi c skompilowa em jego r d o - tylko nieco mniej.
    > Policzy em wielko pliku hex (znam format) - poni ej 2kB
    > Zmieni em gcc, na tak wersj jak on podaje - niewielka r nica w wielko ci
    > kodu.
    > W makefile nic nie grzeba em, w czy em tylko optymalizacj -os uzyskane po
    > wyklikaniu w AvrStudio.
    > Mysla em, e p jdzie lekko, atwo i przyjemnie, a tu przyjdzie si uczy
    > tych wszystkich opcji z makefile...

    Zmieniłeś też wersję avr-libc?
    Widzę tam operacje na float (double, ale to i tak float), od którejś
    wersji avr-libc te procedury bardzo "spuchły". Dowolna operacja na
    float to chyba 3 kB kodu na dzień dobry. We wcześniejszej wersji było
    dużo mniej, około 1 kB.


  • 23. Data: 2011-03-25 07:22:08
    Temat: Re: Czy kolejne wersje win-avr-gcc generuj? coraz d3u?szy kod?
    Od: JDX <j...@o...pl>

    On 2011-03-24 22:23, Andrzej wrote:
    [.....]
    > Ten kod stąd:
    > http://www.cappels.org/dproj/nlglcm/Pretty%20Good%20
    LC%20Meter%20Project.html
    Na początku zaznaczę, że AVR-y to dla mnie nowość. Ale mikrokontrolery
    tak ogólnie i gcc to już nie... W każdym bądź razie ściągnąłem plik
    2313LCmeter_070217A_project.zip, rozpakowałem i odpaliłem serię komend:

    D:\Temp\LCMeter>make clean

    -------- begin --------

    Cleaning project:
    rm -f 2313LCmeter.hex
    rm -f 2313LCmeter.eep
    rm -f 2313LCmeter.cof
    rm -f 2313LCmeter.elf
    rm -f 2313LCmeter.map
    rm -f 2313LCmeter.sym
    rm -f 2313LCmeter.lss
    rm -f 2313LCmeter.o
    rm -f 2313LCmeter.lst
    rm -f 2313LCmeter.s
    rm -f 2313LCmeter.d
    rm -f .dep/*
    -------- end --------


    D:\Temp\LCMeter>make

    -------- begin --------
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


    Compiling: 2313LCmeter.c
    avr-gcc -c -mmcu=at90s2313 -I. -gdwarf-2 -DF_CPU=4000000UL -Os
    -funsigned-char
    -funsigned-bitfields -fpack-struct -fshort-enums -Wall
    -Wstrict-prototypes -Wa,-
    adhlns=2313LCmeter.lst -std=gnu99 -MD -MP -MF .dep/2313LCmeter.o.d
    2313LCmeter.
    c -o 2313LCmeter.o

    Linking: 2313LCmeter.elf
    avr-gcc -mmcu=at90s2313 -I. -gdwarf-2 -DF_CPU=4000000UL -Os
    -funsigned-char -fu
    nsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes
    -Wa,-adh
    lns=2313LCmeter.o -std=gnu99 -MD -MP -MF .dep/2313LCmeter.elf.d
    2313LCmeter.o -
    -output 2313LCmeter.elf -Wl,-Map=2313LCmeter.map,--cref -lm

    Creating load file for Flash: 2313LCmeter.hex
    avr-objcopy -O ihex -R .eeprom 2313LCmeter.elf 2313LCmeter.hex

    Creating load file for EEPROM: 2313LCmeter.eep
    avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
    --change-section-lma .eeprom=0 -O ihex 2313LCmeter.elf
    2313LCmeter.eep
    c:\Tools\WinAVR\bin\avr-objcopy.exe: --change-section-lma
    .eeprom=0x00000000 nev
    er used

    Creating Extended Listing: 2313LCmeter.lss
    avr-objdump -h -S 2313LCmeter.elf > 2313LCmeter.lss

    Creating Symbol Table: 2313LCmeter.sym
    avr-nm -n 2313LCmeter.elf > 2313LCmeter.sym

    Size after:
    2313LCmeter.elf :
    section size addr
    .text 2158 0
    .data 54 8388704
    .bss 12 8388758
    .debug_aranges 32 0
    .debug_pubnames 292 0
    .debug_info 872 0
    .debug_abbrev 399 0
    .debug_line 922 0
    .debug_frame 208 0
    .debug_str 343 0
    .debug_loc 106 0
    Total 5398



    -------- end --------


    D:\Temp\LCMeter>avr-size 2313LCmeter.elf
    text data bss dec hex filename
    2158 54 12 2224 8b0 2313LCmeter.elf

    I jak widać w powyższej linii, wychodzi mi, że program zajmuje ~2,2kB.


  • 24. Data: 2011-03-25 07:41:27
    Temat: Re: Czy kolejne wersje win-avr-gcc generuj? coraz d3u?szy kod?
    Od: "Andrzej" <d...@o...pl>


    Użytkownik "shg" <s...@g...com> napisał w wiadomości
    news:1500ebc6-1112-4010-b151-719c5533c532@d16g2000yq
    d.googlegroups.com...
    [ciach]
    > Zmieniłeś też wersję avr-libc

    Wyciąłem z komputera WinAvr i zainstalowałem wersję z gcc 3.4.6 ze wszystkimi
    bibliotekami.
    Jak mówiłem do tej wersji gcc przyznaje się autor.

    >Widzę tam operacje na float (double, ale to i tak float), od którejś
    >wersji avr-libc te procedury bardzo "spuchły". Dowolna operacja na
    >float to chyba 3 kB kodu na dzień dobry. We wcześniejszej wersji było
    >dużo mniej, około 1 kB.

    A nie pamiętasz czym się chwalili, jak powstała ta nowa wersja. Musiała czymś się
    różnić skoro "spuchła".
    Tak na razie nie wiem, której wersji szukać.


  • 25. Data: 2011-03-25 08:44:48
    Temat: Re: Czy kolejne wersje win-avr-gcc generuj? coraz d3u?szy kod?
    Od: shg <s...@g...com>

    On Mar 25, 8:41 am, "Andrzej" <d...@o...pl> wrote:
    > A nie pamiętasz czym się chwalili, jak powstała ta nowa wersja. Musiała czymś się
    różnić skoro "spuchła".
    > Tak na razie nie wiem, której wersji szukać.

    Różni się pierdołami, które przydają się od święta. Obsługa NaN-ów,
    liczb zdenormalizowanych itp. Jest też chyba kilka razy szybsza.


  • 26. Data: 2011-03-25 12:01:27
    Temat: Re: Czy kolejne wersje win-avr-gcc generuj? coraz d3u?szy kod?
    Od: "Andrzej" <d...@o...pl>


    Użytkownik "JDX" <j...@o...pl> napisał w wiadomości news:imhfr8$ecc$1@news.onet.pl...
    > On 2011-03-24 22:23, Andrzej wrote:
    > [.....]
    >> Ten kod stąd:
    >> http://www.cappels.org/dproj/nlglcm/Pretty%20Good%20
    LC%20Meter%20Project.html
    > Na początku zaznaczę, że AVR-y to dla mnie nowość. Ale mikrokontrolery
    > tak ogólnie i gcc to już nie... W każdym bądź razie ściągnąłem plik
    > 2313LCmeter_070217A_project.zip, rozpakowałem i odpaliłem serię komend:
    >
    > D:\Temp\LCMeter>make clean
    >
    > -------- begin --------
    >
    > Cleaning project:
    > rm -f 2313LCmeter.hex
    > rm -f 2313LCmeter.eep
    > rm -f 2313LCmeter.cof
    > rm -f 2313LCmeter.elf
    > rm -f 2313LCmeter.map
    > rm -f 2313LCmeter.sym
    > rm -f 2313LCmeter.lss
    > rm -f 2313LCmeter.o
    > rm -f 2313LCmeter.lst
    > rm -f 2313LCmeter.s
    > rm -f 2313LCmeter.d
    > rm -f .dep/*
    > -------- end --------
    >
    >
    > D:\Temp\LCMeter>make
    >
    > -------- begin --------
    > avr-gcc (WinAVR 20100110) 4.3.3
    > Copyright (C) 2008 Free Software Foundation, Inc.
    > This is free software; see the source for copying conditions. There is NO
    > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    >
    >
    > Compiling: 2313LCmeter.c
    > avr-gcc -c -mmcu=at90s2313 -I. -gdwarf-2 -DF_CPU=4000000UL -Os
    > -funsigned-char
    > -funsigned-bitfields -fpack-struct -fshort-enums -Wall
    > -Wstrict-prototypes -Wa,-
    > adhlns=2313LCmeter.lst -std=gnu99 -MD -MP -MF .dep/2313LCmeter.o.d
    > 2313LCmeter.
    > c -o 2313LCmeter.o
    >
    > Linking: 2313LCmeter.elf
    > avr-gcc -mmcu=at90s2313 -I. -gdwarf-2 -DF_CPU=4000000UL -Os
    > -funsigned-char -fu
    > nsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes
    > -Wa,-adh
    > lns=2313LCmeter.o -std=gnu99 -MD -MP -MF .dep/2313LCmeter.elf.d
    > 2313LCmeter.o -
    > -output 2313LCmeter.elf -Wl,-Map=2313LCmeter.map,--cref -lm
    >
    > Creating load file for Flash: 2313LCmeter.hex
    > avr-objcopy -O ihex -R .eeprom 2313LCmeter.elf 2313LCmeter.hex
    >
    > Creating load file for EEPROM: 2313LCmeter.eep
    > avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
    > --change-section-lma .eeprom=0 -O ihex 2313LCmeter.elf
    > 2313LCmeter.eep
    > c:\Tools\WinAVR\bin\avr-objcopy.exe: --change-section-lma
    > .eeprom=0x00000000 nev
    > er used
    >
    > Creating Extended Listing: 2313LCmeter.lss
    > avr-objdump -h -S 2313LCmeter.elf > 2313LCmeter.lss
    >
    > Creating Symbol Table: 2313LCmeter.sym
    > avr-nm -n 2313LCmeter.elf > 2313LCmeter.sym
    >
    > Size after:
    > 2313LCmeter.elf :
    > section size addr
    > .text 2158 0
    > .data 54 8388704
    > .bss 12 8388758
    > .debug_aranges 32 0
    > .debug_pubnames 292 0
    > .debug_info 872 0
    > .debug_abbrev 399 0
    > .debug_line 922 0
    > .debug_frame 208 0
    > .debug_str 343 0
    > .debug_loc 106 0
    > Total 5398
    >
    >
    >
    > -------- end --------
    >
    >
    > D:\Temp\LCMeter>avr-size 2313LCmeter.elf
    > text data bss dec hex filename
    > 2158 54 12 2224 8b0 2313LCmeter.elf
    >
    > I jak widać w powyższej linii, wychodzi mi, że program zajmuje ~2,2kB.

    Dzięki. Czyli nie nowa wersja AVR-gcc. Mój błąd. Ponieważ zmieniałem kod,
    wygenerowałem makefile klikając w Avr-studio. Potem, gdy mi pokazało rozmiar ponad 4
    kB, wgrałem źródło autora, ale używałem swojego makefile.
    Teraz prze weekend spokojnie porównam oba makefile i znajdę (mam nadzieję przyczynę.
    Jeszcze raz dziekuję i pozdrawiam,
    Andrzej

strony : 1 . 2 . [ 3 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: