artik053: cleanup download script
authorsunghan <sh924.chang@samsung.com>
Tue, 19 Sep 2017 09:37:26 +0000 (18:37 +0900)
committersunghan <sh924.chang@samsung.com>
Tue, 19 Sep 2017 09:42:33 +0000 (18:42 +0900)
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

index fedaca7..eabbc3f 100755 (executable)
@@ -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 $*