From 50868e60e39ea9e817c8bca59177a0f75b4d4c42 Mon Sep 17 00:00:00 2001 From: sunghan Date: Tue, 19 Sep 2017 18:37:26 +0900 Subject: [PATCH] artik053: cleanup download script 1. Split romfs stubs from main 2. Support low-case character for ALL option 3. Remove temporarily file, romfs_flashing.cfg when execution is failed --- build/configs/artik053/artik053_download.sh | 98 ++++++++++++++++------------- 1 file changed, 55 insertions(+), 43 deletions(-) diff --git a/build/configs/artik053/artik053_download.sh b/build/configs/artik053/artik053_download.sh index fedaca7..eabbc3f 100755 --- a/build/configs/artik053/artik053_download.sh +++ b/build/configs/artik053/artik053_download.sh @@ -38,23 +38,61 @@ else OPENOCD_BIN_PATH=${OPENOCD_DIR_PATH}/linux32 fi +prepare_download() +{ + # Prepare for ROMFS + ROMFS_FLASHING_CFG=${OPENOCD_DIR_PATH}/romfs_flashing.cfg + echo "set romfs_partition_enable 0" > ${ROMFS_FLASHING_CFG} + if [ "${CONFIG_FS_ROMFS}" == "y" ]; then + echo "set romfs_partition_enable 1" > ${ROMFS_FLASHING_CFG} + fi +} + +finish_download() +{ + rm ${ROMFS_FLASHING_CFG} + exit $1 +} + +romfs() +{ + # Make romfs.img + if [ "${CONFIG_FS_ROMFS}" == "y" ]; then + pushd ${OS_DIR_PATH} + sh ../tools/fs/mkromfsimg.sh + if [ ! -f "../build/output/bin/romfs.img" ]; then + echo "ROMFS image is not present" + finish_download 1 + fi + popd + + pushd ${OPENOCD_DIR_PATH} + ${OPENOCD_BIN_PATH}/openocd -f artik053.cfg -c ' \ + flash_write rom ../../../../output/bin/romfs.img; \ + exit' + popd + fi +} + main() { echo "openocd is picked from ${OPENOCD_BIN_PATH}" echo "Binaries are picked from ${OUTPUT_BINARY_PATH}" echo "Board path is ${BOARD_DIR_PATH}" + prepare_download + # Process arguments for arg in $@ do case ${arg} in - ALL) + ALL|all) echo "ALL :" # check existence of os binary if [ ! -f "${OUTPUT_BINARY_PATH}/tinyara_head.bin" ]; then echo "TinyAra binary is not existed, build first" - exit 1 + finish_download 1 fi # check existence of firmware binaries @@ -63,69 +101,43 @@ main() [ ! -f "${FW_DIR_PATH}/sssfw.bin" ] ||\ [ ! -f "${FW_DIR_PATH}/wlanfw.bin" ]; then echo "Firmware binaries for ARTIK 053 are not existed" - exit 1 - fi - # Prepare for ROMFS - ROMFS_FLASHING_CFG=${OPENOCD_DIR_PATH}/romfs_flashing.cfg - echo "set romfs_partition_enable 0" > ${ROMFS_FLASHING_CFG} - if [ "${CONFIG_FS_ROMFS}" == "y" ]; then - echo "set romfs_partition_enable 1" > ${ROMFS_FLASHING_CFG} - pushd ${OS_DIR_PATH} - sh ../tools/fs/mkromfsimg.sh - if [ ! -f "../build/output/bin/romfs.img" ]; then - echo "ROMFS image is not present" - exit 1 - fi - popd + finish_download 1 fi + # Download all binaries using openocd script pushd ${OPENOCD_DIR_PATH} - if [ "${CONFIG_FS_ROMFS}" == "y" ]; then - ${OPENOCD_BIN_PATH}/openocd -f artik053.cfg -c ' \ - flash_write bl1 ../../bin/bl1.bin; \ - flash_write bl2 ../../bin/bl2.bin; \ - flash_write sssfw ../../bin/sssfw.bin; \ - flash_write wlanfw ../../bin/wlanfw.bin; \ - flash_write os ../../../../output/bin/tinyara_head.bin; \ - flash_write rom ../../../../output/bin/romfs.img; \ - exit' - else - ${OPENOCD_BIN_PATH}/openocd -f artik053.cfg -c ' \ - flash_write bl1 ../../bin/bl1.bin; \ - flash_write bl2 ../../bin/bl2.bin; \ - flash_write sssfw ../../bin/sssfw.bin; \ - flash_write wlanfw ../../bin/wlanfw.bin; \ - flash_write os ../../../../output/bin/tinyara_head.bin; \ - exit' - fi - rm ${ROMFS_FLASHING_CFG} + ${OPENOCD_BIN_PATH}/openocd -f artik053.cfg -c ' \ + flash_write bl1 ../../bin/bl1.bin; \ + flash_write bl2 ../../bin/bl2.bin; \ + flash_write sssfw ../../bin/sssfw.bin; \ + flash_write wlanfw ../../bin/wlanfw.bin; \ + flash_write os ../../../../output/bin/tinyara_head.bin; \ + exit' popd + + # check romfs and download it + romfs ;; ERASE_USERFS|erase_userfs) echo "USERFS :" - ROMFS_FLASHING_CFG=${OPENOCD_DIR_PATH}/romfs_flashing.cfg - echo "set romfs_partition_enable 0" > ${ROMFS_FLASHING_CFG} - if [ "${CONFIG_FS_ROMFS}" == "y" ]; then - echo "set romfs_partition_enable 1" > ${ROMFS_FLASHING_CFG} - fi - pushd ${OPENOCD_DIR_PATH} ${OPENOCD_BIN_PATH}/openocd -f artik053.cfg -c ' \ flash_erase_part user; \ exit' - rm ${ROMFS_FLASHING_CFG} popd ;; *) echo "${arg} is not suppported in artik053" echo "Usage : make download [ ALL | ERASE_USERFS ]" - exit 1 + finish_download 1 ;; esac done + + finish_download } main $* -- 2.7.4