nowy WinAVR 20050214

Feb 19, 2005 18 Replies

Witam,



jesli ktos tego nie zauwazyl informuje ze wyszedl nowy WinAVR 20050214,

formatting link



Tomek


Dziêki. Pierwsze wra¿enia:

- w avr-libc brakuje definicji sbi, cbi, inp, outp ;( , na szczê¶cie spokojnie mo¿na wkleiæ definicje z pliku sfr_defs.h z poprzedniej wersji,

- konfiguracja Programmers Notepada zosta³a u mnie zachowana z poprzedniej wersji mimo deinstalacji

- kod wynikowy kompilacji przyk³adowego programu (objêto¶æ ok. 2400B) by³ identyczny jak dla poprzedniej wersji; cudów siê nie mo¿na spodziewaæ;)

- pole "Output" PN pozwala na porównanie objêto¶ci aktualnego pliku wynikowego z poprzednio skompilowanym (chyba ¿e poprzednio tego nie zauwa¿a³em), dosyæ wygodne - poprzednio przy optymalizacji musia³em liczyæ bajty w PonyProgu.

nie brakuje, tylko zostały celowo usunięte. bodajże od paru lat były w dokumentacji oznaczone jako przestarzałe.

w.

a ja walcze z bledem

formatting link
tam patch dany ale nie wiem jak go 'uruchomic' czy moglby mi ktos pomoc, bo ja troche sie w tym pogubilem ??

pozdrawiam,

Tomek

Patch się aplikuje na źródła gcc, więc jeśli korzystasz z WinAVR, czyli wersji prekompilowanej, to ci nic nie da. Musiałbyś ściągnąć źródła gcc, zaaplikować patch (nie wiem, jakiego programu użyć w Windowsach, pod linuksem jest polecenie patch) i skompilować avr-gcc. Zadanie dość karkołomne, wymagające jakiegoś cygwina albo i mingw, bo nie wiem, z czego WinAVR korzysta...

Lepiej pewnie wrócić do starej wersji, niekorzystającej z gcc 3.4.3.

Pozdrawiam

dzieki za odpowiedz, chcialem wiec jeszcze spytac czy oni wydaja wiec jakies patch'e pod Windows ?? najwyzej poczekam

pozdrawiam,

Tomek

WinAVR pojawia się raz na kilka miesięcy. Czy w tzw. międzyczasie wydają poprawki? Nie słyszałem. Jurek Szczesiul, twórca AVRSide, na swojej stronie opisał kompilację avr-gcc pod Windows:

formatting link
Pozdrawiam

Sun, 20 Feb 2005 01:13:32 +0100, na pl.misc.elektronika, tomm napisał(a):

Czy dostales maila ?

wielkie dzieki, nie sprawdzam tego konta czesto, tylko do grup mi ono sluzy, teraz wlasnei odebralem i sciagam plik, jeszcze raz dzieki, zobacze co mi z tego sie uda

pozdrawiam,

Tomek

Tue, 22 Feb 2005 20:03:53 +0100, na pl.misc.elektronika, tomm napisał(a):

I jak , wyszło coś czy nic z tego ?

U¿ytkownik "Jurek Szczesiul" snipped-for-privacy@wycin.ep.com.pl> napisa³ w wiadomo¶ci news: snipped-for-privacy@40tude.net...

JAVA, JAVA, JAVA tak mi uplywa ten tydzien, moze w weekend bede mial czas usiasc do mojego hobby i wtedy poinformuje

pozdrawiam,

Tomek

A jakie s± nowoczesne metody zast±pienia tych instrukcji ????

mick

pewnie rejestr|=0x01; //ustaw najml. bit rejestr&=~0x01; //wyzeruj najml. bit

  • ewentualne uzycie _BV(nr_bitu)

jak dla mnie mniej wygodne; do³±czam po prostu do projektu plik nag³ówkowy ze starymi definicjami

#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))

tak dla przeno¶no¶ci kodu miêdzy starszym a nowszym avr-libc przyda³aby siê jeszcze dyrektywa #ifndef

No dla mnie te niby nowe tez nie sa zbyt czytelne. Dzieki za podpowiedz jak do³±czyæ te stare instrukcje. Bo juz sie wkurzy³em i zainstalowalem ponownie stara wersje WINAVR : )))

No, nieźle. Nie po to się pisze w języku wysokiego poziomu, żeby stosować instrukcje charakterystyczne dla konkretnego procesora. Dla mnie konstrukcja z maską jest naturalna.

BTW niezły flejm był na ten temat na avr-gcc-list - developerzy kontra niezadowoleni i niewdzięczni użyszkodnicy darmowych programów :-)

Pozdrawiam

Jak juz ustawiamy pojedyncze bity w rejestrach to zazwyczaj program jest juz wystarczajaco mocno przywiazany do sprzetu zeby przenosnosc byla problematyczna.

A potem przychodzi jakis procek typu '51, co ma dwa tryby adresacji tych samych rejestrow i C nie pozwala tego kontrolowac :-(

J.

Zdarzało mi się przenosić programy z PIC-ów i stosowanie standardowych rozwiązań C tylko pomaga :-)

A po co? Z założenia kompilator wybierze lepszą (whatever it means), a jeśli chcesz coś wymusić - wstawka asemblerowa.

Pozdrawiam

Niestandardowych tez - kompilator zglosi blad gdzie zapomniales jeszcze sprawdzic czy dobre bity w rejestrach zmieniasz :-)

No wlasnie - wybierze co mu sie wydaje lepsze, a potem mecz sie czlowieku czemu ci to nie dziala :-)

J.

Pamietam jak swego czasu pisalem jakis programik w C na PICa i tam stosowalem nastepujaca odwolania do portu np. wierw definiowalem #pragma bit led1 @ PORTB.6 #pragma bit led2 @ PORTB.7 #pragma bit keyUp @ PORTB.5

a nastepnie w programie

led1 = 1; //stan wysoki na wyjsciu led2 = 0; // stan niski na wyjsciu if( keyUp) { . . .

to jest dla mnie przejrzysty kod.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required