circuitpython/ports/stm32/boards
Damien George 04c7cdb668 stm32: Enter bootloader via a system reset.
Entering a bootloader (ST system bootloader, or custom mboot) from software
by directly branching to it is not reliable, and the reliability of it
working can depend on the peripherals that were enabled by the application
code.  It's also not possible to branch to a bootloader if the WDT is
enabled (unless the bootloader has specific provisions to feed the WDT).

This patch changes the way a bootloader is entered from software by first
doing a complete system reset, then branching to the desired bootloader
early on in the start-up process.  The top two words of RAM (of the stack)
are reserved to store flags indicating that the bootloader should be
entered after a reset.
2019-06-25 14:15:49 +10:00
..
B_L475E_IOT01A stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
CERB40 stm32/boards: Update pins.csv to include USB pins where needed. 2018-05-01 17:38:51 +10:00
ESPRUINO_PICO stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
HYDRABUS stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
LIMIFROG stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NETDUINO_PLUS_2 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
NUCLEO_F091RC stm32/system_stm32f0: Add support for using HSE and PLL as SYSCLK. 2019-04-18 16:00:45 +10:00
NUCLEO_F401RE stm32: Add compile-time option to use HSI as clock source. 2019-03-05 15:49:08 +11:00
NUCLEO_F411RE stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F413ZH stm32/boards: Add NUCLEO_F413ZH board configuration. 2019-05-02 16:33:30 +10:00
NUCLEO_F429ZI stm32/boards: Enable ussl module via mbedtls for boards with network. 2019-06-24 17:48:28 +10:00
NUCLEO_F446RE stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F746ZG stm32/boards: Update pins.csv to include USB pins where needed. 2018-05-01 17:38:51 +10:00
NUCLEO_F767ZI stm32/boards: Enable ussl module via mbedtls for boards with network. 2019-06-24 17:48:28 +10:00
NUCLEO_H743ZI stm32/boards/NUCLEO_H743ZI: Enable SPI3 on this board. 2019-05-15 16:08:10 +10:00
NUCLEO_L432KC stm32/boards/NUCLEO_L432KC: Disable complex nos and default frozen mods. 2019-04-09 11:23:08 +10:00
NUCLEO_L476RG stm32/boards/NUCLEO_L476RG: Add support for RNG, DAC and CAN1. 2019-02-14 00:28:28 +11:00
OLIMEX_E407 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
PYBD_SF2 stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
PYBD_SF3 stm32/boards/PYBD_SFx: Enable ussl module using mbedTLS. 2019-06-05 15:38:01 +10:00
PYBD_SF6 stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
PYBLITEV10 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
PYBV3 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
PYBV4 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
PYBV10 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
PYBV11 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
STM32F4DISC stm32/boards: Update pins.csv to include USB pins where needed. 2018-05-01 17:38:51 +10:00
STM32F7DISC stm32/boards: Enable ussl module via mbedtls for boards with network. 2019-06-24 17:48:28 +10:00
STM32F411DISC stm32/boards: Update pins.csv to include USB pins where needed. 2018-05-01 17:38:51 +10:00
STM32F429DISC stm32/boards/STM32F429DISC: Enable UART as secondary REPL. 2018-12-01 17:30:48 +11:00
STM32F439 stm32: Rename MICROPY_HW_HAS_SDCARD to MICROPY_HW_ENABLE_SDCARD. 2019-04-01 15:21:26 +11:00
STM32F769DISC stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
STM32L476DISC stm32/boards/STM32L476DISC: Enable servo support on STM32L476DISC board. 2019-03-28 15:35:58 +11:00
STM32L496GDISC stm32/boards: Add config files for new board, STM32L496GDISC. 2018-05-18 22:39:49 +10:00
common_basic.ld stm32/boards: Add common_basic.ld for a board to have a single section. 2018-03-27 21:29:45 +11:00
common_bl.ld stm32/boards: Add common_bl.ld for boards that need a bootloader. 2018-03-27 21:30:45 +11:00
common_blifs.ld stm32/boards: Add configuration for putting mboot on PYBv1.x. 2018-12-04 23:48:18 +11:00
common_ifs.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
make-pins.py stm32/boards/make-pins.py: Allow pins.csv to skip or hide board-pin name 2019-05-31 21:41:30 +10:00
openocd_stm32f4.cfg stm32/boards: Allow OpenOCD stm_flash procedure to accept single FW img. 2018-12-13 13:43:10 +11:00
openocd_stm32f7.cfg stm32/boards: Allow OpenOCD stm_flash procedure to accept single FW img. 2018-12-13 13:43:10 +11:00
openocd_stm32l4.cfg stm32/boards: Allow OpenOCD stm_flash procedure to accept single FW img. 2018-12-13 13:43:10 +11:00
pllvalues.py stm32/boards/pllvalues.py: Search nested headers for HSx_VALUE defines. 2019-05-31 21:44:53 +10:00
startup_stm32f0.s stm32/boards: Add startup_stm32f0.s for STM32F0 MCUs. 2018-05-28 21:49:49 +10:00
startup_stm32f4.s stm32: Enable UART7/8 on F4 series that have these peripherals. 2018-05-16 11:55:07 +10:00
startup_stm32f7.s stm32/boards: Add startup_stm32f7.s for F7 series specific startup. 2018-03-09 15:13:56 +11:00
startup_stm32f413xx.s stm32: Add support for F413 MCUs. 2019-05-02 16:26:53 +10:00
startup_stm32h7.s stm32/boards: Add startup_stm32h7.s for H7 series specific startup. 2018-03-09 15:13:13 +11:00
startup_stm32l4.s stm32: Add support for STM32L496 MCU. 2018-05-18 22:37:30 +10:00
stm32f4xx_prefix.c stm32/pin: In pin AF object, remove union of periph ptr types. 2018-04-11 16:14:58 +10:00
stm32f091_af.csv stm32/boards/stm32f091_af.csv: Split labels that are multiple funcs. 2018-06-18 13:05:24 +10:00
stm32f091xc.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f401_af.csv stm32/boards: Split combined alt-func labels and fix some other errors. 2018-05-29 21:37:49 +10:00
stm32f401xd.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f401xe.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f405_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32f405.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f411_af.csv stm32/boards: Split combined alt-func labels and fix some other errors. 2018-05-29 21:37:49 +10:00
stm32f411.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f413_af.csv stm32: Add support for F413 MCUs. 2019-05-02 16:26:53 +10:00
stm32f413xg.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f413xh.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f429_af.csv stm32/boards/stm32f429_af.csv: Fix typos in UART defs Tx->TX and Rx->RX. 2019-01-31 01:02:42 +11:00
stm32f429.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f439_af.csv stm32: Enable UART7/8 on F4 series that have these peripherals. 2018-05-16 11:55:07 +10:00
stm32f439.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f722_af.csv stm32/boards: Add .ld and af.csv files for STM32F722. 2018-06-22 15:39:10 +10:00
stm32f722.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f746_af.csv stm32/boards/stm32f746_af.csv: Fix typos in AF table. 2017-11-20 14:19:12 +11:00
stm32f746.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f767_af.csv stm32/boards/stm32f767_af.csv: Add ADC column to pin capability list. 2018-03-07 18:40:06 +11:00
stm32f767.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32f769.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32h743_af.csv stm32/boards/stm32h743_af.csv: Add ADC entries to pin capability table. 2019-02-06 13:34:53 +11:00
stm32h743.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32l432_af.csv stm32/boards: Add STM32L432KC chip configuration files. 2018-12-06 13:32:43 +11:00
stm32l432.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32l476_af.csv stm32/boards: Split combined alt-func labels and fix some other errors. 2018-05-29 21:37:49 +10:00
stm32l476xe.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32l476xg.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00
stm32l496_af.csv stm32/boards: Split combined alt-func labels and fix some other errors. 2018-05-29 21:37:49 +10:00
stm32l496xg.ld stm32: Enter bootloader via a system reset. 2019-06-25 14:15:49 +10:00