Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

中華 STM32F103のボード、通称Blue pillのMCUがクローンチップの場合の書き込み方 (STM32CubeIDE)

Last updated at Posted at 2020-03-09

 AliExpressにてSTM32F103のマイコンボードを購入した
 届いたらMCUが偽物(コピー品)だった。
 STM32CubeIDEで書き込もうとするとエラーが出て書き込めなかった。
DSC_0004.JPG
低画質ですみません(なんとかCKSの文字が見て取れる[中科芯杯(CKS)社のクローンらしい])

このページで解決すること

 CKS社のF103のチップにSTM32CubeIDEで書き込めるようにする。(ST-LINK/V2-1にて)

問題と原因

 デバッグ時エラーがでる。書き込めない。
 書き込み時、MCUのIDが正規品では0x1ba01477だがコピー品は0x2ba01477であることが原因。
(エラーは出るがコンソールに0x1ba01477などの文字が出ないこともある。[デバッグプローブをST-LINK GDBを選択している場合])
image.png

手順

 1. STM32F1への書き込みの設定ファイル"stm32f1x.cfg"を編集する
 2. デバッグ時、"stm32f1x.cfg"を利用する設定を行う(○○_Debug.cfgの編集とデバッグの設定変更)

環境

 ・STM32CubeIDE(日本語化済み)
 ・日本語化してるので、初期インストール時と項目名が異なります。すみません
 ・ST-LINK/V2-1(NUCLEO-F303RE)
 ・CKS32F103C8T6互換マイコンボード(AliExpressにて購入)

手順1 STM32F1への書き込みの設定ファイル"stm32f1x.cfg"を編集する

 STM32F1への書き込みの設定ファイルであるため、STM32CubeIDEに1つ存在しています(後で説明するファイルはプロジェクトごとに存在)
 私の場合は、
"C:\ST\STM32CubeIDE_1.1.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.debug_1.1.0.201910101207\resources\openocd\st_scripts\target\stm32f1x.cfg"
に存在していました。

 このファイルをわかりやすい名前に変更し、同じフォルダ内にコピーします(たとえばcs32f1x.cfg)。
 この複製したファイル内の文字の
set _CPUTAPID 0x1ba01477を
set _CPUTAPID 0x2ba01477にテキストエディタで変更します(全1か所中1か所)

手順2 デバッグ時、"stm32f1x.cfg"を利用する設定を行う("○○_Debug.cfg"の編集とデバッグの設定変更)

"○○_Debug.cfg"は
 私の場合は、
"C:\Users\ユーザ名\STM32CubeIDE\workspace_test\test_Lchika\test_Lchika デバッグCS.cfg"
に存在していました。
 今回はtest_Lchikaというプロジェクトを対象としています。またIDEを日本語化している場合、ファイル名の"Debug"が"デバッグ"になります(どちらでも問題ないはず)。

 このファイルをわかりやすい名前に変更し、同じフォルダ内にコピーします(たとえば"test_Lchika デバッグCS.cfg")。
 この複製したファイル内の文字の
source [find target/stm32f1x.cfg]を
source [find target/cs32f1x.cfg]にテキストエディタで変更します(全1か所中1か所)

手順3 STM32CubeIDEのデバッグの設定の変更

 実行-デバッグの構成を開く。
image.png
 対処のデバッグ項目が存在しない場合、STM32 Cortex-m C/C++ APPをダブルクリックすると作成される。
 デバッグの項目のデバッグプローブを"ST-LINK OpenOCD"を選択する。
 Configration Scriptにてユーザ定義を選択し、ファイルを手順2で作成したファイルを選択する。

image.png

デバッグを押す
以上です
実際にLチカが動作することは確認しました。(写真ナイケド
接続したピンは、3.3、GND、SWDIO、SWCLK、NRST

はまったこと

 ・OpenOCDではソフトウェアリセットができなさそうなので、NRST(リセットピン)を接続しなければならない。
 

さいごに

 この方法ではデバッグは可能だが、SWVなどのトレースはできなくなる。
 プロジェクトを作成するたびに、手順2以降を実行しなければならない。
 中華なので、壊れているのか、接続ミスなのか、わからないのが大変だった(CubeIDEでのエラー内容で検索しても見つからなかった)
 STM32F103自体は安いのにADCが2つも入っていて(コンバータが2つ搭載)いい感じです

参考にしたサイト

SW4STM32を利用した場合の書き込みについて↓
・電子工作専科 TOP > 開発環境構築 > STM32 > CS32
https://denshikousakusenka.jimdofree.com/%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89/stm32/cs32/

中国製のSTM32クローンチップについて↓
・Cerevo Tech blog [20日目] 100%オリジナルで高品質新しいSTM32F103完全に交換自由な船積み
https://tech-blog.cerevo.com/archives/8539/

3
3
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

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?