・2023/03/20
STM32 STM32F103C8のクローン(複製品)の一覧
(STM32 clone GigaDevice GD32F103C8T6 108MHz、CKS CS32F103C8T6 72MHz、etc)
Tags: [ワンチップCPU]
● STM32の類似品
STM32をいじっていた当時も GD32や CS32が存在していました。
・2019/02/08
STM32 STM32F103C8のクローン(複製品) 108MHz動作の GD32F103C8、CS32F103C8
STM32クローン GigaDevice GD32F103C8T6 108MHz、CKS CS32F103C8T6 72MHz
STM32ってこんなに人気が有るの??
ちなみにこれらの会社は普通に株式を上場しています(笑
N32G020系列芯片-通用MCU产品-国民技术
● STM32の idcode 0x1ba01477
STM32の本物:idcode 0x1ba01477
STM32の類似品:idcode 0x2ba01477
Genuine STM32 Blue Pill vs CS32F103C8T6 Clone
PlatformIO BluePill F103C6
Cannot upload to STM32 Bluepill board over STLink-V2
Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-04-23-20:37)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 8000 kHz
adapter_nsrst_delay: 100
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : clock speed 8000 kHz
Info : STLINK v2 JTAG v41 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.236292
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Stlink adapter speed set to 4000 kHz
Warn : UNEXPECTED idcode: 0x2ba01477
Error: expected 1 of 1: 0x1ba01477
in procedure 'init'
in procedure 'ocd_bouncer'
・STM32の類似品は ST-LINK(OpenOCD)で idcode 0x2ba01477でエラー

● STM32CubeIDE v1.0.0の場合
ST-LINK(OpenOCD)
C:\ST\STM32CubeIDE_1.0.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.debug_1.0.0.201904091537\resources\openocd\st_scripts\target
※ STM32CubeIDEのバージョンにより多少異なる
stm32f1x.cfg
の
# this is the SW-DP tap id not the jtag tap id
set _CPUTAPID 0x1ba01477
を
# this is the SW-DP tap id not the jtag tap id
set _CPUTAPID 0x2ba01477
に書き換える。(書き換えると本物の STM32で使えなくなるw)
なので下記の方法が良い。
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
を
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0
にする事で IDチェックをしなくなる。
その後の Confirm Perspective Switchの時の device id表示
本物
Info : device id = 0x20036410
Info : flash size = 64kbytes
ニセモノ
Info : device id = 0x000fa410
Info : flash size = 64kbytes
ST-LINK(ST-LINK GDB Server)の場合はニセモノは動きません。(回避策は無い)
Error in initializing ST-LINK device.
Reason: ST-LINK: Could not verify ST device! Abort connection.
・STM32の類似品は ST-LINK(ST-LINK GDB Server)で Could not verify ST deviceでエラー

● PlatformIOの場合
~/.platformio/packages/tool-openocd/scripts/target/stm32f1x.cfg
set _CPUTAPID 0x1ba01477
を
set _CPUTAPID 0x2ba01477
に書き換える。(類似品の _CPUTAPIDに変更する)
One Exploit to Rule them All?
On the Security of Drop-in Replacement and Counterfeit Microcontrollers
Suggestion: leverage STM32 protected memory read attack to download fw #20
JVNDB-2020-010658 CKS32F103 における例外的な状態の処理に関する脆弱性
本物の STM32も類似品も下記の STM32_Programmer_CLI.exeコマンドでプログラムを書き込む事はできます。(GUI版も動く)
rem STM32CubeProgrammer v2.13.0
ST-LINKを使う場合 port=SWD
STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI.exe -c port=SWD mode=UR -d hogehoge.bin 0x8000000 -g
UARTでシリアル通信で書き込む場合 port=COM12
STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI.exe -c port=COM12 mode=UR -d hogehoge.bin 0x8000000 -g
● STM32の不正品に注意
STM32の互換品、類似品を STM32にリマーキングして STMicroelectronics製品として「不正」に販売している所も有ります。
見た目で判断できるのは
・STM32F103C8T6の場合、1行目のマーキングが "STM32"が本物、"STM32F"はニセモノです。
・ICのパッケージングの樹脂の窪みの有無。1ピンに1個だけが本物。3個や無しはニセモノ。
・"STM32"が本物

・"STM32F"はニセモノ

内部のレジスタで判断は
・上記の idcode
・CAN1の CAN_MCRレジスタの初期値を確認する = 0x0010002
STM32CubeIDEで判断は
・ST-LINK(OpenOCD)で UNEXPECTED idcodeで怒られない
・ST-LINK(ST-LINK GDB Server)で Could not verify ST device!で怒られない
チェックプログラムで判断は
・Greaseweazleの Blinky testでチェック(但し、パスする模倣品も存在する)
STM32 Fakes
下記の 2件を満たしていれば違法品ではありません。(クローン自体の存在の是非は不明ですが)
・STM32として販売していない
・STM32にリマーキングしていない
但し、性能は怪しいかも???
Genuine STM32 Blue Pill vs Clone
類似品 CS32F103C8T6の波形は駄目駄目(笑
● STM32の類似品
ST-Linkに使用していた。
・Geehy APM32F103C8T6

Tags: [ワンチップCPU]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
Arduinoを使った HDMIの EDIDエミュレータを製作!
Arduino AVR/ UNO R4/ STM32/ ESP32/ RP2040と各種の CPUに対応!(トラ技 2024/07掲載)
STM32 STM32F103C8T6マイコンボードを ST-Link V2(中華製の互換ドングル)を使って開発
STM32F103C8 ARM Cortex-M3 72MHz CPU、ST-LINK Utilityでファームのアップデート
STM32 STM32F103C8T6の Windows用の開発環境を無料で構築する方法。CubeMX True STUDIO ST-LINK V2
Windows用の STM32F103C8 ARM Cortex-M3 72MHzの開発環境を無料で作る、STM32CubeMX、TrueSTUDIO、ST-LINK V2
STM32 STM32F103C8T6の USB CDC Virtual COM portドライバを Windows 7に組み込む方法
Windows 7で VCPドライバを組み込む時に「INFファイルが無効です」の解決方法、COMポート増殖を防ぐ方法(増えすぎた COMポートを削除)
STM32 STM32F103C8T6の USB CDC Virtual COM portデバイスを実装する
STM32 STM32F103C8T6に STCubeで CDC VCPデバイスを組み込み、動作試験のループバックを実装する
STM32 STM32F103C8T6で ARM GCCの Cソース中にインラインアセンブラを記述する方法
ARM GCCの Cソース中にインラインアセンブラを記述する方法
STM32 STM32F103C8T6で SPI接続の 1.8インチ TFT液晶を使用する方法
STM32に 128x160 ST7735 TFT 1.8インチ LCDを SPI接続して自前アプリから文字列を描画する方法。
STM32 STM32F103C8T6マイコンボード開発、CubeMX STM32CubeMXの使い方
STM32マイコン用の初期設定コード生成ツール STM32CubeMXの使い方、USBデバイスの作成方法
STM32 STM32F103C8のクローン(複製品) 108MHz動作の GD32F103C8、CS32F103C8
STM32クローン GigaDevice GD32F103C8T6 108MHz、CKS CS32F103C8T6 72MHz
ラズパイを意識した別物製品 Orange Pi Zeroを買ってみた、Allwinner H2+ Cortex-A7 4core
オレンジパイはラズパイよりもコスパは良いが情報が無いので利用者側に一定のスキルが必要
Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64
ラズパイを意識した別物製品、オレンジパイはラズパイよりもコスパが良い、でも情報が無い
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入できる通販ショップ一覧まとめ
ラズパイゼロW ワイヤレスモデルを海外通販でサクッと簡単に個人輸入で入手。技適通過でも国内販売は常に品切れ
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ
Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板
Espressif ESP32 32ビット Arduino互換マイコンボードをお手軽に開発する方法
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2023 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/cpu/stm32_fake_list/