CubeProgrammer
MacOSの場合,Javaのバージョンが違うと起動しない.
stackoverflowに書いてったが,どうやら新しいMacOSi(MojaveやCatalina)はJavaのバージョンが1.8.0.231である必要がある模様.
最新のJavaだと起動しなかった.これはどうやらライセンスが変更にあった際に.openjfxが同梱されなくなったことが原因と思われる.
How to run STM32CubeProgrammer on MacOS Catalina 10.15.1 (19B88)
STM32CUBEPGROGRAMMER : You are using OpenJDK, please Install OpenJFX error
CLI
コマンドラインから実行する。
試してみたけどどうやらファイル単位の書き込みのみじゃなくてアドレス単位で書き込める。
どうやら16バイト(32bit×4)単位でしか書き込めない?みたい。これに関してはstm32G491CEだからか?
他のデバイスで試してみたことがないのでこの裏が取れていいない。
> STM32_Programmer_CLI -c port=SWD -w32 0x0803FFFC 0x12345678 --verify ------------------------------------------------------------------- STM32CubeProgrammer v2.16.0 ------------------------------------------------------------------- ST-LINK SN : 0020002D3137511133333639 ST-LINK FW : V3J12M3 Board : STLINK-V3MINI Voltage : 3.27V SWD freq : 8000 KHz Connect mode: Normal Reset mode : Software reset Device ID : 0x479 Revision ID : Rev Z Device name : STM32G491xC/E Flash size : 512 KBytes Start Address : 8000000 Device type : MCU Device CPU : Cortex-M4 BL Version : 0xD2 Error: @0x0803FFFC is not 16-bytes aligned.
> STM32_Programmer_CLI -c port=SWD -w32 0x0803FFF0 0x12345678 --verify ------------------------------------------------------------------- STM32CubeProgrammer v2.16.0 ------------------------------------------------------------------- ST-LINK SN : 0020002D3137511133333639 ST-LINK FW : V3J12M3 Board : STLINK-V3MINI Voltage : 3.29V SWD freq : 8000 KHz Connect mode: Normal Reset mode : Software reset Device ID : 0x479 Revision ID : Rev Z Device name : STM32G491xC/E Flash size : 512 KBytes Start Address : 8000000 Device type : MCU Device CPU : Cortex-M4 BL Version : 0xD2 Write 32-bit data w @0x0803fff0: 0x12345678 Downloading... ロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロ 100% 32-bit data download complete Verifying ... Read progress: ロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロロ 100% Download verified successfully
ずらしたらアドレス単位で書き込めた。また、Flashメモリの性質上1→0は書き換えられるが0→1はセクタ単位でしか書き換えられない。
このため書き込む前は1で埋められている必要があるので気をつける