26 lines
751 B
Bash
Executable File
26 lines
751 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Compare the amount of RAM used in all stm32 programs to a
|
|
# threshold. The idea is trap changes to x86 code that will
|
|
# cause out of memory issues on the stm32
|
|
#
|
|
# This can be run from the command line or via a ctest, it doesn't
|
|
# require stm32 hardware.
|
|
#
|
|
# usage:
|
|
# cd ~/codec2/stm32/build_stm32
|
|
# ./check_ram_limit [threshold]
|
|
|
|
echo "Checking end of used RAM in all stm32 programs......."
|
|
thresh=0x20006000
|
|
[[ $# -gt 0 ]] && thresh=$1
|
|
map_files=`find . -name '*.map'`
|
|
for f in $map_files
|
|
do
|
|
ram_used=`cat $f | grep bss_end | sed 's/^.*\(0x[a-f0-9]*\).*/\1/'`
|
|
printf "%-40s 0x%x\n" $f $ram_used
|
|
[[ $ram_used -gt $thresh ]] && echo -e "\n ***** FAIL - LIMIT is $thresh !!! *****\n" && exit 1
|
|
done
|
|
echo "PASS"
|
|
exit 0
|