ST-Link China made

Pro programování vývojových desek s MCU řady STM32 jsem si pořídil klon ST-Link V2 od Číňanů. Bohužel tak jak mi programátor přišel, nebyl schopen práce, komunikační utilita (STM32CubeProgramer) vyžadovala upgrade jeho firmwaru.

Upgrade firmware

K upgradu jsem využil program výše uvedený STM32CubeProgramer, který mimo trasování programu  je nutný také k zavedení programu do vývojových desek s MCU STM, pokud v Arduino IDE chceme využívat oficiální podporu pro STM procesory.

Tento program po připojení čínského ST-Linku hlásí, že FW ST-Linku je zastaralý a vyzývá k jeho upgradu. Navíc připojení k vývojové desce se starým FW, ani její programování pomocí Arduino IDE, neumožní. Když jsem na internetu hledal, jak upgrade FW provést, nalezené postupy mi připadaly celkem složité. Navíc jsem nabyl dojmu, že se to neobejde bez pájení (kdy bude k MCU v ST-Linku nutné doplnit propojku BOOT0).
Nakonec jsem se ale po shlédnutí jednoho z videí na YT odhodlal učinit pokus o upgrade FW bez HW úprav - a ono to prošlo, navíc poměrně jednoduše:

  1. Spustíme STM32CubeProgramer a ST-Link připojíme k USB.
  2. V programu STM32CubeProgramer po potvrzení případných chybových hlášení vybereme (není-li již vybrána) metodu komunikace ST-LINK (modré tlačítko), poté stiskem tlačítka "Firmware upgrade" níže otevřeme dialog upgradu FW.

  3. Pokud v dialogu upgradu stiskneme tlačítko "Open in update mode"...


    ...objeví se nám vlevo dole upozornění, že ST-Link není v DFU módu, a žádost o restart:

      
  4. Restart provedeme odpojením ST-Linku od USB a opětovným připojením. Po opětovném stisku "Open in update mode" se nám již načtou informace o FW v ST-Linku a zobrazí se také verze, na kterou se bude upgradovat. Také je již povoleno tlačítko "Upgrade".


    Poznámka: Na obrázku jsou obě verze FW stejné, protože jsem dialog zkopíroval až po provedení upgradu (mám jen jeden čínský ST-Link)
  5. Po zmáčknutí tlačítka "Upgrade" se upgrade provede, což je potvrzeno textem vlevo dole. Nyní můžeme dialog upgradu uzavřít a v hlavním okně stisknout tlačítko "Connect". Pokud máme připojenou vývojovou desku, měly by se nám dole zobrazit její parametry: