Manually installing std periph libs
Hi fellows !
Method not works (september 2020).
Now step by step how I fix it:
1) See https://visualsilicon.com/2020/03/22/how-to-fix-openstm32-error-download-task-start-issue/ for more information, but method from here also need to be corrected.
2) Go to https://www.st.com/content/st_com/en/search.html#q=stsw-stm32-t=tools-page=3 , find DSP and standard peripherals library for your family (for example: STM32F4 DSP and standard peripherals library), download it and place downloaded file to ~/.ac6/SW4STM32/firmwares/ (For linux. For windows location pointed in previous posts)
3) Open file SystemWorkbench/plugins/fr.ac6.mcu.ide_x.x.x.xxxxxxxxxxxx/resources/board_def/stm32targets.xml , find tag family id=”stm32XXX” for your family (for example in my case family id=”stm32f4”), and see there tags firmware type=”StdPeriph”, url (stm32f4_dsp_stdperiph_lib_v180.zip in my case).
4) Rename downloaded and saved in ~/.ac6/SW4STM32/firmwares/ to name from url tag. Calculate md5( http://onlinemd5.com/ ) of this file and correct tag urlMd5 if need.
5) If you now save stm32targets.xml, restart SystemWorkbench and try to load StdPeriph, it will NOT WORKS. One important step was ommited. See once more to the tag firmware type=”StdPeriph” . It includes tag name and it is empty. Tag family id also includes firmware type=”HAL” . It also has name = FW.F4.1.24.0 and url = stm32cube_fw_f4_v1240.zip. HAL downloaded ok ! So, I assume, that problem in empty name tag.
6) I assume that correct name format is: PRODUCT.FAMILY.VERSION. So for StdPeriph name must be DSP.F4.1.8.0 . Insert this into name tag, save file, and restart. Try to load StdPeriph. All right ! StdPeripf installed ok !
Enjoy !
P.S. I look at stm32targets.xml and find, that tag firmware type=”StdPeriph” ->name is empy for all families. Furthermore, some families has not tag firmware type=”StdPeriph” at all ! So, as can I see, it is very common problem. Maybe STM will refuse the StdPeripf in future and will use only HAL.