checksize 771 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/sh
  2. # Name: checksize
  3. # Project: PowerSwitch/AVR-USB
  4. # Author: Christian Starkjohann
  5. # Creation Date: 2004-12-29
  6. # Tabsize: 4
  7. # Copyright: (c) 2005 OBJECTIVE DEVELOPMENT Software GmbH.
  8. # Revision: $Id: checksize 83 2006-01-05 22:20:53Z cs $
  9. error=0
  10. codelimit=16384 # default value
  11. datalimit=992 # default value; leave 32 bytes for stack
  12. if [ $# -gt 1 ]; then
  13. codelimit="$2"
  14. fi
  15. if [ $# -gt 2 ]; then
  16. datalimit="$3"
  17. fi
  18. set -- `avr-size -d "$1" | awk '/[0-9]/ {print $1 + $2, $2 + $3, $2}'`
  19. if [ $1 -gt $codelimit ]; then
  20. echo "*** code size $1 exceeds limit of $codelimit"
  21. error=1
  22. else
  23. echo "ROM: $1 bytes (data=$3)"
  24. fi
  25. if [ $2 -gt $datalimit ]; then
  26. echo "*** data size $2 exceeds limit of $datalimit"
  27. error=1
  28. else
  29. echo "RAM: $2 bytes"
  30. fi
  31. exit $error