check_reset_reason.sh 850 B

1234567891011121314151617181920212223242526272829
  1. #!/bin/sh
  2. if [ $# -lt 1 ]; then
  3. echo "Usage sample: check_reset_reason.sh [Action]"
  4. echo " Action: read / clear"
  5. exit 0;
  6. else
  7. case $1 in
  8. read)
  9. reason=`devmem 0x44e00f08`
  10. echo "CPU reset reason register:" $reason
  11. echo "Bit[0]: Power-on (cold) reset event"
  12. echo "Bit[1]: Global warm software reset event"
  13. echo "Bit[2]: Reserved"
  14. echo "Bit[3]: Reserved"
  15. echo "Bit[4]: Watchdog1 timer reset event"
  16. echo "Bit[5]: External warm reset event"
  17. echo "Bit[6]: Reserved"
  18. echo "Bit[7]: Reserved"
  19. echo "Bit[8]: Reserved"
  20. echo "Bit[9]: IcePick reset event"
  21. ;;
  22. clear)
  23. `devmem 0x44e00f08 w 0xffffffff`
  24. echo "CPU reset reason register cleared."
  25. ;;
  26. esac
  27. fi