stm32:cubeprog

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

コマンドラインから実行する。
試してみたけどどうやらファイル単位の書き込みのみじゃなくてアドレス単位で書き込める。
どうやら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で埋められている必要があるので気をつける

  • stm32/cubeprog.txt
  • 最終更新: 2024/04/06
  • by yuqlid