summaryrefslogtreecommitdiff
path: root/firmware/checksize
blob: efd1f4210af488992834700ea1689f36e0831d4f (plain)
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
#!/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$

error=0
codelimit=2048  # default value
datalimit=96    # 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
	echo "ROM: $1 bytes (data=$3)"
fi
if [ $2 -gt $datalimit ]; then
	echo "*** data size $2 exceeds limit of $datalimit"
	error=1
else
	echo "RAM: $2 bytes"
fi

exit $error