Chyba v programu

Josef Stengl ok1ced@nagano.cz
Úterý Listopad 25 10:56:05 CET 2008


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
>   




Další informace o konferenci Hw-list