From e13e7a5c6c0e66a82fc457de282f428fcef92445 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Wed, 10 Jul 2019 12:22:39 +0200 Subject: [PATCH] README --- README | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..586e642 --- /dev/null +++ b/README @@ -0,0 +1,35 @@ +Různé způsoby, jak STM32 programovat: + +(1) ST-Link (USB <-> SWDIO/SWDCK) + + • Klient: stm/stlink/st-flash + + • Asi nejspolehlivější metoda. Jen se občas stane, že se po + naprogramování procesor nezresetuje pořádně, takže program + nenaběhne. Explicitní zresetování st-flashem pomůže. + +(2) Sériový boot-loader v ROM + + • Aktivuje se nastavením BOOT0=1, BOOT1=0. + + • Na STM32F103 komunikuje po USART1. + + • Na BluePillu nefunguje spolehlivě: po resetu se neprobudí, + je potřeba power cycle; goto do flashnutého kódu ponechá + procesor v nějakém divném stavu, takže program pak nechodí. + + • Klient: stm/stm32flash/stm32flash + +(3) Flashnutý boot-loader s USB DFU + + • Flashnout stm/STM32duino-bootloader/bootloader_only_binaries/ + (pro BluePill je správná verze generic_boot20_pc13.bin) + + • Na GPIO B2 očekává tlačítko aktivní v 1 + (to je tentýž pin, kde se při resetu čte BOOT1). + + • Klient: dfu-util (Debian má zabalíčkované) + + • Pozor, programy pak musí začínat od adresy 0x8002000 – + to se upravuje v linker scriptu. Boot-loader při spouštění + programu sám přesměruje interrupt vektor na tuto adresu. -- 2.39.2