]> git.gag.com Git - fw/altos/blob - src/util/check-stack
releasing 1.6.3
[fw/altos] / src / util / check-stack
1 #!/bin/sh
2 HEADER=$1
3 MEM=$2
4
5 HEADER_STACK=`awk '/#define AO_STACK_START/ {print strtonum($3)}' $HEADER`
6 MEM_STACK=`awk '/Stack starts at/ {print strtonum ($4)}' $MEM`
7 XRAM_END=`awk '/EXTERNAL RAM/ { print strtonum ($4)}' $MEM`
8 FLASH_END=`awk '/ROM\/EPROM\/FLASH/ { print strtonum ($3)}' $MEM`
9
10 if [ "$HEADER_STACK" -lt "$MEM_STACK" ]; then
11         echo $MEM_STACK | awk '{ printf ("Set AO_STACK_START to at least 0x%x\n", $1); }'
12         exit 1
13 fi
14 if [ "$XRAM_END" -ge 65024 ]; then
15     echo $XRAM_END | awk '{ printf ("Uses too much XRAM, 0x%x >= 0x%x\n", $1, 65024); }'
16     exit 1
17 fi
18 if [ "$FLASH_END" -ge 32768 ]; then
19     echo $FLASH_END | awk '{ printf ("Uses too much FLASH, 0x%x >= 0x%x\n", $1, 32768); }'
20     exit 1
21 fi
22
23 exit 0
24