RTV forum PL | NewsGroups PL

Jak efektywnie wykonać programowy reset procesora w AVR GCC?

[avr-gcc] Programowy reset procesora

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak efektywnie wykonać programowy reset procesora w AVR GCC?

Goto page 1, 2  Next

Saper/nolin11
Guest

Tue Feb 27, 2007 10:05 pm   



Witam,

Otóż szukam sposobu na programowy reset procesora... Może ktoś wie jak?? :)


--
Saper/nolin11
majl:nolin11_USUN_TO_@interia.pl
gg:4476700

antek
Guest

Tue Feb 27, 2007 10:23 pm   



Quote:
Otóż szukam sposobu na programowy reset procesora... Może ktoś wie jak?? Smile


Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

Raven
Guest

Tue Feb 27, 2007 10:27 pm   



antek napisał(a):
Quote:

Otóż szukam sposobu na programowy reset procesora... Może ktoś wie
jak?? :)


Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

jest prostsza metoda jmp 0 Very Happy

BartekK
Guest

Tue Feb 27, 2007 10:31 pm   



Raven napisał(a):
Quote:
antek napisał(a):

Otóż szukam sposobu na programowy reset procesora... Może ktoś wie
jak?? :)


Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

jest prostsza metoda jmp 0 Very Happy
To nie jest programowy reset, to jest rozpoczecie wykonywania programu

od poczatku. Przy resecie sa jeszcze zerowane rejestry procesora
(hardwarowo)

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Raven
Guest

Tue Feb 27, 2007 10:41 pm   



BartekK napisał(a):
Quote:
Raven napisał(a):
antek napisał(a):

Otóż szukam sposobu na programowy reset procesora... Może ktoś wie
jak?? :)


Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

jest prostsza metoda jmp 0 Very Happy
To nie jest programowy reset, to jest rozpoczecie wykonywania programu
od poczatku. Przy resecie sa jeszcze zerowane rejestry procesora
(hardwarowo)

dokladnie

i nie wiem jak u ciebie ale umnie wiaze sie to z wyzerowaniem calej
pamieci procesora i ustawieniem wszystkich rejestrow w stan poczatkowy
zadeklarowany w kodzie programu

Saper/nolin11
Guest

Tue Feb 27, 2007 10:54 pm   



antek wrote:
Quote:
Otóż szukam sposobu na programowy reset procesora... Może ktoś wie
jak?? :)


Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

Ale chyba ładniej dało by się to zrobić w asm?? Tylko że tego nie znam
języka :/
Zresztą dziają mi się jaja :/ procesor ciągle się resetuje w kółko :/
(attiny2313 )



--
Saper/nolin11
majl:nolin11_USUN_TO_@interia.pl
gg:4476700

ThomasN
Guest

Tue Feb 27, 2007 11:01 pm   



Quote:
Otóż szukam sposobu na programowy reset procesora... Może ktoś wie jak??
Smile

Nie żebym testował i nie jest to sposób w pełni programowy, ale może gdyby
podłączyć jakiś port IO do pinu reset i wymusić na nim niski stan to procek
by się zresetował.

O jaki procek pytasz?

Raven
Guest

Tue Feb 27, 2007 11:04 pm   



Saper/nolin11 napisał(a):
Quote:
antek wrote:
Otóż szukam sposobu na programowy reset procesora... Może ktoś wie
jak?? :)

Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

Ale chyba ładniej dało by się to zrobić w asm?? Tylko że tego nie znam
języka :/
Zresztą dziają mi się jaja :/ procesor ciągle się resetuje w kółko :/
(attiny2313 )



--
Saper/nolin11
majl:nolin11_USUN_TO_@interia.pl
gg:4476700

a dokladniej czym sie to objawia i w jakim ukladzie to pracuje


Adam Wysocki
Guest

Wed Feb 28, 2007 2:40 am   



Spinacz biurowy, Saper/nolin11 <nolin11_USUNT_TO@interia.pl>!

Quote:
Ale chyba ładniej dało by się to zrobić w asm?? Tylko że tego nie znam
języka :/

To trzeba poznać. W datasheecie są wszystkie mnemoniki. Spokojnie, ja
po pół nocy napisałem pierwszy program na ATtiny15 (fakt że znałem już
assemblera x86).

Quote:
Zresztą dziają mi się jaja :/ procesor ciągle się resetuje w kółko :/
(attiny2313 )

Pierwsza zasada, jeżeli nie mamy debuggera (bo zakładam że nie masz
jtaga): Sprowadzić problem do minimalnej postaci. Jeżeli się resetuje,
to sprawdzić czy w najprostszej wersji programu też się resetuje (tak
- problem sprzętowy, nie - programowy). Jeżeli nie, to wyłączyć wszystko,
co może zakłócić deterministyczny przebieg programu (przerwania, timery
etc.) i wyłączać kolejne bloki programu zgodnie z jego przebiegiem od
początku (lub momentu, w którym działa prawidłowo) do głównej pętli.
Drogą eliminacji błąd się pokaże.

--
Adam Wysocki * Warszawa * http://www.chmurka.net/ * GSM: 514 710 213
FidoNet: 2:480/138, SWL: SP5-250730, QTH: KO02MF, CB: 19 Śródmieście
Aby życiu nadać smaczek, raz dziewczynka, raz chłopaczek (C) Arek RQ

Adam Wysocki
Guest

Wed Feb 28, 2007 2:40 am   



Spinacz biurowy, Raven <raven000@too2.pl>!

Quote:
a dokladniej czym sie to objawia i w jakim ukladzie to pracuje

A dokładniej co miałeś na myśli pytając? :)

Czym się objawia już napisał - resetami. W jakim układzie - nie bardzo
rozumiem pytanie. Chodzi o niestabilność zasilania?

--
Adam Wysocki * Warszawa * http://www.chmurka.net/ * GSM: 514 710 213
FidoNet: 2:480/138, SWL: SP5-250730, QTH: KO02MF, CB: 19 Śródmieście
"sam jesteś jeden wielki ziew" (C) Jakub K. Lama (jceel), 29.11.2004

pv
Guest

Wed Feb 28, 2007 12:00 pm   



Quote:
antek wrote:
Otóż szukam sposobu na programowy reset procesora... Może ktoś wie
jak?? :)

Załaczyć WDT na minimalny czas i wejść w pętlę nieskończoną.

Ale chyba ładniej dało by się to zrobić w asm?? Tylko że tego nie znam
języka :/
Zresztą dziają mi się jaja :/ procesor ciągle się resetuje w kółko :/
(attiny2313 )

Ja też tak miałem niedawno - po pierwszym zadziałaniu watchdoga -
następne były dużo szybsze (attiny2313), ale poradziłem sobie z tym
(jednak nie jestem zadowolony, bo nie rozumiem tego do końca).

BartekK
Guest

Wed Feb 28, 2007 12:16 pm   



Saper/nolin11 napisał(a):
Quote:
Zresztą dziają mi się jaja :/ procesor ciągle się resetuje w kółko :/
(attiny2313 )
Pewnie w fusebitach masz ustawione "wdton" - dzieki czemu watchdog jest

startowany razem z procesorem, a ty go nie konfigurujesz ani nie
resetujesz - to nic dziwnego ze sie procesor nie zresetuje

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

Saper/nolin11
Guest

Wed Feb 28, 2007 5:59 pm   



BartekK wrote:
Quote:
Saper/nolin11 napisał(a):
Zresztą dziają mi się jaja :/ procesor ciągle się resetuje w kółko :/
(attiny2313 )
Pewnie w fusebitach masz ustawione "wdton" - dzieki czemu watchdog jest
startowany razem z procesorem, a ty go nie konfigurujesz ani nie
resetujesz - to nic dziwnego ze sie procesor nie zresetuje


Nie sądze (Fusebit: H =1 (always disabled)), zresztą jak go raz uruchomię
to mi procesor sam się resetuje mimo że na samym początku programu ustawiam
rejestr wdt na "0" :/ pomaga tylko zwarcie zasilania :/

A odnośnie posta Raven'a w attiny2313 nie ma "jmp" i "ijmp" bez parametru i
ma to operację: "PC <- Z" (nie bardzo rozumiem to Z ale działa Smile )...

heh przecież mogłem napisać: " main(); " :/ Głowy wam zaracam....


--
Saper/nolin11
majl:nolin11_USUN_TO_@interia.pl
gg:4476700

Patryk Sielski
Guest

Wed Feb 28, 2007 10:34 pm   



Saper/nolin11 <nolin11_USUNT_TO@interia.pl> pisze:
Quote:
Witam,
Otó? szukam sposobu na programowy reset procesora... Mo?e kto? wie jak?? Smile

?eby by?o to identycznie jak zapodanie zera na nozke RESET to chyba sie nie
da.

Najszybciej to skoczyc pod adres 0
czyli:

cli();
asm("ldi r30,0");
asm("ldi r31,0");
asm("ijmp");


ale pamietaj, ze liczniki dalej Ci chodza, ewentualne PWM tez itd.

oczywi?cie lepszy sposób z watchdogiem, bo on chyba zeruje wszystkie
liczniki, przerwania i takie tam


--
Pozdrawiam,
Patryk Sielski
http://usprawnienia.pl

Adam Wysocki
Guest

Wed Feb 28, 2007 10:41 pm   



Spinacz biurowy, Saper/nolin11 <nolin11_USUNT_TO@interia.pl>!

Quote:
heh przecież mogłem napisać: " main(); " :/

To jest bardzo zły pomysł.

--
Adam Wysocki * Warszawa * http://www.chmurka.net/ * GSM: 514 710 213
FidoNet: 2:480/138, SWL: SP5-250730, QTH: KO02MF, CB: 19 Śródmieście
nawet najpiękniejsze nogi gdzieś się kończą... (C) Kominek 9.08.2003

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak efektywnie wykonać programowy reset procesora w AVR GCC?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map