STM32 bootloader

Michal Grunt michal.grunt na gmail.com
Pondělí Červenec 11 11:29:38 CEST 2016


Vyzkouším to až mi přijde CP2102. Sice to bude destička bez vyvedeného
RTS, ale snad se mi na chip podaří přichytit drátek na tento vývod.
Tím bych zabil már much jednou ranou - převodník pro jednoduchý debug
a zároveň pro flash a to vše bez složitého nastavování a navíc nalití
flash by bylo v podstatě celé autonomní (bez nutnosti mačkat tlačítka,
restartovat atd.)... Děkuji.

Dne 10. července 2016 18:07 HUDA <hudaklan na volny.cz> napsal(a):
> A proč nezapojit BOOT0 i BOOT1 přes rezistor na zem
> a ovládat RESET a BOOT0 přes RTS a DTR.
> Pak není nutné nic vevnitř přepojovat.
> Potom přes FlashDemonstrátor (nejsem si přesně jistý
> ja se utilita jmenuje) se nechá přes USB a BootLoader
> nahrát aplikace a zároveň i spustit.
> A pokud běží aplikace, tak jde přes USB normálně komunikovat.
> Vyzkoušeno.
>
> HUDA
>
>
> Dne Sun, 10 Jul 2016 00:01:41 +0200 Michal Grunt <michal.grunt na gmail.com>
> napsal(a):
>
>
>> Po nějaké době co testuji to DFU a VCP na STM32F103 s Maple
>> bootloaderem to asi udělám jinak. Prostě hotového řešení (do krabičky)
>> namontuji i CP2102 s micro USB konektorem za 30Kč a bude se to
>> programovat přes sériovou linku a bude to. Navíc se ten micro USB
>> spolu s nabíjecím modulem použije i pro nabíjení baterie pokud bude
>> potřeba - nabíječku na telefon s micro USB má snad skoro každý...
>> Myslím, že to bude čistší řešení než nějaké ty emulace co můžou
>> ovlivnit i běh samotného programu a zabírá zbytečně to jak FLASH tak i
>> RAM. CP2102 má ovladače i pro Windows 10 (je i na destičce nové revize
>> ESP8266) takže by to snad neměl být žádný problém i do budoucna. Snad
>> nebude nutný při programování přes sériovou linku něco propojovat a po
>> programování to zase odpojovat. Ještě jsem to nezkoušel resp. jenom
>> při programování bootloaderu Arduino, ale program jako takový ne např.
>> blikání LEDkou, ale stačí snad u SMT32F103 vhodně propojit boot0 a
>> boot1 (Boot0 HIGH, Boot1 LOW), nechat to tak propojený a naládovat
>> procesor přes sériovou linku, ne? Propojky zůstanou (aby se dovnitř
>> nemuselo sahat) a po restartu se rozeběhne program... Nebo to je
>> trochu jinak?
>>
>> MG
>>
>> Dne 29. června 2016 10:48 Michal Grunt <michal.grunt na gmail.com> napsal(a):
>>>
>>> Podívám se na to. Třeba opravdu bude stačit jenom write() jako to je v
>>> print.cpp a o ostatní se už postará bootloader. Vyzkouším to. V
>>> podstatě to celé potřebuji jenom kvůli jedné věci. Když vytvořím
>>> nějakou blbůstku a někdo z okolí to bude chtít tak nebude problém
>>> jednoduše aktualizovat firmware a kromě kabelu k tomu nepotřebuje nic.
>>> Printf (USB VCP) se bude používat jenom pro ladění a v ostrém programu
>>> se printf řádky zakomentují. Takže by to pak nemělo nic narušovat, ne?
>>> Navíc USB kabel bude v ostrém provozu odpojený... Maximálně by byl
>>> použit jenom pro nabíjení (pokud to bude zařízení na baterii).
>>>
>>> Dne 29. června 2016 9:51 Jaroslav Buchta <jaroslav.buchta na hascomp.cz>
>>> napsal(a):
>>>>
>>>> To bude zalezet na tom, jakou verzi USB stacku pouzivaji. STM knihovna
>>>> (spis
>>>> priklad) na to ma jednoduche funkce ale je lepsi to jeste osetrit
>>>> nejakym
>>>> bufferem. Asi bych se podival do zdrojaku tech ar...no knihoven, jak to
>>>> pouzivaji.
>>>> To STM USB je ale integrovano dost agresivne a v podstate veskera
>>>> cinnost
>>>> probiha v ISR, nerad to pouzivam, dost to narusuje ostatni funkce.
>>>>
>>>> Dne 29.06.2016 v 9:46 Michal Grunt napsal(a):
>>>>
>>>>> Takhle, já vím jak přesměrovat printf na hw UART to není problém, ale
>>>>> nevím jak se zachází s tím "USB sériovým portem" - VCP? Jestli je
>>>>> nutné celé USB inicializovat a kdo ví co na něm nastavovat (nedělá to
>>>>> bootloader?) nebo stačí použít pouze pár příkazů, aby šel znak na ten
>>>>> VCP (bez printf, printf je nyní bezpředmětné).
>>>>>
>>>>> Dne 29. června 2016 9:38 Peter janiš <peto.janis na gmail.com> napsal(a):
>>>>>>
>>>>>>
>>>>>> Možno pomôže: http://www.keil.com/forum/56766/
>>>>>> Alebo potom google: "printf redirect to UART"
>>>>>>
>>>>>> p.j.
>>>>>>
>>>>>> 2016-06-29 9:32 GMT+02:00 Michal Grunt <michal.grunt na gmail.com>:
>>>>>>>
>>>>>>>
>>>>>>> No mě by právě zajímalo co se skrývá pod funkcí write. Printf jako
>>>>>>> takové (z stdlib) není problém. Pokud použiji klasické systémové
>>>>>>> printf a ne Arduino (žádný bootloader, atd. jenom gcc a SPL) tak
>>>>>>> prostě inicializuji UART a upravím jednu funkci (asi putchar teď z
>>>>>>> hlavy nevím), která nasměruje znaky na UART. A mě by zajímalo jak
>>>>>>> nasměrovat znaky (nebo třeba jenom jeden znak) na ten virtuální
>>>>>>> sériový port. Když budu toto vědět už nebude problém ani printf.
>>>>>>>
>>>>>>> Dne 29. června 2016 7:03 Jaroslav Buchta <jaroslav.buchta na hascomp.cz>
>>>>>>> napsal(a):
>>>>>>>>
>>>>>>>>
>>>>>>>> Krome modulu Print.cpp (a .h) budete jeste potrebovat WString.cpp, h
>>>>>>>> a
>>>>>>>> to by
>>>>>>>> IMHO melo stacit. Funkci write musite udelat sam a ta by mela
>>>>>>>> jednoduse
>>>>>>>> poslat znak kam je potreba. Vzal jsem to z verze pro Atmel.
>>>>>>>> Ty arduino knihovny se pro inspiraci pouzivaji docela snadno.
>>>>>>>> Mohu vam poslat cely projekt pro ARM, kde to je pouzito, ale neni
>>>>>>>> pro
>>>>>>>> eclipse, tusim je pro EM Block a je docela rozsahly - rozpracovany
>>>>>>>> port
>>>>>>>> SW
>>>>>>>> pro 3D tisk.
>>>>>>>> Taky pozor na startup kod a spolupraci s prekladacem pro obsluhu
>>>>>>>> statickych
>>>>>>>> konstruktoru, kdyz uz cpp.
>>>>>>>>
>>>>>>>> Dne 28.06.2016 v 23:49 Michal Grunt napsal(a):
>>>>>>>>
>>>>>>>>> Tak jsem nainstaloval Arduino IDE, nastavil ho pro STM32, nahrál
>>>>>>>>> maple
>>>>>>>>> mini bootloader, zkompiloval projekt atd. Celý tento řetězec
>>>>>>>>> funguje.
>>>>>>>>> Program se nahraje pomocí dfu-util. Virtuální sériový port funguje
>>>>>>>>> (funkce serial.print v Arduinu). Takže nyní stačí jenom připojit
>>>>>>>>> STM
>>>>>>>>> přes USB bez STlink nebo serial/USB převodníku a může se nalít
>>>>>>>>> program
>>>>>>>>> a rovnou provádět jednoduchý debug (přes sériový port) což byl cíl.
>>>>>>>>> Ostatně takto asi funguje originální Arduino (nedělám s ním). Teď
>>>>>>>>>>>>>>>>>> jenom vypreparovat serial.print, abych toto mohl nastavit např. v
>>>>>>>>> Eclipse bez Arduino knihoven a Arduino prostředí...
>>>>>>>>>
>>>>>>>>> Našel jsem soubor
>>>>>>>>>
>>>>>>>>> Documents\Arduino\hardware\Arduino_STM32\STM32F1\cores\maple\Print.cpp
>>>>>>>>> Ale z toho není vůbec zřejmé co to dále dělá. Akorát se to odkazuje
>>>>>>>>> na
>>>>>>>>> funkci write...
>>>>>>>>>
>>>>>>>>> Nemám raději googlit stm32f1 vcp printf? Je to to samé co dělá
>>>>>>>>> serial.print?
>>>>>>>>>
>>>>>>>>> Dne 20. června 2016 19:15 Jaromir Sukuba <jarin.hw na gmail.com>
>>>>>>>>> napsal(a):
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> presne toto robi (bootloader + seriovy port) maple mini, co je
>>>>>>>>>> inkarnacia Arduina do STM32, dnes udrziavana v projekte
>>>>>>>>>> STM32duino.
>>>>>>>>>> Je mozne, ze bude netrivialne to najst/ocistit/vykostit/upravit,
>>>>>>>>>> ja
>>>>>>>>>> som to velmi neskumal.
>>>>>>>>>>
>>>>>>>>>> http://www.stm32duino.com/
>>>>>>>>>> https://github.com/rogerclarkmelbourne/STM32duino-bootloader
>>>>>>>>>> https://github.com/rogerclarkmelbourne/Arduino_STM32
>>>>>>>>>>
>>>>>>>>>> Vela zdaru.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2016-06-20 19:09 GMT+02:00 Michal Grunt <michal.grunt na gmail.com>:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Zdravím, nezkoušel někdo nahrát do SMT32 (konkrétně F103) nějaký
>>>>>>>>>>> bootloader, který by na USB portu emuloval sériový port (pro
>>>>>>>>>>> jednoduchý debug) a zároveň by přes něj šlo programovat abych
>>>>>>>>>>> nemusel
>>>>>>>>>>> používat STlink a USB RS232 převodník? Jeden čas jsem zkoušel
>>>>>>>>>>> bootloader z Arduina. Fungovalo to (Arduinu prostředí), ale nevím
>>>>>>>>>>> jak
>>>>>>>>>>> po té nastavit printf, aby šel výstup přes ten USB emulovaný
>>>>>>>>>>> sériový
>>>>>>>>>>> port a pak nevím jestli není nutné nastavit nějaký startup atd.,
>>>>>>>>>>> aby
>>>>>>>>>>> to při programování nepřepsalo bootloader... Chci to používat v
>>>>>>>>>>> Eclipse+SPL.
>>>>>>>>>>>
>>>>>>>>>>> Děkuji, MG
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>>>>>> Hw-list na list.hw.cz
>>>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>>>>> Hw-list na list.hw.cz
>>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>>>> Hw-list na list.hw.cz
>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>>> Hw-list na list.hw.cz
>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>>> Hw-list na list.hw.cz
>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>>> Hw-list na list.hw.cz
>>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>>>
>>>>> _______________________________________________
>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>> Hw-list na list.hw.cz
>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>> Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list