Witam.
Mam następujący problem - w pracy napotkaliśmy sytuację, gdy jest z programów (pisany na ATxmega256A3) potrafi się zawiesić w trudnym do określenia momencie. Jest to kłopot, natomiast pojawił się większy, mianowicie watchdog nie resetuje urządzenia. Jakie mogą być tego przyczyny? Moje przypuszczenia:
1. Pisanie po adresach pamięci zarezerwowanych dla rejestrów odpowiedzialnych za układ watchdoga (w tym przypadku 0x0080) i przez to jego wyłączanie - to wydaje się najmniej prawdopodobne, chociaż nigdy nic nie wiadomo.
2. Wadliwa partia mikrokontrolerów - nie wiem, jaka to dokładnie partia mikrokontrolera, jeszcze tego nie sprawdziłem, ale może ktoś kiedyś spotkał się z podobnym problemem w tym mikrokontrolerze?
3. Program wpada w pętlę, z której nie może wyjść, a która karmi watchdoga - to wydaje się najbardziej prawdopodobne.
Moje główne pytanie jest takie, czy możliwości 1 i 2 są w ogóle możliwe? Ewentualnie, czy ktoś ma jakąś wskazówkę, co to jeszcze mogłoby być?
Z góry dzięki i pozdrawiam.
Mam następujący problem - w pracy napotkaliśmy sytuację, gdy jest z programów (pisany na ATxmega256A3) potrafi się zawiesić w trudnym do określenia momencie. Jest to kłopot, natomiast pojawił się większy, mianowicie watchdog nie resetuje urządzenia. Jakie mogą być tego przyczyny? Moje przypuszczenia:
1. Pisanie po adresach pamięci zarezerwowanych dla rejestrów odpowiedzialnych za układ watchdoga (w tym przypadku 0x0080) i przez to jego wyłączanie - to wydaje się najmniej prawdopodobne, chociaż nigdy nic nie wiadomo.
2. Wadliwa partia mikrokontrolerów - nie wiem, jaka to dokładnie partia mikrokontrolera, jeszcze tego nie sprawdziłem, ale może ktoś kiedyś spotkał się z podobnym problemem w tym mikrokontrolerze?
3. Program wpada w pętlę, z której nie może wyjść, a która karmi watchdoga - to wydaje się najbardziej prawdopodobne.
Moje główne pytanie jest takie, czy możliwości 1 i 2 są w ogóle możliwe? Ewentualnie, czy ktoś ma jakąś wskazówkę, co to jeszcze mogłoby być?
Z góry dzięki i pozdrawiam.
