Patrick Georgi | 5ac6a63 | 2020-10-28 17:29:38 +0100 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | set -e |
| 3 | |
Nico Huber | 819ba50 | 2023-03-07 22:59:01 +0000 | [diff] [blame] | 4 | TEMP_DIR=$(mktemp -d) |
| 5 | trap "rm -rf ${TEMP_DIR}" EXIT |
| 6 | |
Nico Huber | 71c97ee | 2023-03-07 23:01:53 +0000 | [diff] [blame] | 7 | if command -v meson >/dev/null 2>&1; then |
| 8 | meson setup --buildtype release ${TEMP_DIR}/build |
| 9 | ninja ${CPUS:+-j${CPUS}} -C ${TEMP_DIR}/build |
Nico Huber | c3b02dc | 2023-08-12 01:13:45 +0200 | [diff] [blame] | 10 | FLASHPROG=${TEMP_DIR}/build/flashprog |
Nico Huber | 71c97ee | 2023-03-07 23:01:53 +0000 | [diff] [blame] | 11 | else |
| 12 | ${MAKECMD:-make} clean |
| 13 | ${MAKECMD:-make} -j${CPUS:-$(nproc)} CC="${CC:-ccache cc}" CONFIG_EVERYTHING=yes |
Nico Huber | c3b02dc | 2023-08-12 01:13:45 +0200 | [diff] [blame] | 14 | FLASHPROG=./flashprog |
Nico Huber | 71c97ee | 2023-03-07 23:01:53 +0000 | [diff] [blame] | 15 | fi |
Nico Huber | 819ba50 | 2023-03-07 22:59:01 +0000 | [diff] [blame] | 16 | |
| 17 | dd bs=128K count=1 </dev/urandom >${TEMP_DIR}/rand |
Nico Huber | c3b02dc | 2023-08-12 01:13:45 +0200 | [diff] [blame] | 18 | ${FLASHPROG} -p dummy:emulate=M25P10.RES,image=${TEMP_DIR}/image -w ${TEMP_DIR}/rand |
| 19 | ${FLASHPROG} -p dummy:emulate=M25P10.RES,image=${TEMP_DIR}/image -r ${TEMP_DIR}/bak |
Nico Huber | 819ba50 | 2023-03-07 22:59:01 +0000 | [diff] [blame] | 20 | cmp ${TEMP_DIR}/rand ${TEMP_DIR}/bak |
| 21 | |
| 22 | dd bs=128K count=1 </dev/urandom >${TEMP_DIR}/rand |
Nico Huber | c3b02dc | 2023-08-12 01:13:45 +0200 | [diff] [blame] | 23 | ${FLASHPROG} -p dummy:emulate=M25P10.RES,image=${TEMP_DIR}/image -c M25P10 -w ${TEMP_DIR}/rand |
| 24 | ${FLASHPROG} -p dummy:emulate=M25P10.RES,image=${TEMP_DIR}/image -c M25P10 -v ${TEMP_DIR}/rand |
Nico Huber | 7a48031 | 2023-04-10 14:54:22 +0200 | [diff] [blame] | 25 | |
| 26 | dd bs=128K count=1 </dev/zero | tr '\000' '\377' >${TEMP_DIR}/empty |
Nico Huber | c3b02dc | 2023-08-12 01:13:45 +0200 | [diff] [blame] | 27 | ${FLASHPROG} -p dummy:emulate=M25P10.RES,image=${TEMP_DIR}/image -c M25P10 -E |
| 28 | ${FLASHPROG} -p dummy:emulate=M25P10.RES,image=${TEMP_DIR}/image -c M25P10 -v ${TEMP_DIR}/empty |