HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
English Translate 中文翻訳
LINK
BACK
 

[NEW] 2017/04/08

STM32 STM32F103C8T6の USB CDC Virtual COM portドライバを Windows 7に組み込む方法 STM32 STM32F103C8T6の USB CDC Virtual COM portドライバを Windows 7に組み込む方法

(Windows 7で VCPドライバを組み込む時に「INFファイルが無効です」の解決方法、COMポート増殖を防ぐ方法)

Tags: [ワンチップCPU]





● STM32 STM32F103C8T6マイコンボードで CDCを使う方法

 Windows 7(64bit)で仮想 COMポートを使う方法

STSW-STM32121 - STM32F10x, STM32L1xx and STM32F3xx USB full speed device library (UM0424)

STSW-STM32102 - STM32 Virtual COM Port Driver
 Software Version: STSW-STM32102 1.4.0

 Windows 7の場合に上記の STM純正の VCPドライバが組み込めません。クソッタレ。

 下記の対策方法で解決出来ます。
USB (Universal Serial Bus) モデムの .inf ファイルから Usbser.sys ドライバーを使用および参照する方法

USB シリアル ドライバー (Usbser.sys)

ルネサスUSBデバイス - USBドライバ
 ここから「対応マイコン RL78」用の「USB F/Wアップデータ」をダウンロードして、
USB Peripheral Firmware Updater - an_r01an1680jj0110_usb.zip
 を解凍して、CDC_Demo.infを取り出します。

 この中の、
[DeviceList]
%DESCRIPTION%=DriverInstall, USB\VID_045B&PID_0999

[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall, USB\VID_045&PID_0999
 をSTM32の VIDと PIDに編集します。

 仕組みとしては usbser.sysを組み込むのに
include=mdmcpq.inf
 を仲介する方法です。

mdmcpq.inf
 は Windowsシステムの下記のディレクトリに有りました。
C:\Windows\System32\DriverStore\FileRepository

mdmcpq.inf_amd64_neutral_3f60a6f21f7bb0d9
 usbser.sys
 mdmcpq.inf
 DriverVer=06/21/2006,6.1.7601.23403

mdmcpq.inf_amd64_neutral_fbc4a14a6a13d0c8
mdmcpq2.inf_amd64_neutral_e9784021af1f5e24


● STMicroelectronics STM32 STM32F103C8T6マイコンボードを買ってみた

Windows XP ベースのコンピューターに接続されていないデバイスがデバイス マネージャーに表示されない
ヒント: デバイス マネージャーの設定を調整して、より多くのデバイスの情報を表示する

 コマンドプロンプトで
set devmgr_show_nonpresent_devices=1
devmgmt.msc
 を入力して、デバイスマネージャを起動する。
 メニューの「表示」から「非表示のデバイスの表示」を選択する。
 ツリーの中で「ポート(COMと LPT)」を開く。
 不要なデバイスを削除する。ひたすら削除する。

 関連レジストリ:(ビット列が COM1~に対応している。)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter\ComDB


● Ignore Hardware Serial Number

 USBの CDC(Communication Device Class、シリアルデバイス)を接続すると、接続する度に COMポートの番号が増えるのを抑制する方法。

FTDI Knowledgebase - Ignore Hardware Serial Number
Silicon Labs - Getting DPInst to Ignore Serial Numbers

 For a default FTDI device ID (VID 0x0403, PID 0x6001), add the following registry REG_BINARY value set to 01:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum04036001
 VIDと PIDを組み合わせてレジストリを作成する。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags
 を作成して、その中に
IgnoreHWSerNum04036001
 を バイナリ値で作成する。
 値は 01を設定する。
※ IgnoreHWSerNum04036001は FTDIの FT232Rや FT245Rの場合の値になります。
※ホストコントローラーのドライバが USB3.0のポートだと効果が無い場合があります。

GlobalDisableSerNumGenのキーも有ります。

xxxx.reg
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags]

; Disable USB device Multiple Detection
"GlobalDisableSerNumGen"=hex:01

; STMicroelectronics Virtual COM Port USB\VID_0483&PID_5740 STM32
"IgnoreHWSerNum04835740"=hex:01

; FTDI FT232R FT245R USB\VID_0403&PID_6001
"IgnoreHWSerNum04036001"=hex:01

; FTDI FT2232D USB\VID_0403&PID_6010
"IgnoreHWSerNum04036010"=hex:01

; FTDI FT4232H USB\VID_0403&PID_6011
"IgnoreHWSerNum04036011"=hex:01

; FTDI FT232HL USB\VID_0403&PID_6014
"IgnoreHWSerNum04036014"=hex:01

; Prolific PL2303 USB\VID_067B&PID_2303
"IgnoreHWSerNum067B2303"=hex:01

; ELECOM USB-SERIAL Converter PL2303 USB\VID_056E&PID_5004
"IgnoreHWSerNum056E5004"=hex:01

; REX-USB60 Converter PL2303 USB\VID_0584&PID_B000
"IgnoreHWSerNum0584B000"=hex:01

; Silicon Laboratories CP2102 USB\VID_10C4&PID_EA60
; Silicon Labs CP210x USB to UART Bridge USB\VID_10C4&PID_EA60
"IgnoreHWSerNum10C4EA60"=hex:01

; WCH http://www.winchiphead.com/ CH340G USB\VID_1A86&PID_7523
; WCH http://www.winchiphead.com/ CH341 USB\VID_1A86&PID_5523
; #define CH34x_VENDOR_ID		0x1A86
; #define CH340_PRODUCT_ID	0x7523
; #define CH341_PRODUCT_ID	0x5523
"IgnoreHWSerNum1A867523"=hex:01
"IgnoreHWSerNum1A865523"=hex:01

; VID=1234 PID=ABCD
; "IgnoreHWSerNum1234ABCD"=hex:01
※ STM32以外にも FTDI、Prolific、Silicon Labs、WCHの定義を入れ込みました。

USB Device Registry Entries (Windows Drivers) - MSDN - Microsoft

[INFO] XP Embedded SP1 環境で USB デバイスの認識に失敗する
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags
GenericCompositeUSBDeviceString (REG_SZ) Composite USB Device
GenericUSBDeviceString (REG_SZ) USB Device
GlobalDisableSerNumGen (REG_BINARY) 01
IgnoreHWSerNum04710302 (REG_BINARY) 01(自動的に作成されるらしい)

なお HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\045e001e0114 などの個々のデバイスに対応するサブキーに関しては、ご利用のデバイスにあわせて USB デバイスドライバから適宜適切なキーおよびエントリが自動的に作成されますので、手動での追加記述の必要はありません。


● USBシリアル変換の Windows用のドライバ

 Prolific PL2303 UART Serial Windows Driver
Prolific PL2303 USB to UART/Serial Windows Driver Download
 PL2303_Prolific_DriverInstaller_v1.12.0.zip
 ※ Prolific PL2303の一部の型番は公式アナウンスで Windows 8/8.1/10をサポートしません。
NOTE:
Windows 8/8.1/10 are NOT supported in PL-2303HXA and PL-2303X EOL chip versions.
Run PL2303 CheckChipVersion tool program in Windows XP/Vista/7 to check chip version.
Windows XP, 2000, 98 and Windows ME driver technical support is discontinued.
Prolific recommends to use PL-2303HXD (HX Rev D) or PL2303TA chip.
 自己責任で "This Device cannot start (Code 10)"に対応するドライバ。
Prolific USB To Serial Driver Fix!
 本来、サポート外の Windows 8, Windows 8.1 and Windows 10でも古い PL2303が使える様になる。

 Silicon Labs CP2102 UART ブリッジ VCP ドライバ
Silicon Laboratories CP210x USB - UART ブリッジ VCP ドライバ
 CP210x_Windows_Drivers.zip

 FTDI FT232R Virtual COM Port Drivers WHQL Certified VCP
FTDI Virtual COM Port Drivers
 CDM v2.12.16 WHQL Certified.zip
 FTDI FT232H、FT2232H、FT4232H、FT2232D/C/L、FT232B等も使える。

 WCH CH340G CH341

WSH CH340G USB COM Port Drivers
 CH341SER.EXE 2016-09-28 V3.4
 WSH CH340G,CH340C,CH340B,CH340E,CH340T,CH340R,CH341A,CH341T,CH341H等も使える。
 Windows 10/8.1/8/7/VISTA/XP,SERVER 2016/2012/2008/2003,2000/ME/98
 Microsoftの WHQL認証済み。



Tags: [ワンチップCPU]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

STM32 STM32F103C8T6マイコンボードを ST-Link V2を使って開発
STM32 STM32F103C8T6マイコンボードを ST-Link V2を使って開発

  STM32F103C8 ARM Cortex-M3 72MHz CPU、ST-LINK Utilityでファームのアップデート

STM32 STM32F103C8T6の Windows用の開発環境を無料で構築する方法。
STM32 STM32F103C8T6の Windows用の開発環境を無料で構築する方法。

  Windows用の STM32F103C8 ARM Cortex-M3 72MHzの開発環境を無料で作る、STM32CubeMX、TrueSTUDIO、ST-LINK V2

STM32 STM32F103C8T6の USB CDC Virtual COM portデバイスを実装する
STM32 STM32F103C8T6の USB CDC Virtual COM portデバイスを実装する

  STM32 STM32F103C8T6に STCubeで CDC VCPデバイスを組み込み、動作試験のループバックを実装する

STM32 STM32F103C8T6で ARM GCCの Cソース中にインラインアセンブラを記述する方法
STM32 STM32F103C8T6で ARM GCCの Cソース中にインラインアセンブラを記述する方法

  ARM GCCの Cソース中にインラインアセンブラを記述する方法

STM32 STM32F103C8T6で SPI接続の 1.8インチ TFT液晶を使用する方法
STM32 STM32F103C8T6で SPI接続の 1.8インチ TFT液晶を使用する方法

  STM32に 128x160 ST7735 TFT 1.8インチ LCDを SPI接続して自前アプリから文字列を描画する方法。

STM32 STM32F103C8T6マイコンボード開発、STM32CubeMXの使い方
STM32 STM32F103C8T6マイコンボード開発、STM32CubeMXの使い方

  STM32マイコン用の初期設定コード生成ツール STM32CubeMXの使い方、USBデバイスの作成方法

ラズパイを意識した別物製品 Orange Pi Zeroを買ってみた、Allwinner H2+ Cortex-A7 4core
ラズパイを意識した別物製品 Orange Pi Zeroを買ってみた、Allwinner H2+ Cortex-A7 4core

  オレンジパイはラズパイよりもコスパは良いが情報が無いので利用者側に一定のスキルが必要

Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64
Orange Pi PC 2を買ってみた、Allwinner H5 Cortex-A53 4core ARM64

  ラズパイを意識した別物製品、オレンジパイはラズパイよりもコスパが良い、でも情報が無い

Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入出来る通販ショップ一覧まとめ
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入出来る通販ショップ一覧まとめ

  ラズパイゼロW Pi Zero Wirelessモデルを海外通販で先行して購入し、サクッと入手する方法

大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう

  Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ

Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板
Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板

  Espressif ESP32 32ビット Arduino互換マイコンボードをお手軽に開発する方法

Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板

  Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102

BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)

  レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶



[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外はweb構成の変更で移動する場合があります)
Copyright (c) 2017 FREE WING, Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/cpu/stm32_stm32f103c8t6_usb_vcp_windows_7/