eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › avr-gcc eeprom inline
Ilość wypowiedzi w tym wątku: 15

  • 11. Data: 2009-03-15 18:22:19
    Temat: Re: avr-gcc eeprom inline
    Od: "T.M.F." <t...@n...mp.pl>

    pawel pisze:
    >> Ile ci brakuje bajtow?
    >
    > Stosunkowo sporo, atmega32
    > Program: 32830 bytes (100.2% Full)

    Ee, czyli spoko, to praktycznie nic :)

    > Maksymalnie 32768.
    >
    > Wyremowanie jednej linijki
    >
    > for(i = 0; i < MAX_DS18X20; i++)

    Jesli mozesz to odwroc warunek od MAX_DS18X20 do 0. To wymaga mniej
    instrukcji do sprawdzenia. W innych petlach podobnie - staraj sie, zeby
    kompilator nie musial wstawiac dodatkowych CP, czyli np. odliczaj do
    zera, albo do 255, 256 czy cos w tym stylu.

    > {
    > //blablabla
    > eeprom_write_byte(&ds18x20_ee[i].restout, k);

    restout ma jaka dlugosc? Jesli 1 lub 2 bajty to nie oplaca sie
    przekazywac adresu, lepiej wartosc.

    Zobacz tez czy nie masz gdzies w kodzie operatorow logicznych, mozna je
    zoptymalizowac okreslajac explicite typ na np. uint8_t, gdyz gcc
    automatycznieje promuje do uint, co wielokrotnie zwieksza ilosc operacji.


  • 12. Data: 2009-03-15 18:22:48
    Temat: Re: avr-gcc eeprom inline
    Od: "T.M.F." <t...@n...mp.pl>

    Adam Dybkowski pisze:
    > T.M.F. pisze:
    >
    >> Pytanie kontrolne - jakiej wersji avr-gcc uzywasz? Najnowsza ma
    >> regression bug i ma tendencje do bardzo ostrego inlinowania funkcji co
    >> zwieksza objetosc.
    >
    > Piszesz o WinAVR 20090313 czy jakiejś dystrybucji linuxowej?
    >

    Pisze o WinAVR.


  • 13. Data: 2009-03-15 22:18:47
    Temat: Re: avr-gcc eeprom inline
    Od: "T.M.F." <t...@n...mp.pl>

    T.M.F. pisze:
    > Adam Dybkowski pisze:
    >> T.M.F. pisze:
    >>
    >>> Pytanie kontrolne - jakiej wersji avr-gcc uzywasz? Najnowsza ma
    >>> regression bug i ma tendencje do bardzo ostrego inlinowania funkcji co
    >>> zwieksza objetosc.
    >>
    >> Piszesz o WinAVR 20090313 czy jakiejś dystrybucji linuxowej?
    >>
    >
    > Pisze o WinAVR.

    A, i nie o 20090313, to chyba wersja RC jest. Ale ostatnia stabilna tak
    sie paskudnie zzachowuje i co wiecej okreslanie przez opcje kompilatora
    jakie funkcje maja nie byc inline nic nie zmienia.
    BTW, jesli masz ta wersje RC zainstalowana mozesz sprawdzic, czy dziala
    wprowadzona do gcc opcja umozliwiajaca okreslenie optymalizacji na
    poziomie funkcji?


  • 14. Data: 2009-03-15 22:45:54
    Temat: Re: avr-gcc eeprom inline
    Od: Adam Dybkowski <a...@4...pl>

    T.M.F. pisze:

    > BTW, jesli masz ta wersje RC zainstalowana mozesz sprawdzic, czy dziala
    > wprowadzona do gcc opcja umozliwiajaca okreslenie optymalizacji na
    > poziomie funkcji?

    Nie używam RC, na razie śmigam jeszcze na starej dobrej 20080610.
    A optymalizację inline'owania wymuszam przez atrybuty funkcji noinline i
    always_inline, jak na razie to działa poprawnie. Poczekam, aż coś się
    wyklaruje z nowszym WinAVR'em jeżeli takie problemy są obecnie.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.


  • 15. Data: 2009-03-15 23:19:15
    Temat: Re: avr-gcc eeprom inline
    Od: Zbych <a...@o...pl>

    T.M.F. pisze:

    > BTW, jesli masz ta wersje RC zainstalowana mozesz sprawdzic, czy dziala
    > wprowadzona do gcc opcja umozliwiajaca okreslenie optymalizacji na
    > poziomie funkcji?

    Ale to ma chyba działać dopiero od 4.4, a w winavr jest jeszcze 4.3.

strony : 1 . [ 2 ]


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: