This is an automated email from the ASF dual-hosted git repository.
janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/master by this push:
new 5cb8cb613 hw/scripts: Verify if programmer tool exist before flashing
5cb8cb613 is described below
commit 5cb8cb613b96bcd1a87c92961372a3c8ef8ae78a
Author: Szymon Janc <[email protected]>
AuthorDate: Thu Mar 7 09:40:36 2024 +0100
hw/scripts: Verify if programmer tool exist before flashing
This improves user experience when seting up project.
---
hw/scripts/download.sh | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/hw/scripts/download.sh b/hw/scripts/download.sh
index fc347bd14..6b27c6fe1 100644
--- a/hw/scripts/download.sh
+++ b/hw/scripts/download.sh
@@ -29,6 +29,13 @@
# - FLASH_OFFSET contains the flash offset to download to
# - BOOT_LOADER is set if downloading a bootloader
+check_downloader() {
+ if ! command -v $1 &> /dev/null; then
+ >&2 echo "$1 not found."
+ exit 1
+ fi
+}
+
if [ "$MFG_IMAGE" ]; then
if [ -z "$MYNEWT_VAL_MYNEWT_DOWNLOADER_MFG_IMAGE_FLASH_OFFSET" ] ; then
>&2 echo "Syscfg value MYNEWT_DOWNLOADER_MFG_IMAGE_FLASH_OFFSET not set"
@@ -39,11 +46,13 @@ fi
case "${MYNEWT_VAL_MYNEWT_DOWNLOADER}" in
"ezflashcli")
+ check_downloader ezFlashCLI
. $CORE_PATH/hw/scripts/ezflashcli.sh
common_file_to_load
ezflashcli_load
;;
"jlink")
+ check_downloader JLinkExe
. $CORE_PATH/hw/scripts/jlink.sh
if [ -z "${MYNEWT_VAL_JLINK_TARGET}" ] ; then
>&2 echo -e "\n\nSyscfg value MYNEWT_DOWNLOADER set to 'jlink' but
JLINK_TARGET not set in syscfg."
@@ -54,11 +63,13 @@ case "${MYNEWT_VAL_MYNEWT_DOWNLOADER}" in
jlink_load
;;
"nrfjprog")
+ check_downloader nrfjprog
. $CORE_PATH/hw/scripts/nrfjprog.sh
common_file_to_load
nrfjprog_load
;;
"openocd")
+ check_downloader openocd
. $CORE_PATH/hw/scripts/openocd.sh
if [ -n "${MYNEWT_VAL_MYNEWT_DOWNLOADER_OPENOCD_INTERFACE}" ] ; then
CFG="-f ${MYNEWT_VAL_MYNEWT_DOWNLOADER_OPENOCD_INTERFACE}"
@@ -79,6 +90,7 @@ case "${MYNEWT_VAL_MYNEWT_DOWNLOADER}" in
openocd_reset_run
;;
"pyocd")
+ check_downloader pyocd
. $CORE_PATH/hw/scripts/pyocd.sh
if [ -z "${MYNEWT_VAL_PYOCD_TARGET}" ] ; then
>&2 echo -e "\n\nSyscfg value MYNEWT_DOWNLOADER set to 'pyocd' but
PYOCD_TARGET not set in syscfg."
@@ -90,11 +102,13 @@ case "${MYNEWT_VAL_MYNEWT_DOWNLOADER}" in
pyocd_load
;;
"stflash")
+ check_downloader st-flash
. $CORE_PATH/hw/scripts/stlink.sh
common_file_to_load
stlink_load
;;
"stm32_programmer_cli")
+ check_downloader STM32_Programmer_CLI
. $CORE_PATH/hw/scripts/stm32_programmer.sh
common_file_to_load
stlink_load