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@6:f3529afba368, 2020-08-23 (annotated)
- Committer:
- hudakz
- Date:
- Sun Aug 23 19:48:40 2020 +0000
- Revision:
- 6:f3529afba368
- Parent:
- 5:ace99c9d0e4e
- Child:
- 7:b567983e76f4
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 | MACROS=() |
| hudakz | 5:ace99c9d0e4e | 13 | SRC_LIB_PATH=() |
| hudakz | 5:ace99c9d0e4e | 14 | while [[ $# -gt 0 ]] |
| hudakz | 5:ace99c9d0e4e | 15 | do |
| hudakz | 5:ace99c9d0e4e | 16 | key="$1" |
| hudakz | 5:ace99c9d0e4e | 17 | |
| hudakz | 5:ace99c9d0e4e | 18 | case $key in |
| hudakz | 6:f3529afba368 | 19 | all|-f) |
| hudakz | 5:ace99c9d0e4e | 20 | FLASH='-f' |
| hudakz | 5:ace99c9d0e4e | 21 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 22 | ;; |
| hudakz | 5:ace99c9d0e4e | 23 | -c|clean) |
| hudakz | 5:ace99c9d0e4e | 24 | CLEAN='-c' |
| hudakz | 5:ace99c9d0e4e | 25 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 26 | ;; |
| hudakz | 5:ace99c9d0e4e | 27 | -D|--macro) |
| hudakz | 5:ace99c9d0e4e | 28 | MACROS+=('-D '$2) |
| hudakz | 5:ace99c9d0e4e | 29 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 30 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 31 | ;; |
| hudakz | 5:ace99c9d0e4e | 32 | -l) |
| hudakz | 5:ace99c9d0e4e | 33 | SRC_LIB_PATH+=' --source '${LIB_PATH}/$2 |
| hudakz | 5:ace99c9d0e4e | 34 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 35 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 36 | ;; |
| hudakz | 5:ace99c9d0e4e | 37 | -m) |
| hudakz | 5:ace99c9d0e4e | 38 | MCU="$2" |
| hudakz | 5:ace99c9d0e4e | 39 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 40 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 41 | ;; |
| hudakz | 5:ace99c9d0e4e | 42 | -os) |
| hudakz | 5:ace99c9d0e4e | 43 | OS="$2" |
| hudakz | 5:ace99c9d0e4e | 44 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 45 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 46 | ;; |
| hudakz | 5:ace99c9d0e4e | 47 | -p|--port) |
| hudakz | 5:ace99c9d0e4e | 48 | PORT="$2" |
| hudakz | 5:ace99c9d0e4e | 49 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 50 | shift # past value |
| hudakz | 5:ace99c9d0e4e | 51 | ;; |
| hudakz | 5:ace99c9d0e4e | 52 | -r|--release) |
| hudakz | 5:ace99c9d0e4e | 53 | PROF=RELEASE |
| hudakz | 5:ace99c9d0e4e | 54 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 55 | ;; |
| hudakz | 5:ace99c9d0e4e | 56 | *) # additional args |
| hudakz | 5:ace99c9d0e4e | 57 | ARGS+=("$key $2") |
| hudakz | 5:ace99c9d0e4e | 58 | shift # past argument |
| hudakz | 5:ace99c9d0e4e | 59 | ;; |
| hudakz | 5:ace99c9d0e4e | 60 | esac |
| hudakz | 5:ace99c9d0e4e | 61 | done |
| hudakz | 0:e5c84595673c | 62 | |
| hudakz | 5:ace99c9d0e4e | 63 | if [ ${OS} == 2 ] |
| hudakz | 5:ace99c9d0e4e | 64 | then |
| hudakz | 5:ace99c9d0e4e | 65 | GCC_ARM_PATH=/opt/gcc-arm-none-eabi-6-2017-q2-update |
| hudakz | 5:ace99c9d0e4e | 66 | MBED_OS_PATH=${MBED_SYS_PATH}/mbed |
| hudakz | 5:ace99c9d0e4e | 67 | CUSTOM_TARGETS_PATH=${MBED_SYS_PATH}/custom_targets/mbed |
| hudakz | 5:ace99c9d0e4e | 68 | PROFILE=debug |
| hudakz | 5:ace99c9d0e4e | 69 | if [ ${PROF} == RELEASE ] |
| hudakz | 5:ace99c9d0e4e | 70 | then |
| hudakz | 5:ace99c9d0e4e | 71 | PROFILE=release |
| hudakz | 5:ace99c9d0e4e | 72 | fi |
| hudakz | 5:ace99c9d0e4e | 73 | else |
| hudakz | 5:ace99c9d0e4e | 74 | GCC_ARM_PATH=/opt/gcc-arm-none-eabi-9-2019-q4-major |
| hudakz | 5:ace99c9d0e4e | 75 | MBED_OS_PATH=${MBED_SYS_PATH}/mbed-os |
| hudakz | 5:ace99c9d0e4e | 76 | CUSTOM_TARGETS_PATH=${MBED_SYS_PATH}/custom_targets/mbed-os |
| hudakz | 5:ace99c9d0e4e | 77 | PROFILE=${MBED_SYS_PATH}/mbed-os/tools/profiles/debug.json |
| hudakz | 5:ace99c9d0e4e | 78 | if [ ${PROF} == RELEASE ] |
| hudakz | 5:ace99c9d0e4e | 79 | then |
| hudakz | 5:ace99c9d0e4e | 80 | PROFILE=${MBED_SYS_PATH}/mbed-os/tools/profiles/release.json |
| hudakz | 5:ace99c9d0e4e | 81 | fi |
| hudakz | 5:ace99c9d0e4e | 82 | fi |
| hudakz | 5:ace99c9d0e4e | 83 | |
| hudakz | 5:ace99c9d0e4e | 84 | mbed config -G GCC_ARM_PATH ${GCC_ARM_PATH}/bin |
| hudakz | 5:ace99c9d0e4e | 85 | mbed config -G MBED_OS_DIR ${MBED_OS_PATH} |
| hudakz | 5:ace99c9d0e4e | 86 | if ! [ -f ./.mbed ] |
| hudakz | 5:ace99c9d0e4e | 87 | then |
| hudakz | 5:ace99c9d0e4e | 88 | mbed new . |
| hudakz | 5:ace99c9d0e4e | 89 | fi |
| hudakz | 5:ace99c9d0e4e | 90 | 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 | 91 | #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 | 92 | 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 | 93 | |
| hudakz | 5:ace99c9d0e4e | 94 | #if [ "${MCU}" == "LPC1768DBG" ] |
| hudakz | 5:ace99c9d0e4e | 95 | #then |
| hudakz | 5:ace99c9d0e4e | 96 | # ${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 | 97 | #fi |
| hudakz | 5:ace99c9d0e4e | 98 | |
| hudakz | 5:ace99c9d0e4e | 99 | if [ "${FLASH}" == "-f" ] |
| hudakz | 5:ace99c9d0e4e | 100 | then |
| hudakz | 5:ace99c9d0e4e | 101 | case ${MCU} in |
| hudakz | 5:ace99c9d0e4e | 102 | LPC1768) |
| hudakz | 5:ace99c9d0e4e | 103 | MCU_CFG="pyOCD" |
| hudakz | 5:ace99c9d0e4e | 104 | ;; |
| hudakz | 5:ace99c9d0e4e | 105 | LPC1768DBG) |
| hudakz | 5:ace99c9d0e4e | 106 | MCU_CFG="pyOCD" |
| hudakz | 5:ace99c9d0e4e | 107 | ;; |
| hudakz | 5:ace99c9d0e4e | 108 | BLUEPILL|MAPLE_MINI|NUCLEO_F103RB|STM32F103RC|STM32F103VE) |
| hudakz | 5:ace99c9d0e4e | 109 | MCU_CFG="/usr/local/share/openocd/scripts/board/st_nucleo_f103rb.cfg" |
| hudakz | 5:ace99c9d0e4e | 110 | ;; |
| hudakz | 5:ace99c9d0e4e | 111 | NUCLEO_F446RE|STM32F407VE) |
| hudakz | 5:ace99c9d0e4e | 112 | MCU_CFG="/usr/local/share/openocd/scripts/board/st_nucleo_f4.cfg" |
| hudakz | 5:ace99c9d0e4e | 113 | ;; |
| hudakz | 5:ace99c9d0e4e | 114 | NUCLEO_F767ZI) |
| hudakz | 5:ace99c9d0e4e | 115 | MCU_CFG="/usr/local/share/openocd/scripts/board/stm32f7discovery.cfg" |
| hudakz | 5:ace99c9d0e4e | 116 | ;; |
| hudakz | 5:ace99c9d0e4e | 117 | *) |
| hudakz | 5:ace99c9d0e4e | 118 | MCU_CFG="not_supported" |
| hudakz | 5:ace99c9d0e4e | 119 | echo "No support to flash "${MCU} |
| hudakz | 5:ace99c9d0e4e | 120 | ;; |
| hudakz | 5:ace99c9d0e4e | 121 | esac |
| hudakz | 5:ace99c9d0e4e | 122 | if [ "$MCU_CFG" != "not_supported" ] |
| hudakz | 5:ace99c9d0e4e | 123 | then |
| hudakz | 5:ace99c9d0e4e | 124 | echo "Flashing the "${MCU}" ..." |
| hudakz | 5:ace99c9d0e4e | 125 | case ${MCU_CFG} in |
| hudakz | 5:ace99c9d0e4e | 126 | pyOCD) |
| hudakz | 5:ace99c9d0e4e | 127 | if [ "$PORT" == "/dev/ttyACM0" ] |
| hudakz | 5:ace99c9d0e4e | 128 | then |
| hudakz | 5:ace99c9d0e4e | 129 | ~/.local/bin/pyocd-flashtool -t lpc1768 ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin |
| hudakz | 5:ace99c9d0e4e | 130 | #~/.local/bin/pyocd-flashtool -t lpc1768 ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin > /dev/null 2>&1 |
| hudakz | 5:ace99c9d0e4e | 131 | else |
| hudakz | 5:ace99c9d0e4e | 132 | lpc21isp -bin ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.bin ${PORT} 115200 96000 |
| hudakz | 5:ace99c9d0e4e | 133 | fi |
| hudakz | 5:ace99c9d0e4e | 134 | ;; |
| hudakz | 5:ace99c9d0e4e | 135 | *) |
| hudakz | 5:ace99c9d0e4e | 136 | openocd -f ${MCU_CFG} -c """program ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.elf verify reset exit""" |
| hudakz | 5:ace99c9d0e4e | 137 | #openocd -f ${MCU_CFG} -c """program ./BUILD/${MCU}/GCC_ARM-${PROF}/${PROJ_NAME}.elf verify reset exit""" > /dev/null 2>&1 |
| hudakz | 5:ace99c9d0e4e | 138 | ;; |
| hudakz | 5:ace99c9d0e4e | 139 | esac |
| hudakz | 5:ace99c9d0e4e | 140 | echo "Done" |
| hudakz | 5:ace99c9d0e4e | 141 | fi |
| hudakz | 5:ace99c9d0e4e | 142 | fi |