0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CLionでArduino+Nucleo F303K8をやろうとして詰まった話し

Last updated at Posted at 2024-12-19

PlatformIO付属のOpenOCDで書き込み失敗

引用記事そのまま、ではありますが...

MacにCLionとplatformIOをインストールして、実行しようとした下記のエラー

** Programming Started **
Warn : Adding extra erase range, 0x08003224 .. 0x080037ff
Error: error writing to flash at address 0x08000000 at offset 0x00000000
embedded:startup.tcl:1516: Error: ** Programming Failed **
in procedure 'program' 
in procedure 'program_error' called at file "embedded:startup.tcl", line 1581
at file "embedded:startup.tcl", line 1516
*** [upload] Error 1
================================================================== [FAILED] 

PlatformIOに付属しているOpenOCDのバージョン0.12.0に問題があるらしく、0.11.0に戻してやると動くとのこと。

成敗!

platoformio.iniにopenocdのバージョンを指定するコマンドを追記します。この@以下のバージョン指定子は妙な感じがするが、下記のリポジトリのページで指定されているものの3つのうちの一つになっているので仕方ない。

platformio.ini
[env:nucleo_f303k8]
platform = ststm32
board = nucleo_f303k8
framework = arduino

upload_protocol = stlink

platform_packages = platformio/tool-openocd@2.1100.211028 << 追記

追記するとBuildのときに自動でツールを引っ張ってきてくれる。で、無事動く。

考察

OpenOCDの最新バージョンは0.12.0-4で、2024/8/2に更新されている。
https://xpack-dev-tools.github.io/openocd-xpack/blog/2024/08/02/openocd-v0-12-0-4-released/

一方platformIOで指定可能な最新バージョンは3.12.0000で、二年前で更新が止まっている。

platformIOでの指定子とOpenOCDのバージョンの対応はいまひとつよくわからない。

PlatformIOを普通にインストールすると入ってくるopenOCDのバージョンは
0.12.0-01004-g9ea7f3d64-dirty (2023-01-30-17:03)
となっているので、番号からすると最新版のようだ。0.12.0から更新されているバージョンのはずだが、やはりエラーは出る。

ということで、ターゲットがSTM32F303K8の場合、現状0.11.0系を使うしかないというところか。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?