github のレポジトリです。
https://github.com/milkv-duo/duo-files
わりとちゃんと情報公開していて頼りにできます。開発にあたってひととおりレポジトリ内容を把握しておくべきです。この記事では内容を一覧で流し見できるようにまとめてみました。
ダウンロード
$ git clone https://github.com/milkv-duo/duo-files.git
70MBytesぐらいのレポジトリ。
$ cd duo-files/
$ tree
.
├── README.md
├── hardware
│ ├── CV1800B
│ │ ├── CV1800B-CV1801B-Preliminary-Datasheet-full-en.pdf
│ │ ├── CV1800B-CV1801B-Preliminary-Datasheet-full-zh.pdf
│ │ ├── CV180X-Clock-v1.xlsx
│ │ ├── CV180X-Interrupt-v1.xlsx
│ │ ├── CV180xB-Product-Brief-Public.pdf
│ │ └── CV180xb-Pinout-v1.xlsx
│ └── duo
│ ├── duo-datasheet-v1.2.pdf
│ ├── duo-mechanical-drawings-v1.1.zip
│ ├── duo-pcb-footprint-v1.2.dra
│ ├── duo-schematic-library-v1.2.olb
│ ├── duo-schematic-v1.1.pdf
│ └── duo-schematic-v1.2.pdf
└── others
└── RNDIS_drivers_20231018.zip
4 directories, 14 files
ファイルの内容
CV1800B ディレクトリ
ちゃんと mcu のドキュメントが参照できるのがありがたいですね。本来はそうなっているべきなのですが、RaspberryPi などではなかなか難しい状況なのが milk-V Duo はそこらへんわかっている感じがします。
CV1800B-CV1801B-Preliminary-Datasheet-full-en.pdf
本来Confidentialとかになりそうですが、MilkVプロジェクトで独自に公開しているらしいのがありがたいです。
CV1800B-CV1801B-Preliminary-Datasheet-full-zh.pdf
CV180xB-Product-Brief-Public.pdf
CV180xb-Pinout-v1.xlsx
LibreOfficeでは何故か開けなかったので Google Drive で開いてみました。
CV180X-Clock-v1.xlsx
CV180X-Interrupt-v1.xlsx
duo ディレクトリ
duo-pcb-footprint-v1.2.dra
OrCAD用のフットプリントファイルかな?
duo-schematic-library-v1.2.olb
OrCAD用のシンボルファイル?
duo-datasheet-v1.2.pdf
19ページのデータシート。以下は目次部分です。
duo-schematic-v1.1.pdf
1.1 と 1.2 の相違点だけをピックアップしてみました。
3.3Vを作成する電源部分
TFメモリカードのソケット。
duo-schematic-v1.2.pdf
DCDCをスイッチするトランジスタの型番が偏光になりました。
TPが無くなり、代わりに SD NAND インターフェースが追加されています。
duo-mechanical-drawings-v1.1.zip
解凍してみます。
$ unzip duo-mechanical-drawings-v1.1.zip
Archive: duo-mechanical-drawings-v1.1.zip
inflating: DUO-MB-BOTTOM.dxf
inflating: DUO-MB-TOP.dxf
LibreCAD で開いてみました
otherディレクトリ
RNDIS_drivers_20231018.zip
USBコネクタを接続すると、イーサネットアダプタとして認識するが、そのWindows用ドライバ情報。
解凍してみます。
$ unzip RNDIS_drivers_20231018.zip
Archive: RNDIS_drivers_20231018.zip
creating: RNDIS/
inflating: RNDIS/RNDIS.cat
inflating: RNDIS/RNDIS.inf
inflating: RNDIS/rndis11.cat
inflating: RNDIS/rndis11.inf
```RNDIS.inf の冒頭部
;
; FIH Device Driver
;
; This INF works for Windows XP SP2, Windows XP x64,
; and Windows Vista x86 and x64.
; This INF will work with Windows XP, and Windows XP SP1
; after applying specific hotfixes.
;
[Version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Provider%
DriverVer = 01/13/2010,1.0.0.0
CatalogFile = RNDIS.cat
[Manufacturer]
%Provider% = RndisDevices,NTx86,NTamd64,NTia64
; Decoration for x86 architecture
[RndisDevices.NTx86]
%RndisDevice.COMM% = RNDIS.NT.5.1, USB\VID_0525&PID_A4A2
%RndisDevice.ACER% = RNDIS.NT.5.1, USB\VID_0502&PID_3210
; Decoration for x64 architecture
[RndisDevices.NTamd64]
%RndisDevice.COMM% = RNDIS.NT.5.1, USB\VID_0525&PID_A4A2
%RndisDevice.ACER% = RNDIS.NT.5.1, USB\VID_0502&PID_3210
.
.
.
; Based on template INF file found at
; <http://msdn.microsoft.com/en-us/library/ff570620.aspx>
; which was:
; Copyright (c) Microsoft Corporation
; and released under the MLPL as found at:
; <http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>.
; For use only on Windows operating systems.
[Version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Linux%
DriverVer = 06/21/2006,6.0.6000.16384
[Manufacturer]
%Linux% = LinuxDevices,NTx86,NTamd64,NTia64
; Decoration for x86 architecture
[LinuxDevices.NTx86]
%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
; Decoration for x64 architecture
[LinuxDevices.NTamd64]
%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
; Decoration for ia64 architecture
[LinuxDevices.NTia64]
%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
;@@@ This is the common setting for setup
[ControlFlags]
ExcludeFromSelect=*
.
.
.
HKR, NDI\params\VistaProperty, default, 0, " "
HKR, NDI\params\VistaProperty, optional, 0, "1"
; No sys copyfiles - the sys files are already in-build
; (part of the operating system).
; We do not support XP SP1-, 2003 SP1-, ME, 9x.
[Strings]
Linux = "Linux Developer Community"
LinuxDevice = "Linux USB Ethernet/RNDIS Gadget"
Vista_Property = "Optional Vista Property"
デバイス名などが Linux となっているのが面白いですね。