blob: e89ff070ba3a9c6be35ed311bdae7578a74fe279 (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#!/bin/sh
# This Source Code Form is subject to the terms of the Mozilla Public License,
# v. 2.0. If a copy of the MPL was not distributed with this file, You can
# obtain one at https://mozilla.org/MPL/2.0/.
# nucleo.sh
#
# This script builds the firmware for the ST Nucleo F767ZI board instead of the
# native_sim board. After the build it flashes it to the target and opens the
# serial console.
#
# This may be used to quickly test the current simulation-based development
# state on real hardware.
set -euf
SCRIPT="$(realpath "$0")"
FW="$(dirname "$SCRIPT")"
ROOT="$(dirname "$FW")"
BUILD="${ROOT}/nucleo"
BOOTLOADER_FIRMWARE="${BUILD}/fw/btl/zephyr/zephyr.bin"
APPLICATION_FIRMWARE="${BUILD}/fw/app/zephyr/zephyr.bin"
APPLICATION_FIRMWARE_SIGNED="${BUILD}/fw/app/zephyr/zephyr.signed.bin"
BOOTLOADER_FLASH_ADDRESS='0x8000000'
APPLICATION_FLASH_ADDRESS='0x8040000'
IMGTOOL="${ROOT}/imgtool.py"
KEY="${HOME}/mcuboot/key.pem"
BOARD='nucleo_f767zi'
BAUDRATE='115200'
SERIAL_PORT='/dev/ttyACM0'
set -x
rm -rf "$BUILD"
cmake "-B${BUILD}" -GNinja -DBOARD="$BOARD"
ninja -C "$BUILD"
python "$IMGTOOL" sign \
--version 0.0.0 \
--header-size 0x200 \
--slot-size 0xc0000 \
--key "$KEY" \
"$APPLICATION_FIRMWARE" \
"$APPLICATION_FIRMWARE_SIGNED"
st-flash --connect-under-reset write "$BOOTLOADER_FIRMWARE" \
"$BOOTLOADER_FLASH_ADDRESS"
st-flash --connect-under-reset write "$APPLICATION_FIRMWARE_SIGNED" \
"$APPLICATION_FLASH_ADDRESS"
picocom -b "$BAUDRATE" "$SERIAL_PORT"
|