--- /dev/null
+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. Může se hodit připojit DTR
+ na RESET, aby se dalo resetovat na dálku.
+
+ • Na některých BluePillech nefunguje spolehlivě: po resetu
+ se neprobudí, je potřeba power cycle. Na klonech od RobotDynu
+ vypadá funkčně.
+
+ • Pozor na to, že příkaz "goto" sice skočí do flashnutého kódu,
+ ale od adresy 0 je stále aliasován boot-loader, takže je potřeba
+ před povolením přerušení přesunout interrupt vector zápisem
+ do SCB_VTOR.
+
+ • 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).
+
+ • Už máme vlastní verzi, viz lib/dfu-bootloader.c. Oproti tomu
+ původnímu má rozumné checksumy a správně programuje PLL, takže
+ se nezasekává.
+
+ • 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.
-Různé způsoby, jak STM32 programovat:
+This is a repository of home automation software and hardware
+designs developed by Martin Mareš <mj@ucw.cz> for his personal use.
-(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. Může se hodit připojit DTR
- na RESET, aby se dalo resetovat na dálku.
-
- • Na některých BluePillech nefunguje spolehlivě: po resetu
- se neprobudí, je potřeba power cycle. Na klonech od RobotDynu
- vypadá funkčně.
-
- • Pozor na to, že příkaz "goto" sice skočí do flashnutého kódu,
- ale od adresy 0 je stále aliasován boot-loader, takže je potřeba
- před povolením přerušení přesunout interrupt vector zápisem
- do SCB_VTOR.
-
- • 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).
-
- • Už máme vlastní verzi, viz lib/dfu-bootloader.c. Oproti tomu
- původnímu má rozumné checksumy a správně programuje PLL, takže
- se nezasekává.
-
- • 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.
+There is no documentation provided, but feel free to draw any inspiration.
+Unless declared otherwise, everything is licensed under the GNU GPL v2.