Funkcje C w gcc-avr: czy print, getchar i putchar są dostępne?

gcc avr





Poprzedni Następny
Wiadomość
Spis treści
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



Poprzedni Następny
Wiadomość
Spis treści
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



Poprzedni Następny
Wiadomość
Spis treści
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


Poprzedni Następny
Wiadomość
Spis treści
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



Poprzedni Następny
Wiadomość
Spis treści
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


Poprzedni Następny
Wiadomość
Spis treści
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..


Poprzedni Następny
Wiadomość
Spis treści
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.


Poprzedni Następny
Wiadomość
Spis treści
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...



Poprzedni Następny
Wiadomość
Spis treści
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



Poprzedni Następny
Wiadomość
Spis treści
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



Poprzedni Następny
Wiadomość
Spis treści
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