]> mj.ucw.cz Git - home-hw.git/commitdiff
README
authorMartin Mares <mj@ucw.cz>
Thu, 6 May 2021 13:21:02 +0000 (15:21 +0200)
committerMartin Mares <mj@ucw.cz>
Thu, 6 May 2021 13:21:02 +0000 (15:21 +0200)
BOOT [new file with mode: 0644]
README

diff --git a/BOOT b/BOOT
new file mode 100644 (file)
index 0000000..55b82eb
--- /dev/null
+++ b/BOOT
@@ -0,0 +1,45 @@
+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.
diff --git a/README b/README
index 55b82eb0f0711410d328c43c4e6215ee267de5af..9c4d45857968d3244e914a8f0202c5993e5ce8a7 100644 (file)
--- a/README
+++ b/README
@@ -1,45 +1,5 @@
-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.