-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchecksize
More file actions
executable file
·43 lines (37 loc) · 997 Bytes
/
checksize
File metadata and controls
executable file
·43 lines (37 loc) · 997 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
# Name: checksize
# Project: PowerSwitch/AVR-USB
# Author: Christian Starkjohann
# Creation Date: 2004-12-29
# Tabsize: 4
# Copyright: (c) 2005 OBJECTIVE DEVELOPMENT Software GmbH.
# Revision: $Id: checksize 83 2006-01-05 22:20:53Z cs $
error=0
# AtTiny 45
#codelimit=2048 # default value
#datalimit=256 # default value; leave 32 bytes for stack
# AtMega 328p
codelimit=16384 # default value
datalimit=2048 # default value; leave 32 bytes for stack
if [ $# -gt 1 ]; then
codelimit="$2"
fi
if [ $# -gt 2 ]; then
datalimit="$3"
fi
set -- `avr-size -d "$1" | awk '/[0-9]/ {print $1 + $2, $2 + $3, $2}'`
if [ $1 -gt $codelimit ]; then
echo "*** code size $1 exceeds limit of $codelimit"
error=1
else
romusage=$(($(($1*100))/$codelimit))
echo "ROM: $1 bytes (data=$3) [$romusage%]"
fi
if [ $2 -gt $datalimit ]; then
echo "*** data size $2 exceeds limit of $datalimit"
error=1
else
ramusage=$(($(($2*100))/$datalimit))
echo "RAM: $2 bytes [$ramusage%]"
fi
exit $error