SEGGER J-Linkで利用されているソフトウェア
emUSB
Device
開発ツールとの接続を担う
J-LinkのUSBデバイスはお客様に提
供する製品と同じソフトウェアが使
われています。
RTOS
embOS
不正改造・量産防止
emSecure
TCP/IP
embOS/IP
emUSB サマリー
USB1.1 / 2.0標準仕様に準拠。
USBに定義されているすべての転送モードをサポートします。
信頼性の高いUSBパイプ管理と拡張されたエラー回復メカニズムが、
スタック内部的に実装されています。
SEGGER社独自のソフトウェア
モジュール化構造
ハードウェア依存部はUSBスタックから
独立しており、ハードウェア変更時にも
アプリケーションへの影響度を最小限に
抑えることが可能です。
ハードウェア依存部
USBコアモジュール
USBクラスドライバ
ハードウェア変更
emUSB ユーザメリット
量産ロイヤリティ不要
開発プロジェクト無制限(ユーザライセンス)
Armマイコンでも、RXでも使える。数百品種のマイコンをサポート。
複数メーカ製マイコン・開発ツールを選べる
RTOS依存性なし、iTRONでも使える。他社RTOSでも使える
マルチタスクが不要なアプリケーションであれば、RTOSなしでも利用可能
emUSBクラス対応表
emUSB Host / DeviceはUSB各クラスに対応します。
USB Host
USB Device
MTP
○
○
MSD
○
○
Smart MSD
-
○
HID
○
○
CDC
○
○
RNDIS
○
○
Printer
○
○
LAN
(IP over USB)
○
○
FTDI UART
○
-Audio
-
○
CCID
○
-Bulk
-
○
emUSB Host 品質テスト
USBは、良く定義されている規格ですが、多くのUSBデバイスメーカはWindowsのみの接続検証のみで、USBフルスピー
ド、低転送サイズなど、Windowsとは異なるタイミングで発生する問題は、製造元に認識されていません。USBホストス
タックはUSB規格に準拠する必要がありますが、同時に完全に準拠していないデバイスでも動作する必要性があります。
組込システムに許容できるリソースが限られているため、USBホストスタックの開発の難しさがあります。
USBホストスタックがこのような要件を満たしているかどうかを確認する唯一の方法は、クリーンなソフトウェア設計と
様々なデバイスを使用した集中的なテストです。
異なるメーカーの
USBメモリを使用
したテスト
テストするために定期
的に新しいデバイスを
追加します。
異なるデバイス
クラスを使用し
たテスト
異なるメーカーの複数
のデバイスを使用し、
あらゆるデバイスクラ
スの処理テスト
2,000以上の評
価ボード
様々なマイコンで評価
厳格な列挙テスト
数千の列挙テストをシ
ミュレートするハード
ウェア
ハブテスト
USBメモリ同様不確実
な製品が多いUSBハブ
を多数テスト
自動回帰テスト
自動回帰テストでは、
VBUSスイッチボード
を設計しました。
多くの試験・シミュレーションを行い、emUSBの品質を管理しています。
emUSB Host / Device - HID
ヒューマンインターフェースデバイス
マウス・キーボード・タッチパッドなどHIDアプリケーションとの
接続をサポート
バーコードから文字情報を読み取り、送受信するサンプルアプリケーション
https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-アプリケーション例
emUSB Host / Device - CDC
コミュニケーションデバイスクラス
FAXやモデムなどの通信機器で利用されるCOMポートを
USBサポートします。
POS端末に文字情報を表示するサンプルアプリケーション
https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c42671
アプリケーション例
emUSB Host / Device - MSD
MSD - マスストレージデバイス
USBメモリスティック、ハードディスク、SDカードリーダなど
ストレージデバイスとの接続をサポート
別途「emFile」などファイルシステムが必要になります。
SmartMSD(デバイスのみ)
SmartMSDでは、ストレージデバイスを仮想的に使用することができます。
ストレージデバイスは、構成可能なサイズと構成可能なファイルリストを
持つFAT形式のボリュームとしてホスト上に表示されます。
アプリケーション例
emUSB Host - LAN
USB to LAN
USBからのインターネット接続を
サポートします。
USB to Ethernet Adapterサンプル:
https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c46692
4G/LTE データ接続USBスティックサンプル:
https://www.segger.com/products/connectivity/emusb-host/technology/emusb-host-samples/#c42667
アプリケーション例
emUSB Host - Printer / FTDI / MTP
プリンタ
USBプリンタクラスを利用した機器との
接続をサポート
USB FTDI UART
USBからシリアル接続への変換コネクタの
接続をサポート(FT232)
MTP
Android、Windows、その他MTPデバイス
上のファイル読み書き、アプリケーション
によってMTPプロパティを取得・変更する
ことができます。
emUSB Host - CCID
CCIDクラスは、主にスマートカードサポートを組
込システムに追加するために使用されます。
シンプルなユーザーAPI
新しく接続されたスマートカードリーダーの通知。
スマートカードが挿入または削除された場合の通知。
APDUをスマートカードに送る簡単な機能。
アプリケーション例
emUSB Device - Audio
オーディオクラス
emUSB-Device Audioを使用すると、デバイスをオーディオレコーダーまたはオーディオ
スピーカーとして利用可能です。
emUSB-Device Audioでは、PC(Linux / Windows / Mac)から再生されたオーディオ
データをSDカードに直接保存するなど、デバイスが使用可能なハードウェアに関係なく
オーディオデータを処理できます。
スピーカーインターフェイスの機能ユニットコントロール(ボリューム、ミュートなど)のコマンドSET_CUR、GET_CUR、
SET_MIN、GET_MIN、SET_MAX、GET_MAX、SET_RES、GET_RESがサポートされています。
emUSB-Device-Audioは、オーディオ周辺機器用のドライバ/コーデックを提供していません。
emPowerボード用のemUSB-Device Audioデモを用意しています。
https://www.segger.com/downloads/emusb-device/SeggerEval_emPower_emUSBD_Audio_SES
emUSB Host / Device - Vendor
ベンダークラス
ベンダーによって定義された非標準の独自プロトコルをサポート
標準定義されていないユーザ様独自プロトコルにて、アプリケーション開発が可能
SAMPLE
オプション:WindowsでVendorクラスを利用するために
emUSB-Device driver WHQL certification
次のWindowsオペレーティングシステム用のWindows Hardware Quality Labs(WHQL)
Driver認定:Windows XP、Vista、7,8および8.1および10
USB Host マイコン対応
Microchip AT32UC3A AVR32 Driver
AT91SAM9260 OHCI Driver
AT91SAM9261 OHCI Driver
AT91SAM9263 OHCI Driver
AT91SAM92G10 OHCI Driver
AT91SAM92G20 OHCI Driver
AT91SAM9G15 OHCI Driver
AT91SAM9G45 OHCI Driver
AT91SAM9XE OHCI Driver
AT91SAM92G45/
M10 OHCI Driver AT91SAMA5D2x OHCI Driver
AT91SAMA5D2x EHCI Driver
AT91SAMA5D3x OHCI Driver
AT91SAMA5D3x EHCI Driver
ATSAMV70/V71/
S70/E70 ATSAMx7 Driver3 Infineon
XMC45xx Synopsys DWC2 Full Speed Driver
NXP
iMX6DL EHCI Driver
iMXRT1050 EHCI Driver
Kinetis K20_120 EHCI Driver
Kinetis K20 Kinetis Full Speed Driver1 Kinetis K21 Kinetis Full Speed Driver1 Kinetis K22 Kinetis Full Speed Driver1 Kinetis K24 Kinetis Full Speed Driver1 Kinetis K26 EHCI Driver
Kinetis K26 Kinetis Full Speed Driver1 Kinetis K27 EHCI Driver
Kinetis K27 Kinetis Full Speed Driver1 Kinetis K28 EHCI Driver
Kinetis K28 Kinetis Full Speed Driver1 Kinetis K40 Kinetis Full Speed Driver1 Kinetis K60_120 EHCI Driver
Kinetis K60 Kinetis Full Speed Driver1 Kinetis K61 EHCI Driver
Kinetis K61 Kinetis Full Speed Driver1 Kinetis K63 Kinetis Full Speed Driver1 Kinetis K64 Kinetis Full Speed Driver1 Kinetis K65 EHCI Driver
Kinetis K65 Kinetis Full Speed Driver1 Kinetis K66 EHCI Driver
Kinetis K66 Kinetis Full Speed Driver1 Kinetis K70 EHCI Driver
LPC17xx OHCI Driver LPC2387 OHCI Driver LPC2388 OHCI Driver LPC2420 OHCI Driver LPC2458 OHCI Driver LPC2460 OHCI Driver LPC2468 OHCI Driver LPC2470 OHCI Driver LPC2478 OHCI Driver LPC3180 OHCI Driver LPC3220 OHCI Driver LPC3230 OHCI Driver LPC3240 OHCI Driver LPC3250 OHCI Driver LPC4088 OHCI Driver
LH7A400 OHCI Driver
LH7A404 OHCI Driver
LPC18xx (except LPC181x) EHCI Driver LPC18Sxx (except LPC181Sx) EHCI Driver LPC43xx (except LPC431x) EHCI Driver LPC43Sxx (except LPC431Sx) EHCI Driver LPC546xx, LPC540xx, LPC5411x OHCI Driver (Full Speed) LPC546xx,
LPC540xx LPC54 High Speed Driver
Renesas RX11x Renesas Driver (RX113) RX23x Renesas Driver (RX231) RX62x Renesas Driver (RX621, RX62N) RX63x Renesas Driver (RX631, RX63N) RX64x Renesas Driver (RX64M) RX65x Renesas Driver (RX65M) RX71x Renesas Driver (RX71M) RZ/A1x Renesas Driver (RZ/A1H -R7S72100x RZ/A1M -R7S72101x RZ/A1L -R7S72102x) RZ/G1E EHCI Driver (High Speed) OHCI Driver (Full Speed) Synergy Renesas Driver (S3A3, S3A7, S5D5, S5D9, S7G2) ST Microelectronics STM32F105 Synopsys DWC2 Full Speed Driver STM32F107 Synopsys DWC2 Full Speed Driver STM32F205 Synopsys DWC2 Full Speed Driver2 STM32F205 Synopsys DWC2 High Speed Driver2 STM32F207 Synopsys DWC2 Full Speed Driver2 STM32F207 Synopsys DWC2 High Speed Driver2 STM32F215 Synopsys DWC2 Full Speed Driver2 STM32F215 Synopsys DWC2 High Speed Driver2 STM32F217 Synopsys DWC2 Full Speed Driver2 STM32F217 Synopsys DWC2 High Speed Driver2 STM32F401 Synopsys DWC2 Full Speed Driver2 STM32F405 Synopsys DWC2 Full Speed Driver2 STM32F405 Synopsys DWC2 High Speed Driver2 STM32F407 Synopsys DWC2 Full Speed Driver2 STM32F407 Synopsys DWC2 High Speed Driver2 STM32F415 Synopsys DWC2 Full Speed Driver2 STM32F415 Synopsys DWC2 High Speed Driver2 STM32F417 Synopsys DWC2 Full Speed Driver2 STM32F417 Synopsys DWC2 High Speed Driver2 STM32F427 Synopsys DWC2 Full Speed Driver2 STM32F427 Synopsys DWC2 High Speed Driver2 STM32F429 Synopsys DWC2 Full Speed Driver2 STM32F429 Synopsys DWC2 High Speed Driver2 STM32F437 Synopsys DWC2 Full Speed Driver2 STM32F437 Synopsys DWC2 High Speed Driver2 STM32F439 Synopsys DWC2 Full Speed Driver2 STM32F439 Synopsys DWC2 High
USB Device マイコン対応
Cypress Semiconductor MB9BF5xx,MB9BF6xx Infineon XMC45xx Maxim MAX32590 Microchip AT91CAP9 AT91RM9200 AT91SAM3S AT91SAM3U AT91SAM3X AT91SAM4S AT91SAM7A3 AT91SAM7S AT91SAM7SE AT91SAM7X AT91SAM9260 AT91SAM9261 AT91SAM9263 AT91SAM9G20 AT91SAM9G45 AT91SAM9Rx64 AT91SAM9x25 AT91SAM9XE ATSAMD21 AVR32UC SAMA5D2x SAMA5D3x SAMA5D4x Nordic Semiconductor nRF52840 NXP LPC13xx (LPC1342, LPC1343) LPC17xx LPC18xx LPC214x LPC23xx LPC24xx LPC288x LPC318x LPC313x LPC3250 LPC43xx (except LPC431x) LPC54xxx Kinetis KHCI Kinetis K60/K70 Highspeed iMX25x iMX28x MCF227x MCF225x MCF51JMx P1020 Vybrid OKI 69Q62 Renesas H8S2472 H8SX1668R K78F102x R7FS7G2x RX11x RX13x RX23x RX62x RX63x RX64x RX65x RX71x (USBb, USB FS Controller) RX71x (USBAa, USB HS Controller) RZA1 RZG1E SH7203 SH7216 SH7268/9 SH726A SH7286 uPD720150 V850ES/JG3-E/U/H V850ES/JH3-E/U/H Synergy S124 Synergy S128 Synergy S3a3 Synergy S3a7 Synergy S5d5Synergy S5d9 (USB FS, USB FS Controller)
Synergy S7g2 (USB FS, USB FS Controller)
Synergy S5d9 (USB HS, USB HS Controller)
Synergy S7g2 (USB HS, USB HS
SiLabs EFM32GGxxx ST STM32F0xx STM32F103 STM32F105/107 STM32F2xx STM32F3xxx: STM32F302x6, STM32F302x8, STM32F302xB, STM32F302xC, STM32F302xD, STM32F302xE STM32F303x6, STM32F303x8, STM32F303xB, STM32F303xC, STM32F303xD, STM32F303xE STM32F373x8, STM32F373xB, STM32F373xC STM32F4xx STM32F401 STM32F405 STM32F407 STM32F415 STM32F417 STM32F427 STM32F429 STM32F437 STM32F439 STM32F469 STM32F7xx, STM32H7xx STM32L1xx TI LM3S9B9x MSP430 OMAP-L138 AM335x TM4Cxx Toshiba TMPA900 TMPA910 TMPM369 TZ1200 Xilinx Zynq 7007S Zynq 7012S Zynq 7014S Zynq 7010 Zynq 7015 Zynq 7020 Zynq 7030 Zynq 7035 Zynq 7045 Zynq 7100