Witam,
jesli ktos tego nie zauwazyl informuje ze wyszedl nowy WinAVR 20050214,
Tomek
Witam,
jesli ktos tego nie zauwazyl informuje ze wyszedl nowy WinAVR 20050214,
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
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:
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
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.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required