Customer Support
Your Key to Embedded Innovations
Watchdog 분석
작성자 김기범
조회수 7294
안녕하세요. 김기범입니다.
MSC62XX chipset에서 Error case : wait 상태에서 발생한 watchdog
해결방법에 대해서 공유 드립니다.
주제 : dog_info.cmm 파일을 이용한 watchdog 분석
1. MSC62XX chipset의 amss/tools/debug/doginfo/dog_info.cmm을 이용하여
2. Do dog_info.cmm 하면
3. 1.2의 결과로 Dog_info.csv와 Task_info.xls 파일을 얻을 수 있다
참고로
1) Priority
- Task priority
- 이 값이 높을 수록 control을 얻을 확률이 높으므로 starvation의 가능성이 낮다
- 반면 너무 오랫동안 실행되면 하위 task에 starvation을 유발한다
2) Timeout
- Kick하지 않아도 되는 Max Value 값
- 이 시간 동안은 Kick 하지 않아도 정상상태로 간주
3) Count
- 현재까지 남은 시간은 count로 표시
- Dog task가 watchdog timer를 reset할 때마다 1초씩 감소
-> Count 값이 낮을 수록 dog reporting 한 후 오랜 시간의 경과를 의미
wait 상태의 error case의 경우에 발생된 watchdog에서 2의 결과로 얻어진 Task_info.xls 파일을 열어보면 주위의 Task는 모두 health 하지만 혼자 Count out 즉 count가 0의 값을 가지고 있는 task가 있음. 바로 이 Task가 문제의 원인이지만 하위 Task에 영향이 없다는 것은 running 상태가 아니다. 그러나 이 경우 wait하고 있을 확률이 99%가 된다.
이상입니다.