最終更新日:2023/2/21
普段使用しているArduinoIDE環境(デスクトップPC)でRP2040デバイスのコンパイルにて exit status 3 というエラーが発生し、この解決策が得られないことから、別途PCにてArduinoIDE環境を仕立てる必要が出てきました。
Windows7がインストールされている環境はThinkPadT440pだけなので、ここに環境を構築することにしました。
環境構築後、WinFi360-EVB-Pico をUSB接続したところ、IDEからシリアルポートが認識されないどころか、デバイスマネージャでポート(COMとLPT)のメンバが無い事も確認しました。この状況下で ArduinoIDE環境 からコンパイル済みのオブジェクトをWinFi360-EVB-Picoに書込出来る様にしたので記録に残しておきます。まず確認したことは以下の通りです。
- ブートセレクトボタンを押しながらUSB接続した場合ドライブとしてマウントは出来るか?
結果 出来ました- シリアルポートとして認識されていない状態で、【マイコンボードに書き込む】を実行して自動で書込出来ないか
結果 出来ませんでした。COM6に書き込み出来ませんでしたと云われましたがCOM6はそもそも無く、勝手に割り付けされたようです。- 既製のUF2ファイルをドライブとしてマウントされたボードにコピーした状態で ArduinoIDEを起動し、シリアルポートが認識されるか?
結果 認識されませんでした。そこで次の手順でシリアルドライバをインストールし、WinFi360-EVB-Pico をUSB接続した時にシリアルポート認識する様にしました。Arduino-Pino(ボード)を使うのですがシリアルドライバをインストールするためにはArduino_MBED_OS_RP2040_Boardsを最初にインストールしておくべきです。インストール途中でシリアルドライバのインストールを促されます。
ただし、必ずしもうまくゆくわけでは無いようで以下の準備はしておいてください。
- 予めCOM用infファイルを用意します。
https://drive.google.com/drive/folders/15ub65XQQIVnaFDG6s73oI3qR4ZOZhQu6
ここにある pico-serial.inf をダウンロードしておきます。
; Windows 2000, XP, Vista, 7 and 8 (x32 and x64) setup file for Atmel CDC Devices
; Copyright (c) 2000-2013 ATMEL, Inc.[Version]
Signature = "$Windows NT$"
Class = Ports
ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}Provider = %Manufacturer%
LayoutFile = layout.inf
CatalogFile = atmel_devices_cdc.cat
DriverVer = 01/08/2013,6.0.0.0;----------------------------------------------------------
; Targets
;----------------------------------------------------------
[Manufacturer]
%Manufacturer%=DeviceList, NTAMD64, NTIA64, NT[DeviceList]
%PI_CDC_PICO%=DriverInstall, USB\VID_2E8A&PID_0005&MI_00[DeviceList.NTAMD64]
%PI_CDC_PICO%=DriverInstall, USB\VID_2E8A&PID_0005&MI_00[DeviceList.NTIA64]
%PI_CDC_PICO%=DriverInstall, USB\VID_2E8A&PID_0005&MI_00[DeviceList.NT]
%PI_CDC_PICO%=DriverInstall, USB\VID_2E8A&PID_0005&MI_00;----------------------------------------------------------
; Windows 2000, XP, Vista, Windows 7, Windows 8 - 32bit
;----------------------------------------------------------
[Reader_Install.NTx86][DestinationDirs]
DefaultDestDir=12
DriverInstall.NT.Copy=12[DriverInstall.NT]
include=mdmcpq.inf
CopyFiles=DriverInstall.NT.Copy
AddReg=DriverInstall.NT.AddReg[DriverInstall.NT.Copy]
usbser.sys[DriverInstall.NT.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"[DriverInstall.NT.Services]
AddService = usbser, 0x00000002, DriverService.NT[DriverService.NT]
DisplayName = %Serial.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbser.sys
LoadOrderGroup = Base;----------------------------------------------------------
; Windows XP, Vista, Windows 7, Windows 8 - 64bit
;----------------------------------------------------------[DriverInstall.NTamd64]
include=mdmcpq.inf
CopyFiles=DriverCopyFiles.NTamd64
AddReg=DriverInstall.NTamd64.AddReg[DriverCopyFiles.NTamd64]
usbser.sys,,,0x20[DriverInstall.NTamd64.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"[DriverInstall.NTamd64.Services]
AddService=usbser, 0x00000002, DriverService.NTamd64[DriverService.NTamd64]
DisplayName=%Serial.SvcDesc%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys;----------------------------------------------------------
; String
;----------------------------------------------------------[Strings]
Manufacturer = "ATMEL, Inc."
PI_CDC_PICO = "Pi Pico Serial Port"
Serial.SvcDesc = "Pi Pico Serial Driver"Serial.SvcDesc = "USB Serial emulation driver"
メーカ:ATMEL, Inc. デバイス名:Pi Pico Serial Port として認識されるはずです。- 適当なシリアルポートをでっち上げます。Arduino_MBED_OS_RP2040_Boardsをインストールすると少なくとも不明なデバイスとして登録されていると信じています。
WinFi360-EVB-Pico を接続すると不明なデバイスとして認識されないでしょうか?そのデバイスに対して
ドライバソフトウエアの更新 を実行し、
コンピュータを参照してドライバソフトウエアを検索 を選択
参照で pico-serial.inf を選択して登録します。この作業によって、自分の環境下では WinFi360-EVB-Pico を接続すると IDEからシリアルポートが認識出来るようになり、直接【マイコンボードに書き込む】が実行出来る様になります。また、デバッグ用のシリアルモニタも使える様になりました。
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
商標・登録商標
Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。