Funkcje C w gcc-avr: czy print, getchar i putchar są dostępne?
gcc avr
From: "Mister" <_NOSPAM_wojpie_at_nospam_bielsko.evatronix.com.pl>
Subject: gcc avr
Date: Wed, 19 Jun 2002 17:02:47 +0200
Witam,
czy w gcc-avr są zaimplementowane podstawowe funkcje C tj.: print,
getchar,putchar i podobne ?
Pozdrawiam
Mister
From: "grajek" <gz_at_nospam_2com.pl>
Subject: Re: gcc avr
Date: Wed, 19 Jun 2002 20:44:04 +0200
czy w gcc-avr są zaimplementowane podstawowe funkcje C tj.: print,
getchar,putchar i podobne ?
dawno temu to bylo jak w tym pisalem, ale z tego co pamietam to ma.
pozdrowienia
grajek
From: marekmSPAM_at_nospam_amelek.gda.pl (Marek Michalkiewicz)
Subject: Re: gcc avr
Date: Thu, 20 Jun 2002 15:25:57 +0000 (UTC)
grajek <gz_at_nospam_2com.pl> wrote:
czy w gcc-avr s? zaimplementowane podstawowe funkcje C tj.: print,
getchar,putchar i podobne ?
dawno temu to bylo jak w tym pisalem, ale z tego co pamietam to ma.
Akurat tych wymienionych to nie ma, bo nie sa zupelnie podstawowe :-)
(musialby byc najpierw jakis system operacyjny), wiec trzeba sobie
napisac samemu pod konkretny sprzet. Ale troche funkcji bardziej
podstawowych jest...
Marek
From: "Mister" <_NOSPAM_wojpie_at_nospam_bielsko.evatronix.com.pl>
Subject: Re: gcc avr
Date: Fri, 21 Jun 2002 12:01:59 +0200
Akurat tych wymienionych to nie ma, bo nie sa zupelnie podstawowe :-)
(musialby byc najpierw jakis system operacyjny), wiec trzeba sobie
napisac samemu pod konkretny sprzet.
Wydawało mi się że np. printf to jest podstawową funkcją niezależną od
sprzętu. Szkoda w Keilu czy innych kompilatorach jest.
Mister
From: marekmSPAM_at_nospam_amelek.gda.pl (Marek Michalkiewicz)
Subject: Re: gcc avr
Date: Fri, 21 Jun 2002 11:50:25 +0000 (UTC)
Mister <_NOSPAM_wojpie_at_nospam_bielsko.evatronix.com.pl> wrote:
Wydawa?o mi si? ?e np. printf to jest podstawow? funkcj? niezale?n? od
sprz?tu. Szkoda w Keilu czy innych kompilatorach jest.
To wlasciwie bardziej sprawa bibliotek, niz kompilatora...
Gdzies musi printf() wypisac swoj wynik, wiec bez sprzetu ani rusz ;)
Nawet jesli powiemy konkretnie ze ma to byc port szeregowy - UARTa
tez mozna w rozny sposob obslugiwac, z przerwaniami albo bez, itp.
zaleznie od konkretnej aplikacji. Poza tym, pelna wersja printf()
zajmowalaby duzo miejsca, a rzadko sa potrzebne wszystkie mozliwosci.
Zreszta - nikt nie broni napisac i udostepnic (tak wlasnie to wszystko
funkcjonuje), a jakby sie bardzo uprzec, to da sie skompilowac zrodla
newlib na AVR. Troche duze to jest i nie testowalem w dzialaniu, ale
swego czasu kompilowanie newlib pozwolilo znalezc i poprawic pare bledow
w avr-gcc. Jak znajde troche czasu to do tego wroce, bo na ATmega128
za ~50PLN+VAT to juz jest gdzie troche zaszalec ;)
Marek
From: "Greg S." <greg_sz_at_nospam_dsuper.net>
Subject: Re: gcc avr
Date: Fri, 21 Jun 2002 13:36:37 -0400
Mister wrote:
Akurat tych wymienionych to nie ma, bo nie sa zupelnie podstawowe :-)
(musialby byc najpierw jakis system operacyjny), wiec trzeba sobie
napisac samemu pod konkretny sprzet.
Wydawało mi się że np. printf to jest podstawową funkcją niezależną od
sprzętu. Szkoda w Keilu czy innych kompilatorach jest.
A na co ty bys chcial wysylac te printy z printf przeciez w
mikrokontrolerze nie ma sz konsoli. Jak jej nie masz to nie mozesz
printfac, wiec przedmowca ma racje.
Pozdro
Grze..Szy..
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: gcc avr
Date: Fri, 21 Jun 2002 20:24:54 GMT
On Fri, 21 Jun 2002 12:01:59 +0200, Mister wrote:
Wydawało mi się że np. printf to jest podstawową funkcją niezależną od
sprzętu. Szkoda w Keilu czy innych kompilatorach jest.
Printf musi gdzies wyrzucic wynik. Na jakas konsole ...
tzn gdzie - na uarta, na LCD, na papier w drukarce ktora ten avr
steruje ? I to by bylo tyle w sprawie niezaleznosci ..
J.
From: "GeePee" <geepee_at_nospam_o2.pl>
Subject: Re: gcc avr
Date: Sat, 22 Jun 2002 14:49:49 +0200
Użytkownik "J.F." <jfox_at_nospam_poczta.onet.pl> napisał w wiadomości
news:3d2a8002.12729327_at_nospam_nt...
On Fri, 21 Jun 2002 12:01:59 +0200, Mister wrote:
Wydawało mi się że np. printf to jest podstawową funkcją niezależną od
sprzętu. Szkoda w Keilu czy innych kompilatorach jest.
Printf musi gdzies wyrzucic wynik. Na jakas konsole ...
tzn gdzie - na uarta, na LCD, na papier w drukarce ktora ten avr
steruje ? I to by bylo tyle w sprawie niezaleznosci ..
J.
Trochę bzdurzycie, koledzy. printf można, co normalnie się dzieje w
środowiskach dla mikrokontrolerów, zaimplementować w całości. Dla dewelopera
pozostaje do zdefiniowania zadeklarowana funkcja int putch( int ), która
wysyła na konsolę jeden znak. Takoż dzieje się ze scanf - implementuje się
platform dependent int getch( ). To wszystko - szkielet printf i scanf
zarządza interpretowaniem i przygotowaniem znaku, a potem wywołuje putch,
lub getch...
From: "Mister" <_NOSPAM_wojpie_at_nospam_bielsko.evatronix.com.pl>
Subject: Re: gcc avr
Date: Mon, 24 Jun 2002 10:00:17 +0200
Trochę bzdurzycie, koledzy. printf można, co normalnie się dzieje w
środowiskach dla mikrokontrolerów, zaimplementować w całości. Dla
dewelopera
pozostaje do zdefiniowania zadeklarowana funkcja int putch( int ), która
wysyła na konsolę jeden znak. Takoż dzieje się ze scanf - implementuje się
platform dependent int getch( ). To wszystko - szkielet printf i scanf
zarządza interpretowaniem i przygotowaniem znaku, a potem wywołuje putch,
lub getch...
Dokładnie!! o to mi chodzi ! w Keilu, HiTechu, Taskingu i innych
kompilatorach jak wywołuję printf to wynik jest domyślnie wysyłany na
UARTa(za pośrednictwem putch()).
Ale mogę sobie zmodyfikować putch() (dodam ze producent dołącza żródłówkę
putch() ) tak aby mi sterował np. LCD. I nie mam problemu z wyświetlaniem
stringów, liczb, znaków, systemów liczbowych łącznie z floatami itp. Jest to
bardzo dobre jak chcę zrobić na szybko wizualizację. Bo docelowo raczej z
niej nie korzystam niej bo tak jak napisał przedmówca jest to kobyła (kilka
KB) i raczej nie są potrzebne wszystkie jej opcje.
Wartało by aby avrgcc też posiadał taką funkcję.
Pozdrawiam
Mister
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: gcc avr
Date: Mon, 24 Jun 2002 12:07:48 +0200
bardzo dobre jak chcę zrobić na szybko wizualizację. Bo docelowo raczej z
niej nie korzystam niej bo tak jak napisał przedmówca jest to kobyła (kilka
KB) i raczej nie są potrzebne wszystkie jej opcje.
Wartało by aby avrgcc też posiadał taką funkcję.
A nie ma tak jak w IAR, ze sa 3 wersje printfa i scanfa?
1 jest zgodna z ANSI i faktycznie kobyla.
2 nie ma floatow
3 nie ma jakichs modyfikatorow i jest juz naprawde mala (kilkaset bajtow).
jerry
From: JS <jar0sz_at_nospam_polbox.com>
Subject: Re: gcc avr
Date: Tue, 25 Jun 2002 18:43:01 +0000 (UTC)
W artykule <af6jht$fka$1_at_nospam_news.tpi.pl> Mister napisał(a):
Dokładnie!! o to mi chodzi ! w Keilu, HiTechu, Taskingu i innych
kompilatorach jak wywołuję printf to wynik jest domyślnie wysyłany na
UARTa(za pośrednictwem putch()).
[...]
Wartało by aby avrgcc też posiadał taką funkcję.
A przypadkiem już nie ma ? Jeżeli dostarczysz własną funkcję putch, to linker
włączy do programu właśnie ją, a nie wersję z biblioteki. Ważne tylko, aby
printf faktycznie (bezpośrednio lub pośrednio) korzystał z funkcji putc
(a nie np. z makra).
--
Pozdrawiam
Jarosław Szynal