STM32 Bootloader

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

STM32 Bootloader

Příspěvek od pavel1tu » 27 říj 2020, 21:22

Chtěl jsem na kroužek začít připravovat STM32, pro děcka je ideální použití bootloaderu ...
Vycházím z čistého IDE ve virtuálce

Jaký používáte bootloader ?
Pokud žádný - odkud máte STM32 "desky" přidané do Arduina IDE


Můj problém:
1) Pokud nainstaluji podporu STM32 z https://github.com/rogerclarkmelbourne/Arduino_STM32/
- funguje mi připojení a nahrávání přes převodník USB/UART na piny PA9,PA10
- po nahrání funguje i serial monitor a vše jak má
- nejdou zkompilovat projekty s wire.h - duplicitní knihovny wire.h
- nejde nahrávat přes bootloader

2) Pokud nainstaluji podporu STM32 z https://github.com/stm32duino/BoardMana ... index.json což je asi nejoficiálnější cesta
- zmizí mi nahrávání přes serial - nejde nahrávat přes převodník USB/UART na piny PA9,PA10, Serial monitor funguje
- když převodník nahradím doporučovaným bootloaderem Maple DFU Bootloader 2.0, jde mi přes něj nahrát program jen jednou, pak se to zhroutí, a už není USB detekován (mám najednou 2 COM porty, ale ani jeden nežije), nejde monitorování, nejde nahrávání - přes piny PA9,PA10 a převodník USB/UART program žije

Dělá mi to na všech STM co mám doma - od oběda do 21h - už mne to se....

Postrčte mne někdo správným směrem
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
Caster
Příspěvky: 380
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: STM32 Bootloader

Příspěvek od Caster » 27 říj 2020, 21:54


Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: STM32 Bootloader

Příspěvek od pavel1tu » 27 říj 2020, 23:13

Caster píše:
27 říj 2020, 21:54
Já sice programuji holé STM32 pomocí STLINK-V3MINI (SWD) a STM32CubeProgrammer ale podívej se na

How to Upload STM32F103C8T6 USB Bootloader? Program STM32 Blue Pill via USB
Tak já mám sice ST-link ještě verze 2 + snažím se rozchodit System Workbench for STM32, ale dětem jsem to chtěl zjednodušit + jsou zvyklé na ArduinoIDE.
Ten odkaz je to moje řešení 1) , testnu to ještě jednou, pomalu krok za krokem, tam mi nefunguje pak kompilace programu, jakmile já nebo nějaká knihovna použijeme <Wire.h>

V obou případech používám zavaděč “generic_boot20_pc13.bin”
Naposledy upravil(a) pavel1tu dne 27 říj 2020, 23:19, celkem upraveno 1 x.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
Caster
Příspěvky: 380
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: STM32 Bootloader

Příspěvek od Caster » 27 říj 2020, 23:17

GitHub je relativně dost složitý mj. tam v tom prvním příkladu nefungují nějaké odkazy. Zkus to podle toho "mého" návodu, mělo by to fungovat.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: STM32 Bootloader

Příspěvek od jankop » 15 lis 2020, 00:58

Vytáhl jsem svoji Blue Pill, tedy STM32F103C8T6. Snažil jsem se rozchodit USB Bootloader, ale marně. Po menších peripetiích jsem s binárem generic_boot20_pc13.bin dokonce program do modulu dostal, ale nefungoval. Myslím, že je nějaký problém s linkováním, respektive s umístěním uživatelského programu v paměti. Buď je program jinde než má být, nebo jsou chybné nějaké spouštěcí vektory, nevím, zatím strukturu STM32F103 ještě dobře neznám.
Přestal jsem tomu mnohokrát modifikovanému MAPLE věřit. Funguje mi core https://github.com/stm32duino/BoardMana ... index.json. Musel jsem ale do počítače nainstalovat STM32CubeProgrammer-2.5.0. A potom se mi objevila v Arduino IDE mimo jiné volba STM32CubeProgrammer (Serial). Pak stačí dát boot jumper na modulu do LOW a stisknout reset. Přes piny A9, A10 se sériovou linkou spolehlivě program nahraje a po nahrání se sám spustí a běží i bez přepnutí boot jumperu, pokud nedojde k resetu. Po něm už je nutné pro běh programu jumper přepnout.
Takže přes sériovou linku jsem to dělal takto:
1. Přidat do Arduino IDE v Soubor/Vlastnosti/Správce dalších desek:https://github.com/stm32duino/BoardMana ... index.json
2. Přidat do Arduino IDE manažerem desek STM32 Core by STMicroelectronic
konfigurace.png
3. Nainstalovat STM32CubeProgrammer od STMicroelectronic do PC
4.Nastavíme převodník USB/RS232 na 3,3V a spojíme ho s piny A9,A10 na STM32f103, jak je popsáno na mnoha místech. Nezapomeneme na GND a také napájení.
Zatím nemám ST-Link, pžedpokládám, že bude s Arduino IDE pracovat také a nebude třeba manipulovat s žádným jumperem. ST-Link V2 je velmi laciný, jen mi zatím nepřišel. Považuji to za nejschůdnější cestu jak programovat STM32 přímo z Arduino IDE.

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: STM32 Bootloader

Příspěvek od jankop » 15 lis 2020, 10:56

Ještě doplním. Ta moje Blue Pill trpí všemi na webu popisovanými "neduhy".
Konektor USB není řádně přiletován - šlo snadno napravit proletováním pacek krycího plechu.
Chybná hodnota rezistoru R10. Místo hodnoty 1k5 je hodnota 10k. To jsem zatím napravil externím rezistorem 1K8 mezi pin A12 a Vcc. Až budu mít SMD rezistory, tak to přeletuji. A přestože je označení STM32F103C8T6, tak má čip prokazatelně 128kB paměti Flash.
A ještě oprava v předchozím textu, změna LOW na HIGH:
Pak stačí dát boot jumper na modulu do HIGH a stisknout reset.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: STM32 Bootloader

Příspěvek od pavel1tu » 15 lis 2020, 12:03

Bootloader mi pořád mizí, tak do STM nahrávám též přes programátor, ale pro kroužek je to nevyhovující.


Navíc jsem si snad i zkur.... ArduinoIDE, mám ZIP verzi,
mám tam desky ArduinoAVR,ArduinoARM a MiniCore(čipy ATmega, jedu na interních 8MHz a jinak mi do toho nahrát nejde + přes to pálím bootloader)
No a jakmile dám přidat desky STM32 nebo ESP - nejdou oboje, vždy jen jedno a zmizí mi MiniCore, nebo to poslední nainstalované - zůstanou ArduinoAVR,ArduinoARM + to poslední - jsem z toho na prášky.


Teď mám na poště 10ks ESP32S2 a čekám 20ks STM32 pro kroužek - tak to budu muset nějak vyřešit , asi zde založím vlákno.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: STM32 Bootloader

Příspěvek od ondraN » 15 lis 2020, 12:38

Možná by nebylo úplně tak špatné, kdyby děti přičichly i k něčemu složitějšímu, než je arduino IDE. CubeIDE je založené na Eclipse, je free a je to opravdu kvalitní vývojové prostředí. Spolu s CubeMX by jim to mohlo dát ten správný pohled pod pokličku HW, který arduino tak úzkostlivě filtruje. Jinak asi nevidím důvod, proč používat STM s arduinoIDE. To funguje spolehlivě jen s těmi základními typy, ale pro stm32 a podobné je to spíš k vzteku.

ArduXPP
Příspěvky: 361
Registrován: 14 pro 2017, 19:31
Reputation: 0
Kontaktovat uživatele:

Re: STM32 Bootloader

Příspěvek od ArduXPP » 15 lis 2020, 12:45

Já tedy s stm32 přes arduino ide nemám problém, stačí používat st-link v2, jinak je pak i podpora USB, aniž by se muselo složitě něco hledat. Stačí si to nastavit při prvním nahráním kodu přes st-link. Samotný st-link má jen 4 výstupy.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: STM32 Bootloader

Příspěvek od pavel1tu » 15 lis 2020, 13:05

ArduXPP píše:
15 lis 2020, 12:45
Já tedy s stm32 přes arduino ide nemám problém, stačí používat st-link v2, jinak je pak i podpora USB, aniž by se muselo složitě něco hledat. Stačí si to nastavit při prvním nahráním kodu přes st-link. Samotný st-link má jen 4 výstupy.
Ta podpora USB je co ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů