xref: /OK3568_Linux_fs/buildroot/board/stmicroelectronics/stm32f429-disco/flash.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/bash
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunOUTPUT_DIR=$1
4*4882a593SmuzhiyunBOARD_NAME=${2:-stm32f429discovery}
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunif ! test -d "${OUTPUT_DIR}" ; then
7*4882a593Smuzhiyun    echo "ERROR: no output directory specified."
8*4882a593Smuzhiyun    echo "Usage: $0 OUTPUT_DIR BOARD_NAME"
9*4882a593Smuzhiyun    echo ""
10*4882a593Smuzhiyun    echo "Arguments:"
11*4882a593Smuzhiyun    echo "    OUTPUT_DIR    The Buildroot output directory."
12*4882a593Smuzhiyun    echo "    BOARD_NAME    One of the available boards among:"
13*4882a593Smuzhiyun    echo "                  stm32f429discovery, stm32f429disc1"
14*4882a593Smuzhiyun    exit 1
15*4882a593Smuzhiyunfi
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun${OUTPUT_DIR}/host/bin/openocd -f board/${BOARD_NAME}.cfg \
18*4882a593Smuzhiyun  -c "init" \
19*4882a593Smuzhiyun  -c "reset init" \
20*4882a593Smuzhiyun  -c "flash probe 0" \
21*4882a593Smuzhiyun  -c "flash info 0" \
22*4882a593Smuzhiyun  -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429i-disco.bin 0x08000000" \
23*4882a593Smuzhiyun  -c "flash write_image erase ${OUTPUT_DIR}/images/stm32f429-disco.dtb 0x08004000" \
24*4882a593Smuzhiyun  -c "flash write_image erase ${OUTPUT_DIR}/images/xipImage 0x08008000" \
25*4882a593Smuzhiyun  -c "reset run" \
26*4882a593Smuzhiyun  -c "shutdown"
27