From 7dc8632514aa13ba0c704dbe6cf7aeb38071d808 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 01:01:27 +0300 Subject: clean up pico-serprog for release moved cmake files into a separate build directory. this can just be deleted for the source release. might as well use cmake for the actual build too. that makes repeated builds faster for some reason. Signed-off-by: Riku Viitanen --- script/build/serprog/rp2040 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'script/build/serprog') diff --git a/script/build/serprog/rp2040 b/script/build/serprog/rp2040 index e265cc7a..3b4fbf14 100755 --- a/script/build/serprog/rp2040 +++ b/script/build/serprog/rp2040 @@ -51,14 +51,14 @@ main() buildrom() { board=${1} - (cd ${src_dir}; cmake -DPICO_BOARD="${board}" \ - -DPICO_SDK_PATH="${sdk_dir}" "${src_dir}" || \ - err "can't cmake ${src_dir}") - make -C ${src_dir} clean - make -C ${src_dir} - mv ${src_dir}/pico_serprog.uf2 \ + cmake -DPICO_BOARD="${board}" -DPICO_SDK_PATH="${sdk_dir}" \ + -B "${src_dir}/build" "${src_dir}" \ + || err "can't cmake ${src_dir}" + cmake --build "${src_dir}/build" + mv ${src_dir}/build/pico_serprog.uf2 \ ${serprog_release_dir}/serprog_${board}.uf2 \ || err "${board} serprog build failed!" + printf "output to ${serprog_release_dir}/serprog_${board}.uf2\n" } main $@ -- cgit v1.2.1 From ccb36aa652f118ae88a150c67380b81cbc21dd64 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Mon, 11 Sep 2023 14:34:20 +0300 Subject: make libopencm3 correctly Signed-off-by: Riku Viitanen --- script/build/serprog/stm32 | 2 ++ 1 file changed, 2 insertions(+) (limited to 'script/build/serprog') diff --git a/script/build/serprog/stm32 b/script/build/serprog/stm32 index 8637e292..41412957 100755 --- a/script/build/serprog/stm32 +++ b/script/build/serprog/stm32 @@ -50,10 +50,12 @@ main() buildrom() { board=${1} + make -C ${src_dir} libopencm3-just-make BOARD=${board} make -C ${src_dir} BOARD=${board} mv ${src_dir}/stm32-vserprog.hex \ ${serprog_release_dir}/serprog_${board}.hex \ || err "${board} serprog build failed!" + printf "output to ${serprog_release_dir}/serprog_${board}.hex\n" } main $@ -- cgit v1.2.1 From c3ac62b1734341777591376f08bd2ca5ed339990 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Tue, 12 Sep 2023 02:51:32 +0300 Subject: serprog: list available boards Signed-off-by: Riku Viitanen --- script/build/serprog/rp2040 | 21 +++++++++++++++------ script/build/serprog/stm32 | 19 ++++++++++++++----- 2 files changed, 29 insertions(+), 11 deletions(-) (limited to 'script/build/serprog') diff --git a/script/build/serprog/rp2040 b/script/build/serprog/rp2040 index 3b4fbf14..83c8af69 100755 --- a/script/build/serprog/rp2040 +++ b/script/build/serprog/rp2040 @@ -24,23 +24,25 @@ set -u -e . "include/err.sh" serprog_release_dir=$(pwd)/bin/serprog_rp2040 -sdk_dir=$(pwd)/util-fw/rp2040/pico-sdk src_dir=$(pwd)/util-fw/rp2040/pico-serprog +sdk_dir=$(pwd)/util-fw/rp2040/pico-sdk +boards_dir=${sdk_dir}/src/boards/include/boards main() { - printf "Compiling serprog firmware for Raspberry Pi Pico\n" - [ -d "${src_dir}/" ] || ./update project repo rpi-pico-serprog \ || err "fetch rpi-pico-serprog failed!\n" mkdir -p "${serprog_release_dir}" || \ err "can't create dir: ${serprog_release_dir}" - boards_dir=${sdk_dir}/src/boards/include/boards - if [ $# -gt 0 ] ; then - buildrom "${1}" + if [ "${1}" = "list" ] ; then + list_boards + else + buildrom "${1}" + fi else + printf "Building pico-serprog for all boards\n" basename -a -s .h ${boards_dir}/*.h | while read board ; do [ "${board}" = "none" ] || buildrom ${board} done @@ -51,6 +53,7 @@ main() buildrom() { board=${1} + printf "Building pico-serprog for ${board}\n" cmake -DPICO_BOARD="${board}" -DPICO_SDK_PATH="${sdk_dir}" \ -B "${src_dir}/build" "${src_dir}" \ || err "can't cmake ${src_dir}" @@ -61,4 +64,10 @@ buildrom() printf "output to ${serprog_release_dir}/serprog_${board}.uf2\n" } +list_boards() +{ + printf "Available boards for pico-serprog:\n" + basename -a -s .h ${boards_dir}/*.h +} + main $@ diff --git a/script/build/serprog/stm32 b/script/build/serprog/stm32 index 41412957..94c45bc8 100755 --- a/script/build/serprog/stm32 +++ b/script/build/serprog/stm32 @@ -25,21 +25,23 @@ set -u -e serprog_release_dir=$(pwd)/bin/serprog_stm32 src_dir=$(pwd)/util-fw/stm32-vserprog +boards_dir=${src_dir}/boards main() { - printf "Compiling serprog firmware for STM32\n" - [ -d "${src_dir}/" ] || ./update project repo stm32-vserprog \ || err "fetch stm32-vserprog failed!\n" mkdir -p "${serprog_release_dir}" || \ err "can't create dir: ${serprog_release_dir}" - boards_dir=${src_dir}/boards - if [ $# -gt 0 ] ; then - buildrom "${1}" + if [ "${1}" = "list" ] ; then + list_boards + else + buildrom "${1}" + fi else + printf "Building stm32-vserprog for all boards\n" basename -a -s .h ${boards_dir}/*.h | while read board ; do buildrom ${board} done @@ -50,6 +52,7 @@ main() buildrom() { board=${1} + printf "Building stm32-vserprog for ${board}\n" make -C ${src_dir} libopencm3-just-make BOARD=${board} make -C ${src_dir} BOARD=${board} mv ${src_dir}/stm32-vserprog.hex \ @@ -58,4 +61,10 @@ buildrom() printf "output to ${serprog_release_dir}/serprog_${board}.hex\n" } +list_boards() +{ + printf "Available boards for stm32-vserprog:\n" + basename -a -s .h ${boards_dir}/*.h +} + main $@ -- cgit v1.2.1