STM32_Programmer_CLI fel!

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Icecap
Inlägg: 26620
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

STM32_Programmer_CLI fel!

Inlägg av Icecap »

STM32_Programmer_CLI.exe = Command Line Interface versionen av ST's programmeringsprogram.

Om ni - som jag - använder STM32_Programmer_CLI.exe till att programmera STM32 µC och har uppdaterat finns det ett känd fel:
Path/filnamn parsas fel om det finns ett eller fler mellanslag i namnet!

Våra .ELF filer har namn som "SW-1.3.x - HW-xxxxxxx-y.y.elf".

For att programmera via det Python-program som styr testen och kalibreringen skapas det en kommandosträng:
c:/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI.exe -c port=SWD -q -e all -w -v "<path & filename>.elf"

Detta har fungerat perfekt tidigare - men då kom det en update och det gick 100% fel.

Googling gav att det var andra som hade problemet också.
Min lösning var att ta bort mellanrum i filnamnet, trimma versionsdetekteringen en aning - och nu kör det igen.

Vi har nämligen ett antal olika hardware-versioner (just ni 13 st) och samma HW-versioner har ett par olika firmware-versioner.
Mitt program startar med att läsa alla .ELF-filer in, sortera dom efter samma HW-version och då välja den nyaste SW-version.
På det vis kan det ligga gamla legacy-versioner medan de nyaste som blir lagt in alltid är valet för nya kretskort.

Felet är angett på ett ST-forum, jag hittade detta efter att ha fått lagt till att felutskriften blir sparat i en fil.

Att jag gör på detta viset är för att driftspänning osv. styrs och mäts på via en NI-enhet, det kommunikeras med kretskortet via en COM-port och fastän jag har ett Q&D-program som medger att jag kan styra spänningar "manuellt" och sedan programmera de enstaka kretskort på det vis via STM_32_Programmer.exe (där fungerar mellanrum i filnamnet alldeles fint...) är det extremt mycket enklare att bara göra det i "det riktiga" program.

(Q&D = Quick & Dirty)