Hello @kweenie & All,
I apologize for the late reply, as you might suspect addressing all what has been discussed in this thread with proper analysis can take some time.
1- Let me address the first point on STM32L552 (0x472):
I confirm there was a regression in performance in v2.14, however, this has been already fixed for that device in the recent releases, below you'll find the detailed benchmark:
HW used: STM32L562-DK, BL.bin is a 26 KB binary.
PS C:\Users\briguiah> Measure-Command {& "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer 2.8\bin\STM32_Programmer_CLI.exe" -c port=SWD -d "C:\Users\briguiah\OneDrive - STMicroelectronics\Desktop\Projects\PRG_Projects\binaries\BL.bin" 0x08000000}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 950
Ticks : 9504560
TotalDays : 1.10006481481481E-05
TotalHours : 0.000264015555555556
TotalMinutes : 0.0158409333333333
TotalSeconds : 0.950456
TotalMilliseconds : 950.456
PS C:\Users\briguiah> Measure-Command {& "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer 2.14\bin\STM32_Programmer_CLI.exe" -c port=SWD -d "C:\Users\briguiah\OneDrive - STMicroelectronics\Desktop\Projects\PRG_Projects\binaries\BL.bin" 0x08000000}
Days : 0
Hours : 0
Minutes : 0
Seconds : 3
Milliseconds : 228
Ticks : 32284463
TotalDays : 3.73662766203704E-05
TotalHours : 0.000896790638888889
TotalMinutes : 0.0538074383333333
TotalSeconds : 3.2284463
TotalMilliseconds : 3228.4463
PS C:\Users\briguiah> Measure-Command {& "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer v2.19 S\bin\STM32_Programmer_CLI.exe" -c port=SWD -d "C:\Users\briguiah\OneDrive - STMicroelectronics\Desktop\Projects\PRG_Projects\binaries\BL.bin" 0x08000000}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 902
Ticks : 9027665
TotalDays : 1.04486863425926E-05
TotalHours : 0.000250768472222222
TotalMinutes : 0.0150461083333333
TotalSeconds : 0.9027665
TotalMilliseconds : 902.7665
As you can see, best programming performance is with the latest version of STM32CubeProgrammer (v2.19).
2- For the 0x425 (STM32L03x/L04x/L010):
I confirm the 10x performance regression. Regression happened in v2.15 and is STRICTLY a Flashloader issue => The correct workaround is to only replace 0x425.stldr from v2.14 to v2.19 (I've attached the loader for convenience, it needs to be replaced in "STM32Cube\STM32CubeProgrammer\bin\FlashLoader").
Below the detailed benchmark:
HW used: Nucleo-L031, BL.bin is a 26 KB binary.
PS C:\Users\briguiah> Measure-Command {& "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer 2.15\bin\STM32_Programmer_CLI.exe" -c port=SWD -d "C:\Users\briguiah\OneDrive - STMicroelectronics\Desktop\Projects\PRG_Projects\binaries\BL.bin" 0x08000000}
Days : 0
Hours : 0
Minutes : 0
Seconds : 24
Milliseconds : 171
Ticks : 241714877
TotalDays : 0.00027976258912037
TotalHours : 0.00671430213888889
TotalMinutes : 0.402858128333333
TotalSeconds : 24.1714877
TotalMilliseconds : 24171.4877
PS C:\Users\briguiah> Measure-Command {& "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer 2.14\bin\STM32_Programmer_CLI.exe" -c port=SWD -d "C:\Users\briguiah\OneDrive - STMicroelectronics\Desktop\Projects\PRG_Projects\binaries\BL.bin" 0x08000000}
Days : 0
Hours : 0
Minutes : 0
Seconds : 2
Milliseconds : 518
Ticks : 25182709
TotalDays : 2.91466539351852E-05
TotalHours : 0.000699519694444444
TotalMinutes : 0.0419711816666667
TotalSeconds : 2.5182709
TotalMilliseconds : 2518.2709
I can assure you our Flashloader team is working hard to investigate further and fix this issue for a future release.
3- @Kraal, to address your enquiry on why the tools needs the files scattered in 5 places:
It's 2 different places actually (CubeProgrammer base path & CubeProgrammer API path). This is done because customers will not develop their CubeProgrammer based application inside the CubeProgrammer installation path => For customer convenience, copying only the API path should work out of the box, that brings the need for bundling Flashloader and Database in the API folder.
PS: FastROM_Data_Base is not the same as the database in base path (It's needed for a specific purpose which is the ST FastROM procedure).
I've tried to address as many points as I could, please let me know via PM or comment if any points where missed.
Thanks for your efforts in pre-analyzing these issues.
Aziz
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.