mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-12-15 12:23:16 +00:00
Initial check-in for STM32 board
This commit is contained in:
49
BootLoaders/Boards/stm32/tools/linux/stlink_upload
Normal file
49
BootLoaders/Boards/stm32/tools/linux/stlink_upload
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
$(dirname $0)/stlink/st-flash write "$4" 0x8000000
|
||||
exit 0
|
||||
|
||||
## Remove the lines 2 and 3 (above) if you want this script to wait until the Serial device has been enumerated and loaded before the script exits
|
||||
|
||||
# Check for leaf device.
|
||||
function leaf_status()
|
||||
{
|
||||
|
||||
this_leaf_status=$(lsusb |grep "1eaf" | awk '{ print $NF}')
|
||||
# Find the mode of the leaf bootloader
|
||||
case $this_leaf_status in
|
||||
"1eaf:0003")
|
||||
echo "dfu"
|
||||
;;
|
||||
"1eaf:0004")
|
||||
echo "ttyACMx"
|
||||
;;
|
||||
*)
|
||||
#echo "$this_leaf_status"
|
||||
echo "unknown"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# You will need the usb-reset code, see https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Using-a-generic-stm32-board-on-linux-with-Maple-bootloader
|
||||
#
|
||||
USBRESET=$(which usb-reset) || USBRESET="./usb-reset"
|
||||
|
||||
# Check to see if a maple compatible board is attached
|
||||
LEAF_STATUS=$(leaf_status)
|
||||
echo "USB Status [$LEAF_STATUS]"
|
||||
|
||||
$(dirname $0)/stlink/st-flash write "$4" 0x8000000
|
||||
|
||||
sleep 4
|
||||
# Reset the usb device to bring up the tty rather than DFU
|
||||
"$USBRESET" "/dev/bus/usb/$(lsusb |grep "1eaf" |awk '{print $2,$4}'|sed 's/\://g'|sed 's/ /\//g')" >/dev/null 2>&1
|
||||
# Check to see if a maple compatible board is attached
|
||||
LEAF_STATUS=$(leaf_status)
|
||||
echo "USB Status [$LEAF_STATUS]"
|
||||
# Check to see if the tty came up
|
||||
TTY_DEV=$(find /dev -cmin -2 |grep ttyAC)
|
||||
echo -e "Waiting for tty device $TTY_DEV \n"
|
||||
sleep 20
|
||||
echo -e "$TTY_DEV should now be available.\n"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user