STM32 bootloader

Jiří Nesvačil nesvacil na posys.eu
Neděle Červenec 10 10:27:27 CEST 2016


Pokud mam aktivovany bootloader, tak se automaticky nevypne, ale cykli. Na vsech revizich STM32F1 a kombinacich zapojeni to nemam samozrejme vyzkousene. U me nezbude nez vytahnout jednu propojku.
Jirka


Dne 10. 7. 2016 v 0:01 Michal Grunt 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ď už
>>>>>>>> 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



Další informace o konferenci Hw-list