Skip to content

Instantly share code, notes, and snippets.

@mcauser
Created June 20, 2017 08:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mcauser/8d0e75dfeda0d40c0a57a60a29aa01bf to your computer and use it in GitHub Desktop.
Save mcauser/8d0e75dfeda0d40c0a57a60a29aa01bf to your computer and use it in GitHub Desktop.
micropython BLACK_F407VE dfu steps
Copy files from https://github.com/mcauser/BLACK_F407VE into micropython/stmhal/boards/BLACK_F407VE
$ cd stmhal
$ make clean
$ make BOARD=BLACK_F407VE
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
mkdir -p build-BLACK_F407VE/genhdr
Create build-BLACK_F407VE/genhdr/pins.h
Create stmconst build-BLACK_F407VE/modstm_qstr.h
Create build-BLACK_F407VE/genhdr/pybcdc.inf
Create build-BLACK_F407VE/genhdr/pybcdc_inf.h
Generating build-BLACK_F407VE/genhdr/mpversion.h
GEN build-BLACK_F407VE/genhdr/qstr.i.last
GEN build-BLACK_F407VE/genhdr/qstr.split
GEN build-BLACK_F407VE/genhdr/qstrdefs.collected.h
QSTR updated
GEN build-BLACK_F407VE/genhdr/qstrdefs.generated.h
mkdir -p build-BLACK_F407VE/build-BLACK_F407VE
mkdir -p build-BLACK_F407VE/drivers/memory
mkdir -p build-BLACK_F407VE/hal/f4/src
mkdir -p build-BLACK_F407VE/lib/libc
mkdir -p build-BLACK_F407VE/lib/libm
mkdir -p build-BLACK_F407VE/lib/mp-readline
mkdir -p build-BLACK_F407VE/lib/netutils
mkdir -p build-BLACK_F407VE/lib/oofatfs
mkdir -p build-BLACK_F407VE/lib/oofatfs/option
mkdir -p build-BLACK_F407VE/lib/timeutils
mkdir -p build-BLACK_F407VE/lib/utils
mkdir -p build-BLACK_F407VE/py
mkdir -p build-BLACK_F407VE/py/../extmod
mkdir -p build-BLACK_F407VE/py/../lib/embed
mkdir -p build-BLACK_F407VE/usbdev/class/src
mkdir -p build-BLACK_F407VE/usbdev/core/src
CC ../py/mpstate.c
CC ../py/nlrx86.c
CC ../py/nlrx64.c
CC ../py/nlrthumb.c
CC ../py/nlrxtensa.c
CC ../py/nlrsetjmp.c
CC ../py/malloc.c
CC ../py/gc.c
CC ../py/qstr.c
CC ../py/vstr.c
CC ../py/mpprint.c
CC ../py/unicode.c
CC ../py/mpz.c
CC ../py/reader.c
CC ../py/lexer.c
CC ../py/parse.c
CC ../py/scope.c
CC ../py/compile.c
CC ../py/emitcommon.c
CC ../py/emitbc.c
CC ../py/asmbase.c
CC ../py/asmx64.c
CC ../py/emitnative.c
CC ../py/asmx86.c
CC ../py/emitnative.c
CC ../py/asmthumb.c
CC ../py/emitnative.c
CC ../py/emitinlinethumb.c
CC ../py/asmarm.c
CC ../py/emitnative.c
CC ../py/asmxtensa.c
CC ../py/emitnative.c
CC ../py/emitinlinextensa.c
CC ../py/formatfloat.c
CC ../py/parsenumbase.c
CC ../py/parsenum.c
CC ../py/emitglue.c
CC ../py/persistentcode.c
CC ../py/runtime.c
CC ../py/runtime_utils.c
CC ../py/scheduler.c
CC ../py/nativeglue.c
CC ../py/stackctrl.c
CC ../py/argcheck.c
CC ../py/warning.c
CC ../py/map.c
CC ../py/obj.c
CC ../py/objarray.c
CC ../py/objattrtuple.c
CC ../py/objbool.c
CC ../py/objboundmeth.c
CC ../py/objcell.c
CC ../py/objclosure.c
CC ../py/objcomplex.c
CC ../py/objdict.c
CC ../py/objenumerate.c
CC ../py/objexcept.c
CC ../py/objfilter.c
CC ../py/objfloat.c
CC ../py/objfun.c
CC ../py/objgenerator.c
CC ../py/objgetitemiter.c
CC ../py/objint.c
CC ../py/objint_longlong.c
CC ../py/objint_mpz.c
CC ../py/objlist.c
CC ../py/objmap.c
CC ../py/objmodule.c
CC ../py/objobject.c
CC ../py/objpolyiter.c
CC ../py/objproperty.c
CC ../py/objnone.c
CC ../py/objnamedtuple.c
CC ../py/objrange.c
CC ../py/objreversed.c
CC ../py/objset.c
CC ../py/objsingleton.c
CC ../py/objslice.c
CC ../py/objstr.c
CC ../py/objstrunicode.c
CC ../py/objstringio.c
CC ../py/objtuple.c
CC ../py/objtype.c
CC ../py/objzip.c
CC ../py/opmethods.c
CC ../py/sequence.c
CC ../py/stream.c
CC ../py/binary.c
CC ../py/builtinimport.c
CC ../py/builtinevex.c
CC ../py/builtinhelp.c
CC ../py/modarray.c
CC ../py/modbuiltins.c
CC ../py/modcollections.c
CC ../py/modgc.c
CC ../py/modio.c
CC ../py/modmath.c
CC ../py/modcmath.c
CC ../py/modmicropython.c
CC ../py/modstruct.c
CC ../py/modsys.c
CC ../py/moduerrno.c
CC ../py/modthread.c
CC ../py/vm.c
CC ../py/bc.c
CC ../py/showbc.c
CC ../py/repl.c
CC ../py/smallint.c
CC ../py/frozenmod.c
CC ../py/../extmod/moductypes.c
CC ../py/../extmod/modujson.c
CC ../py/../extmod/modure.c
CC ../py/../extmod/moduzlib.c
CC ../py/../extmod/moduheapq.c
CC ../py/../extmod/modutimeq.c
CC ../py/../extmod/moduhashlib.c
CC ../py/../extmod/modubinascii.c
CC ../py/../extmod/virtpin.c
CC ../py/../extmod/machine_mem.c
CC ../py/../extmod/machine_pinbase.c
CC ../py/../extmod/machine_signal.c
CC ../py/../extmod/machine_pulse.c
CC ../py/../extmod/machine_i2c.c
CC ../py/../extmod/machine_spi.c
CC ../py/../extmod/modussl_axtls.c
CC ../py/../extmod/modussl_mbedtls.c
CC ../py/../extmod/modurandom.c
CC ../py/../extmod/moduselect.c
CC ../py/../extmod/modwebsocket.c
CC ../py/../extmod/modwebrepl.c
CC ../py/../extmod/modframebuf.c
CC ../py/../extmod/vfs.c
CC ../py/../extmod/vfs_reader.c
CC ../py/../extmod/vfs_fat.c
CC ../py/../extmod/vfs_fat_diskio.c
CC ../py/../extmod/vfs_fat_file.c
CC ../py/../extmod/vfs_fat_misc.c
CC ../py/../extmod/utime_mphal.c
CC ../py/../extmod/uos_dupterm.c
CC ../py/../lib/embed/abort_.c
CC ../py/../lib/utils/printf.c
MPY modules/lcd160cr.py
MPY modules/lcd160cr_test.py
Creating build-BLACK_F407VE/frozen_mpy.c
CC build-BLACK_F407VE/frozen_mpy.c
CC ../lib/libc/string0.c
CC ../lib/libm/math.c
CC ../lib/libm/thumb_vfp_sqrtf.c
CC ../lib/libm/asinfacosf.c
CC ../lib/libm/atanf.c
CC ../lib/libm/atan2f.c
CC ../lib/libm/fmodf.c
CC ../lib/libm/nearbyintf.c
CC ../lib/libm/log1pf.c
CC ../lib/libm/acoshf.c
CC ../lib/libm/asinhf.c
CC ../lib/libm/atanhf.c
CC ../lib/libm/kf_rem_pio2.c
CC ../lib/libm/kf_sin.c
CC ../lib/libm/kf_cos.c
CC ../lib/libm/kf_tan.c
CC ../lib/libm/ef_rem_pio2.c
CC ../lib/libm/erf_lgamma.c
CC ../lib/libm/sf_sin.c
CC ../lib/libm/sf_cos.c
CC ../lib/libm/sf_tan.c
CC ../lib/libm/sf_frexp.c
CC ../lib/libm/sf_modf.c
CC ../lib/libm/sf_ldexp.c
CC ../lib/libm/sf_erf.c
CC ../lib/libm/wf_lgamma.c
CC ../lib/libm/wf_tgamma.c
CC ../lib/oofatfs/ff.c
CC ../lib/oofatfs/option/unicode.c
CC ../lib/mp-readline/readline.c
CC ../lib/netutils/netutils.c
CC ../lib/timeutils/timeutils.c
CC ../lib/utils/pyexec.c
CC ../lib/utils/interrupt_char.c
CC ../lib/utils/sys_stdio_mphal.c
CC ../drivers/memory/spiflash.c
CC main.c
CC system_stm32.c
CC stm32_it.c
CC usbd_conf.c
CC usbd_desc.c
CC usbd_cdc_interface.c
CC usbd_hid_interface.c
CC usbd_msc_storage.c
CC mphalport.c
CC mpthreadport.c
CC irq.c
CC pendsv.c
CC systick.c
CC pybthread.c
CC timer.c
CC led.c
CC pin.c
CC pin_defs_stmhal.c
CC pin_named_pins.c
CC bufhelper.c
CC dma.c
CC i2c.c
CC spi.c
CC uart.c
CC can.c
CC usb.c
CC wdt.c
CC gccollect.c
CC help.c
CC machine_i2c.c
CC modmachine.c
CC modpyb.c
CC modstm.c
CC moduos.c
CC modutime.c
CC modusocket.c
CC modnetwork.c
CC extint.c
CC usrsw.c
CC rng.c
CC rtc.c
CC flash.c
CC storage.c
CC sdcard.c
CC fatfs_port.c
CC lcd.c
CC accel.c
CC servo.c
CC dac.c
CC adc.c
CC startup_stm32.S
AS gchelper.s
CC hal/f4/src/stm32f4xx_hal.c
CC hal/f4/src/stm32f4xx_hal_adc.c
CC hal/f4/src/stm32f4xx_hal_adc_ex.c
CC hal/f4/src/stm32f4xx_hal_can.c
CC hal/f4/src/stm32f4xx_hal_cortex.c
CC hal/f4/src/stm32f4xx_hal_dac.c
CC hal/f4/src/stm32f4xx_hal_dac_ex.c
CC hal/f4/src/stm32f4xx_hal_dma.c
CC hal/f4/src/stm32f4xx_hal_flash.c
CC hal/f4/src/stm32f4xx_hal_flash_ex.c
CC hal/f4/src/stm32f4xx_hal_gpio.c
CC hal/f4/src/stm32f4xx_hal_i2c.c
CC hal/f4/src/stm32f4xx_hal_pcd.c
CC hal/f4/src/stm32f4xx_hal_pcd_ex.c
CC hal/f4/src/stm32f4xx_hal_pwr.c
CC hal/f4/src/stm32f4xx_hal_pwr_ex.c
CC hal/f4/src/stm32f4xx_hal_rcc.c
CC hal/f4/src/stm32f4xx_hal_rcc_ex.c
CC hal/f4/src/stm32f4xx_hal_rng.c
CC hal/f4/src/stm32f4xx_hal_rtc.c
CC hal/f4/src/stm32f4xx_hal_rtc_ex.c
CC hal/f4/src/stm32f4xx_hal_sd.c
CC hal/f4/src/stm32f4xx_hal_spi.c
CC hal/f4/src/stm32f4xx_hal_tim.c
CC hal/f4/src/stm32f4xx_hal_tim_ex.c
CC hal/f4/src/stm32f4xx_hal_uart.c
CC hal/f4/src/stm32f4xx_ll_sdmmc.c
CC hal/f4/src/stm32f4xx_ll_usb.c
CC usbdev/core/src/usbd_core.c
CC usbdev/core/src/usbd_ctlreq.c
CC usbdev/core/src/usbd_ioreq.c
CC usbdev/class/src/usbd_cdc_msc_hid.c
CC usbdev/class/src/usbd_msc_bot.c
CC usbdev/class/src/usbd_msc_scsi.c
CC usbdev/class/src/usbd_msc_data.c
CC build-BLACK_F407VE/pins_BLACK_F407VE.c
LINK build-BLACK_F407VE/firmware.elf
text data bss dec hex filename
311672 356 27908 339936 52fe0 build-BLACK_F407VE/firmware.elf
Create build-BLACK_F407VE/firmware.dfu
Create build-BLACK_F407VE/firmware.hex
Disconnect board
Set BOOT0 jumper to ON
Connect board
$ make BOARD=BLACK_F407VE deploy
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Writing build-BLACK_F407VE/firmware.dfu to the board
File: build-BLACK_F407VE/firmware.dfu
DfuSe v1, image size: 312329, targets: 1
Target 0, alt setting: 0, name: "ST...", size: 312044, elements: 2
0, address: 0x08000000, size: 14944
1, address: 0x08020000, size: 297084
usb: 0483:df11, device: 0x0000, dfu: 0x011a, UFD, 16, 0x059a5905
Writing memory...
0x08000000 14944 [=========================] 100%
0x08020000 297084 [=========================] 100%
Exiting DFU...
Disconnect board
Set BOOT0 jumper to OFF
Connect board
$ screen /dev/tty.usbmodem1422
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment