OpenOCD で STM32H7 のフラッシュに書き込めない問題

The issue, OpenOCD failed to flash (a silicon revision) of STM32H7, seems resolved by Ac6 OpenSTM32.

とある案件で、STMicroelectronics 社の STM32H7 の「ある」デバイスが、同社推奨(?)の OpenSTM32 System Workbench でフラッシュ書込できない問題がありました。

こちらで報告させて頂き、解決を待っていたのですが、ようやく修正版がリリースされたようです。

問題の詳細ですが、STM32H7x3 のシリコンリビジョン ID 0x2001(捺印「X」)において、System Workbench 2.7 同梱の OpenOCD で正しくフラッシュ書込ができない、というものです。同社が販売している NUCLEO-H743ZI は古いシリコン(捺印「Y」)を載せているようで、そちらでは問題なく書き込めます。

昨日、STMicroelectronics の技術者の方から System Workbench 2.8 で修正された旨の報告を頂きました。OpenSTM32 の OpenOCD Git を覗いてみたところ、コミット d68be54 あたりで修正されているようです。(去年の 12月頭くらいには解決していたらしい。)

OpenOCD は openocd.org が本家かと思うのですが、あちこちに Git が fork されていて、状況がよく分かりません。上記修正が、早く本家や他の fork(MCU Eclipse とか)にもマージされたらいいなあ、と思う今日この頃です。