]> mj.ucw.cz Git - home-hw.git/commitdiff
README
authorMartin Mares <mj@ucw.cz>
Wed, 10 Jul 2019 10:22:39 +0000 (12:22 +0200)
committerMartin Mares <mj@ucw.cz>
Wed, 10 Jul 2019 10:22:39 +0000 (12:22 +0200)
README [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
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.