Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mbed.bat@5:ace99c9d0e4e, 2020-08-16 (annotated)
- Committer:
- hudakz
- Date:
- Sun Aug 16 10:08:01 2020 +0000
- Revision:
- 5:ace99c9d0e4e
- Parent:
- 0:e5c84595673c
- Child:
- 6:f3529afba368
Mbed support for QtCreator IDE.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| hudakz | 5:ace99c9d0e4e | 1 | #!/bin/bash |
| hudakz | 5:ace99c9d0e4e | 2 | |
| hudakz | 5:ace99c9d0e4e | 3 | echo off |
| hudakz | 5:ace99c9d0e4e | 4 | |
| hudakz | 5:ace99c9d0e4e | 5 | MBED_SYS_PATH=~/src/arm/sys |
| hudakz | 5:ace99c9d0e4e | 6 | LIB_PATH=~/src/arm/lib |
| hudakz | 5:ace99c9d0e4e | 7 | OS=6 |
| hudakz | 5:ace99c9d0e4e | 8 | PROF=DEBUG |
| hudakz | 5:ace99c9d0e4e | 9 | PROJ_NAME=${PWD##*/} |
| hudakz | 5:ace99c9d0e4e | 10 | PORT=/dev/ttyACM0 |
| hudakz | 5:ace99c9d0e4e | 11 | |
| hudakz | 5:ace99c9d0e4e | 12 | #MCU="$1" |
| hudakz | 5:ace99c9d0e4e | 13 | #shift # past argument |
| hudakz | 5:ace99c9d0e4e | 14 | |
| hudakz | 5:ace99c9d0e4e | 15 | MACROS=() |
| hudakz | 5:ace99c9d0e4e | 16 | SRC_LIB_PATH=() |
| hudakz | 5:ace99c9d0e4e | 17 | while [[ $# -gt 0 ]] |
| hudakz | 5:ace99c9d0e4e | 18 | do |
| hudakz | 5:ace99c9d0e4e | 19 | key="$1" |
| hudakz | 5:ace99c9d0e4e | 20 | |
| hudakz | 5:ace99c9d0e4e | 21 | case $key in |
| hudakz | 5:ace99c9d0e4e | 22 | all) |
| hudakz | 5:ace99c9d0e4e | 23 | FLASH='-f' |
| hudakz | 5:ace99c9d0e4e | 24 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 25 | ;; |
| hudakz | 5:ace99c9d0e4e | 26 | -f) |
| hudakz | 5:ace99c9d0e4e | 27 | FLASH='-f' |
| hudakz | 5:ace99c9d0e4e | 28 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 29 | ;; |
| hudakz | 5:ace99c9d0e4e | 30 | -c|clean) |
| hudakz | 5:ace99c9d0e4e | 31 | CLEAN='-c' |
| hudakz | 5:ace99c9d0e4e | 32 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 33 | ;; |
| hudakz | 5:ace99c9d0e4e | 34 | -D|--macro) |
| hudakz | 5:ace99c9d0e4e | 35 | MACROS+=('-D '$2) |
| hudakz | 5:ace99c9d0e4e | 36 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 37 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 38 | ;; |
| hudakz | 5:ace99c9d0e4e | 39 | -l) |
| hudakz | 5:ace99c9d0e4e | 40 | SRC_LIB_PATH+=' --source '${LIB_PATH}/$2 |
| hudakz | 5:ace99c9d0e4e | 41 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 42 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 43 | ;; |
| hudakz | 5:ace99c9d0e4e | 44 | -m) |
| hudakz | 5:ace99c9d0e4e | 45 | MCU="$2" |
| hudakz | 5:ace99c9d0e4e | 46 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 47 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 48 | ;; |
| hudakz | 5:ace99c9d0e4e | 49 | -os) |
| hudakz | 5:ace99c9d0e4e | 50 | OS="$2" |
| hudakz | 5:ace99c9d0e4e | 51 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 52 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 53 | ;; |
| hudakz | 5:ace99c9d0e4e | 54 | -p|--port) |
| hudakz | 5:ace99c9d0e4e | 55 | PORT="$2" |
| hudakz | 5:ace99c9d0e4e | 56 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 57 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 58 | ;; |
| hudakz | 5:ace99c9d0e4e | 59 | -r|--release) |
| hudakz | 5:ace99c9d0e4e | 60 | PROF=RELEASE |
| hudakz | 5:ace99c9d0e4e | 61 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 62 | ;; |
| hudakz | 5:ace99c9d0e4e | 63 | *) # additional args |
| hudakz | 5:ace99c9d0e4e | 64 | ARGS+=("$key $2") |
| hudakz | 5:ace99c9d0e4e | 65 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 66 | ;; |
| hudakz | 5:ace99c9d0e4e | 67 | esac |
| hudakz | 5:ace99c9d0e4e | 68 | done |
| hudakz | 0:e5c84595673c | 69 | |
| hudakz | 5:ace99c9d0e4e | 70 | if [ ${OS} == 2 ] |
| hudakz | 5:ace99c9d0e4e | 71 | then |
| hudakz | 5:ace99c9d0e4e | 72 | GCC_ARM_PATH=/opt/gcc-arm-none-eabi-6-2017-q2-update |
| hudakz | 5:ace99c9d0e4e | 73 | MBED_OS_PATH=${MBED_SYS_PATH}/mbed |
| hudakz | 5:ace99c9d0e4e | 74 | CUSTOM_TARGETS_PATH=${MBED_SYS_PATH}/custom_targets/mbed |
| hudakz | 5:ace99c9d0e4e | 75 | PROFILE=debug |
| hudakz | 5:ace99c9d0e4e | 76 | if [ ${PROF} == RELEASE ] |
| hudakz | 5:ace99c9d0e4e | 77 | then |
| hudakz | 5:ace99c9d0e4e | 78 | PROFILE=release |
| hudakz | 5:ace99c9d0e4e | 79 | fi |
| hudakz | 5:ace99c9d0e4e | 80 | else |
| hudakz | 5:ace99c9d0e4e | 81 | GCC_ARM_PATH=/opt/gcc-arm-none-eabi-9-2019-q4-major |
| hudakz | 5:ace99c9d0e4e | 82 | MBED_OS_PATH=${MBED_SYS_PATH}/mbed-os |
| hudakz | 5:ace99c9d0e4e | 83 | CUSTOM_TARGETS_PATH=${MBED_SYS_PATH}/custom_targets/mbed-os |
| hudakz | 5:ace99c9d0e4e | 84 | PROFILE=${MBED_SYS_PATH}/mbed-os/tools/profiles/debug.json |
| hudakz | 5:ace99c9d0e4e | 85 | if [ ${PROF} == RELEASE ] |
| hudakz | 5:ace99c9d0e4e | 86 | then |
| hudakz | 5:ace99c9d0e4e | 87 | PROFILE=${MBED_SYS_PATH}/mbed-os/tools/profiles/release.json |
| hudakz | 5:ace99c9d0e4e | 88 | fi |
| hudakz | 5:ace99c9d0e4e | 89 | fi |
| hudakz | 5:ace99c9d0e4e | 90 | |
| hudakz | 5:ace99c9d0e4e | 91 | mbed config -G GCC_ARM_PATH ${GCC_ARM_PATH}/bin |
| hudakz | 5:ace99c9d0e4e | 92 | mbed config -G MBED_OS_DIR ${MBED_OS_PATH} |
| hudakz | 5:ace99c9d0e4e | 93 | if ! [ -f ./.mbed ] |
| hudakz | 5:ace99c9d0e4e | 94 | then |
| hudakz | 5:ace99c9d0e4e | 95 | mbed new . |
| hudakz | 5:ace99c9d0e4e | 96 | fi |
| hudakz | 5:ace99c9d0e4e | 97 | mbed export -i qtcreator -m ${MCU} --source . --source ${CUSTOM_TARGETS_PATH} --source ${MBED_OS_PATH} --source ${GCC_ARM_PATH}/arm-none-eabi/include ${SRC_LIB_PATH} |
| hudakz | 5:ace99c9d0e4e | 98 | #mbed export -i vscode_gcc_arm -m ${MCU} --source . --source ${CUSTOM_TARGETS_PATH} --source ${MBED_OS_PATH} --source ${GCC_ARM_PATH}/arm-none-eabi/include ${SRC_LIB_PATH} |
| hudakz | 5:ace99c9d0e4e | 99 | mbed compile -t GCC_ARM -m ${MCU} ${ARGS} --source . --source ${CUSTOM_TARGETS_PATH} --source ${MBED_OS_PATH} ${SRC_LIB_PATH} $CLEAN --profile ${PROFILE} |
| hudakz | 5:ace99c9d0e4e | 100 | |
| hudakz | 5:ace99c9d0e4e | 101 | #if [ "${MCU}" == "LPC1768DBG" ] |
| hudakz | 5:ace99c9d0e4e | 102 | #then |
| hudakz | 5:ace99c9d0e4e | 103 | # ${GCC_ARM_PATH}/bin/arm-none-eabi-objcopy -I binary -O ihex ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.hex |
| hudakz | 5:ace99c9d0e4e | 104 | #fi |
| hudakz | 5:ace99c9d0e4e | 105 | |
| hudakz | 5:ace99c9d0e4e | 106 | if [ "${FLASH}" == "-f" ] |
| hudakz | 5:ace99c9d0e4e | 107 | then |
| hudakz | 5:ace99c9d0e4e | 108 | case ${MCU} in |
| hudakz | 5:ace99c9d0e4e | 109 | LPC1768) |
| hudakz | 5:ace99c9d0e4e | 110 | MCU_CFG="pyOCD" |
| hudakz | 5:ace99c9d0e4e | 111 | ;; |
| hudakz | 5:ace99c9d0e4e | 112 | LPC1768DBG) |
| hudakz | 5:ace99c9d0e4e | 113 | MCU_CFG="pyOCD" |
| hudakz | 5:ace99c9d0e4e | 114 | ;; |
| hudakz | 5:ace99c9d0e4e | 115 | BLUEPILL|MAPLE_MINI|NUCLEO_F103RB|STM32F103RC|STM32F103VE) |
| hudakz | 5:ace99c9d0e4e | 116 | MCU_CFG="/usr/local/share/openocd/scripts/board/st_nucleo_f103rb.cfg" |
| hudakz | 5:ace99c9d0e4e | 117 | ;; |
| hudakz | 5:ace99c9d0e4e | 118 | NUCLEO_F446RE|STM32F407VE) |
| hudakz | 5:ace99c9d0e4e | 119 | MCU_CFG="/usr/local/share/openocd/scripts/board/st_nucleo_f4.cfg" |
| hudakz | 5:ace99c9d0e4e | 120 | ;; |
| hudakz | 5:ace99c9d0e4e | 121 | NUCLEO_F767ZI) |
| hudakz | 5:ace99c9d0e4e | 122 | MCU_CFG="/usr/local/share/openocd/scripts/board/stm32f7discovery.cfg" |
| hudakz | 5:ace99c9d0e4e | 123 | ;; |
| hudakz | 5:ace99c9d0e4e | 124 | *) |
| hudakz | 5:ace99c9d0e4e | 125 | MCU_CFG="not_supported" |
| hudakz | 5:ace99c9d0e4e | 126 | echo "No support to flash "${MCU} |
| hudakz | 5:ace99c9d0e4e | 127 | ;; |
| hudakz | 5:ace99c9d0e4e | 128 | esac |
| hudakz | 5:ace99c9d0e4e | 129 | if [ "$MCU_CFG" != "not_supported" ] |
| hudakz | 5:ace99c9d0e4e | 130 | then |
| hudakz | 5:ace99c9d0e4e | 131 | echo "Flashing the "${MCU}" ..." |
| hudakz | 5:ace99c9d0e4e | 132 | case ${MCU_CFG} in |
| hudakz | 5:ace99c9d0e4e | 133 | pyOCD) |
| hudakz | 5:ace99c9d0e4e | 134 | if [ "$PORT" == "/dev/ttyACM0" ] |
| hudakz | 5:ace99c9d0e4e | 135 | then |
| hudakz | 5:ace99c9d0e4e | 136 | ~/.local/bin/pyocd-flashtool -t lpc1768 ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin |
| hudakz | 5:ace99c9d0e4e | 137 | #~/.local/bin/pyocd-flashtool -t lpc1768 ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin > /dev/null 2>&1 |
| hudakz | 5:ace99c9d0e4e | 138 | else |
| hudakz | 5:ace99c9d0e4e | 139 | lpc21isp -bin ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin ${PORT} 115200 96000 |
| hudakz | 5:ace99c9d0e4e | 140 | fi |
| hudakz | 5:ace99c9d0e4e | 141 | ;; |
| hudakz | 5:ace99c9d0e4e | 142 | *) |
| hudakz | 5:ace99c9d0e4e | 143 | openocd -f ${MCU_CFG} -c """program ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.elf verify reset exit""" |
| hudakz | 5:ace99c9d0e4e | 144 | #openocd -f ${MCU_CFG} -c """program ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.elf verify reset exit""" > /dev/null 2>&1 |
| hudakz | 5:ace99c9d0e4e | 145 | ;; |
| hudakz | 5:ace99c9d0e4e | 146 | esac |
| hudakz | 5:ace99c9d0e4e | 147 | echo "Done" |
| hudakz | 5:ace99c9d0e4e | 148 | fi |
| hudakz | 5:ace99c9d0e4e | 149 | fi |
| hudakz | 5:ace99c9d0e4e | 150 | |
| hudakz | 5:ace99c9d0e4e | 151 |