Chyba v programu

Jaroslav Buchta jaroslav.buchta@gmail.com
Úterý Listopad 25 13:35:11 CET 2008


Mozna, kdyby sem hodil zdrojak, bylo by jasno...
Taky pozor na ruzne stavove regisry atp.

-----Original Message-----
From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
Behalf Of Josef Stengl
Sent: Tuesday, November 25, 2008 10:56 AM
To: HW-news
Subject: Re: Chyba v programu


Tohle není dobrý přístup.
- jen s velkými problémy zjistíte všechny  případy ve kterých se to může 
stát.
- je to pracné
- není to řešení příčiny ale obcházení následku.
- v budoucnosti wse vám to vymstí, protože na to zapmenete. nebo někomu 
jinému kdo bude modifikovat program.
- zpožďuje se tím obsluha přerušení, což může být problém, protože se 
zpožďuje o obtížně definovatelnou dobu

Jak jsem se již zmiňoval, je zajištěno že v přerušení nedojde k přepsání 
registru procesoru? S PICama jsem nikdy nedělal, ale předpokálám že to 
je CISC procesor s málo registry, tak někdy můře dojít k přepsání ve 
funkci ze které se to přerušení vyvolá. U malých osmibitů není pravidlem 
že se před volámím funkce překladač uloží všechny registy zo dá 
zásobníku a pak se zase obnoví, musí se mu to oznámit (např. parametrem 
k funkci - reentrantí funkce - jak to říci česky?) nebo zajisti aby 
přerušení pužívalo svojí a pouze svojí sadu registrů.

Jelikož se tazatel mikde nezmiňuje o tom co jak je kód vlstně přeložen 
tak bych navrhoval (nepředpolkádám že to není, ale ať se máme od čeho 
odrazit - za křišťál dnesk chtejí děsný prachy)
- je zakázáno přerušení v které vyvolalo funkci přerušení v dané obsluze 
přerušení (první věc zakážu, podlední povolím)
- používá obsluha přerušení svoje vlastní registry? A pokud ne je 
přeložena jako reentrant? (viz asm výpis kódu)

pokud jsou tyto věci zajištěny, můžeme pokročit dále, jinak je to 
krafaní u piva. A na to mi chybí pivo.
ced

 Richard Kaliciak wrote:
> Dobry den,
>
>   
>>> V tomto duchu pracuji, ale chyba se vyskytuje obcas. Poustim tam 
>>> ruzne data
>>> a prumer chyb je tak 1 za hodinu. Takze to zabira spostu casu. 
>>>       
>
> to vyzera na porusenie atomicity nejakej operacie s premennymi typu 
> int
> tym prerusenim. Nedavno tu dokonca bezala jedna "piatkova sutaz" na tuto 
> temu, zda sa mi, ze to spustil wek.
> Ak v tom preruseni citate alebo zapisujete do viacbytovych premennych, 
> ktore sa pouzivaju aj v hlavnom programe, tak zakazte pred pristupom k 
> tymto premennym v hlavom programe prerusenie (a potom samozrejme povolte).
>
> Richard Kaliciak _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>   

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list