[avr-gcc] Chyba stos...



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: kerimirek_at_nospam_tlen.pl (Mirek)
Subject: [avr-gcc] Chyba stos...
Date: 18 Dec 2002 12:10:57 -0800


Czy ktos moze pomoc?

Mam cos takiego:

static unsigned char XPos[] PROGMEM = { 0, 1, 3, 4, 6, 7 };
NewTime.Changed = 0;
while(!Keyboard.Locked)
{
LcdPrintf(Format, NewTime.Hour, NewTime.Minute, NewTime.Second);
LcdGotoxy(PRG_RDB(XPos + NewTime.Changed), 1);
if (KeyboardWait(MASK_NUMERIC | MASKCANCEL | MASKOK))
....
}

jesli wyremuje linie z LcdGotoxy... to wszystko dziala dobrze.
natomiast
jesli zostawie, to gdy petla wykonuje sie po raz drugi na wyswietlaczu
pojawiaja sie krzaczki (za kazdym razem takie same). jesli petla
wykona sie po raz trzeci to wyswietlacz dalej sie "psuje" az do
kompletnego "wyczyszczenia".

Czy moze mi ktos odpowiedziec dlaczego tak sie dzieje??????

Z gory dzieki za odpowiedz,
kerim

Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: [avr-gcc] Chyba stos...
Date: Wed, 18 Dec 2002 23:17:27 +0100


"Mirek" <kerimirek_at_nospam_tlen.pl> wrote in message
news:68f705b4.0212181210.560b2f11_at_nospam_posting.google.com...
Czy ktos moze pomoc?

Mam cos takiego:

static unsigned char XPos[] PROGMEM = { 0, 1, 3, 4, 6, 7 };
NewTime.Changed = 0;
while(!Keyboard.Locked)
{
LcdPrintf(Format, NewTime.Hour, NewTime.Minute, NewTime.Second);
LcdGotoxy(PRG_RDB(XPos + NewTime.Changed), 1);
if (KeyboardWait(MASK_NUMERIC | MASKCANCEL | MASKOK))
....
}

jesli wyremuje linie z LcdGotoxy... to wszystko dziala dobrze.
natomiast
jesli zostawie, to gdy petla wykonuje sie po raz drugi na wyswietlaczu
pojawiaja sie krzaczki (za kazdym razem takie same). jesli petla
wykona sie po raz trzeci to wyswietlacz dalej sie "psuje" az do
kompletnego "wyczyszczenia".


pisalem kilka programow pod avr-gcc
ale nie jestem jasnowidzem

moze sprobuj cos pokombinowac
daj arg LcdGotoxy np 0,0 albo 0,1
i zobacz czy cos to zmienia


Andrzej




Poprzedni Następny
Wiadomość
Spis treści
From: kerimirek_at_nospam_tlen.pl (Mirek)
Subject: Re: [avr-gcc] Chyba stos...
Date: 19 Dec 2002 10:14:38 -0800


"Andy" <anok_at_nospam_ceti.pl> wrote in message news:<atqrpt$nsh$1_at_nospam_news.tpi.pl>...
"Mirek" <kerimirek_at_nospam_tlen.pl> wrote in message
news:68f705b4.0212181210.560b2f11_at_nospam_posting.google.com...
Czy ktos moze pomoc?

Mam cos takiego:

static unsigned char XPos[] PROGMEM = { 0, 1, 3, 4, 6, 7 };
NewTime.Changed = 0;
while(!Keyboard.Locked)
{
LcdPrintf(Format, NewTime.Hour, NewTime.Minute, NewTime.Second);
LcdGotoxy(PRG_RDB(XPos + NewTime.Changed), 1);
if (KeyboardWait(MASK_NUMERIC | MASKCANCEL | MASKOK))
....
}

jesli wyremuje linie z LcdGotoxy... to wszystko dziala dobrze.
natomiast
jesli zostawie, to gdy petla wykonuje sie po raz drugi na wyswietlaczu
pojawiaja sie krzaczki (za kazdym razem takie same). jesli petla
wykona sie po raz trzeci to wyswietlacz dalej sie "psuje" az do
kompletnego "wyczyszczenia".


pisalem kilka programow pod avr-gcc
ale nie jestem jasnowidzem

moze sprobuj cos pokombinowac
daj arg LcdGotoxy np 0,0 albo 0,1
i zobacz czy cos to zmienia


Andrzej

jak ustawie na stale wartosci np. 0,0 albo 0,1 to wszystko dziala
jesli jednak probuje tam dac jakakolwiek zmienna (nie koniecznie stala
z FLASH'a) to wywala!

puszczalem debuggera i sprawdzalem czy przypadkiem jakies rejestry sie
nie nakladaja i nie psuje sie stos. wszystko wyglada dobrze (pod
debuggerem) ale w rzeczywistosci wywala! :(

Mirek.

Poprzedni Następny
Wiadomość
Spis treści
From: "Pelos" <pelos_at_nospam_pelos.pl>
Subject: Re: [avr-gcc] Chyba stos...
Date: Thu, 19 Dec 2002 16:25:13 +0100



Użytkownik "Mirek" <kerimirek_at_nospam_tlen.pl> napisał w wiadomości
news:68f705b4.0212181210.560b2f11_at_nospam_posting.google.com...
Czy ktos moze pomoc?

BTW. a ktos wie jak sie w AVRGCC ustawia stos ?

pozdr.

--
Pelos
http://www.pelos.pl




Poprzedni Następny
Wiadomość
Spis treści
From: "Jerzy Szczesiul" <jerzy.szczesiul_at_nospam_ep.com.pl>
Subject: Re: [avr-gcc] Chyba stos...
Date: Thu, 19 Dec 2002 19:44:06 +0100


Czesc

Użytkownik "Pelos" <pelos_at_nospam_pelos.pl> napisał w wiadomości
news:atsnug$nse$1_at_nospam_szmaragd.futuro.pl...

BTW. a ktos wie jak sie w AVRGCC ustawia stos ?

Jest -minit-stack=nnnn ale radza uzywac tylko w
specjalnych przypadkach.

--
Pozdrowienia
Jurek Szczesiul



Poprzedni Następny
Wiadomość
Spis treści
From: "Pelos _at_nospam_ HOME" <pelos_at_nospam_pelos.pl>
Subject: Odp: [avr-gcc] Chyba stos...
Date: Thu, 19 Dec 2002 22:19:12 +0100



Użytkownik Jerzy Szczesiul <jerzy.szczesiul_at_nospam_ep.com.pl> w wiadomości do grup
dyskusyjnych napisał:att3t2$ps3$1_at_nospam_news.tpi.pl...
Czesc

Użytkownik "Pelos" <pelos_at_nospam_pelos.pl> napisał w wiadomości
news:atsnug$nse$1_at_nospam_szmaragd.futuro.pl...

BTW. a ktos wie jak sie w AVRGCC ustawia stos ?

Jest -minit-stack=nnnn ale radza uzywac tylko w
specjalnych przypadkach.

Dzieki! Orientujesz sie ile standardowo jest przydzielane pamieci na stos ?
Cos kolo 80 bajtow ?
Dlaczego w szczegolnych przypadkach tylko ruszac ?

pozdr.

Pelos



Poprzedni Następny
Wiadomość
Spis treści
From: "Jerzy Szczesiul" <jerzy.szczesiul_at_nospam_ep.com.pl>
Subject: Re: [avr-gcc] Chyba stos...
Date: Fri, 20 Dec 2002 00:30:27 +0100


Użytkownik "Pelos _at_nospam_ HOME" <pelos_at_nospam_pelos.pl> napisał w wiadomości
news:attcms$9r5$1_at_nospam_topaz.icpnet.pl...

Dzieki! Orientujesz sie ile standardowo jest przydzielane pamieci na stos
?
Cos kolo 80 bajtow ?
Dlaczego w szczegolnych przypadkach tylko ruszac ?


Ja sie dopiero naumiewam i tylko tyle wiem co tu i tam
doczytalem : domyslnie zazwyczaj stos jest ustawiany
na koniec wewnetrznej pamieci SRAM ( czyli RAMEND),
o ograniczeniach rozmiaru nigdzie nikt nie wspominal.
I tak jest optymalnie - wiec nadmieniaja tylko zeby nie
zmieniac poza bardzo szczegolnymi przypadkami - bez
przykladow.
Zobacz kawalek o alokacjach pamieci w manualu
avr-libc (http://savannah.nongnu.org/projects/avr-libc/. ),
stamtad sie najwiecej doksztalcam.

--
Pozdrowienia
Jurek Szczesiul