はじめに
インテル Galileo 開発ボードを扱うにあたって、必読と言える「Intel Galileo Board User Guide」というドキュメントがあります。ハードウェアとソフトウェア両面の必要な情報がコンパクトにまとまっています。また、このドキュメントにしか存在しない情報もあります。しかし、このドキュメントの存在があまり知られていなかったり、英語だということで読まれていなかったりしているのではないかと思います。
そこで、このドキュメントの日本語版を紹介代わりに作ってみました(このドキュメントのライセンスはCreative Commons Attribution Share-Alike License (ver. 3)ですので、著作権的な問題点はありません)。例によって逐語訳ではなく、意訳ですので原書と併せてご覧いただければと思います。
免責の表明
この日本語資料はIntelが公開している「Intel® Galileo Board User Guide / March 2014 / Order Number: 330237-001US」に記載されている情報を元に、“さかきけい”が作成したものです。このためIntelには何らこの日本語資料に対する責任はありませんので、この日本語資料に関連する問い合わせをIntelに対して行うことを禁止します。
また、この日本語資料を作成した“さかきけい”も何ら責任を負いません。この日本語資料の内容は、利用者自身の責任においてのみ使用することができます。
使用上の注意
- Intelによる法的な意味合いを持つと考えられる記述は英文のままとしています。これは、日本語にすることで意味合いが変化することを防ぐ目的のものです。しかし、その部分は英語原文に付属する部分であることを前提としなければなりません。したがって、本日本語資料ではなく、文脈としては原書に付属することになります。本日本語資料においては、Intelが免責を宣言する部分はその通りですが、何らかの権利や許可を与える部分についてはすべて無効であるとご理解ください。※1
- USB key、USB stickなどの表現揺れはすべて「USBメモリー」に統一して日本語資料化しています。※2
- SD card、microSDなどの表現揺れはすべて「microSDメモリーカード」に統一して日本語資料化しています(SDアソシエーションのページ内表記に合わせています)。※3
- 複数の英単語によって構成される語は、単語間に「・」を入れて表現しています。例:ルート・ファイル・システム※4
- 日本語での記述におかしいと思われる個所がある場合には原書をあたってください。
- 技術的などの理由で記載内容にわからない事項がある場合には別途調べてください(“さかきけい”に質問のメールを送るのはご遠慮ください※5)。
- 明らかな誤訳がある場合には具体的なご指摘をメールでお知らせいただけると助かります。
- 記述内容に誤りがある場合にもお知らせいただけると嬉しく思います。ただし、原書も間違っている場合には特に日本語資料を修正することはせずに、訳注を追加するだけとするかもしれません。
- 前述の内容と被りますが、“さかきけい”は何ら責任や義務を負うものではありません。
提供フォーマット
今回の日本語版は2つのフォーマットで提供しています:
※修正を行う場合はなるべく同時に修正しますが、少しラグが発生する可能性があります。
Intel® Galileo
ボード・ユーザー・ガイド
March 2014
Order Number: 330237-001US
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death.
SHOULD YOU PURCHASE OR USE INTEL’S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS’ FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm
Any software source code reprinted in this document is furnished for informational purposes only and may only be used or copied and no license, express or implied, by estoppel or otherwise, to any of the reprinted source code is granted by this document.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. Go to: http://www.intel.com/products/processor_number/
Code Names are only for use by Intel to identify products, platforms, programs, services, etc. (“products”) in development by Intel that have not been made commercially available to the public, i.e., announced, launched or shipped. They are never to be used as “commercial” names for products. Also, they are not intended to function as trademarks.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2014, Intel Corporation. All rights reserved.
改定履歴
Intel Corporationによる原書改定履歴
日付 | 版 | 内容 |
---|---|---|
2014年3月 | 001 | この文書の最初のリリース |
さかきけい(KEI SAKAKI)による日本語版改定履歴
日付 | 版 | 内容 |
---|---|---|
2014年5月1日 | 330237-001US-001JP | この日本語訳の最初のリリース |
※上記日付は日本時間です。
目次
図の一覧
- 図1. Galileo – 表および裏の見た目
- 図2. 主要コンポーネント
- 図3. Galileo Board接続ダイアグラム
- 図4. ジャンパーの位置
- 図5. 強制的なリカバリーのための抵抗ピン
- 図6. リセット・ボタンとリブート・ボタン
表の一覧
1.0 概要
1.0 概要
Intel® Galileo Boardは、プロの開発者、学生、メーカー・コミュニティにプログラム可能な制御基板を提供します。これは、32ビットのIntel® Pentiumクラスのシステム統合チップであるIntel® Quark SoC X1000アプリケーション・プロセッサーに基づきます。
Intel® Galileo Boardは、Uno R3のために設計されたArduinoシールドとハードウェアとソフトウェア、ピンでの互換性を持つように設計されたIntel® Architectureに基づく初めてのボードです。また、使用感と開発の容易さは、Arduinoソフトウェア開発環境とソフトウェアでの互換性があります。
Arduinoハードウェアとソフトウェアの互換性に加えて、Intel® Galileo Boardは複数の業界標準I/OポートとArduinoシールドのエコシステムを超えた固有の用法と機能を展開できる特徴を備えており、この特徴についてはこのドキュメントの次のセクションで説明します。
図1. Galileo – 表および裏の見た目
1.1 主要コンポーネント
図2と表1でIntel® Galileo Boardの主要コンポーネントについて説明します。
図2. 主要コンポーネント
表1. 主要コンポーネントの説明
番号 | コンポーネント | 説明 |
---|---|---|
1 | イーサーネット・ポート | 10/100 イーサーネット・コネクター |
2 | RS-232シリアル・ポート | 3ピン3.5ミリメートル・ジャック(オーディオ用ではない) |
3 | RS-232 | RS-232トランシーバー |
4 | USB 2.0クライアント | USBクライアント・コネクター(Micro-USB Type B):USB 2.0に完全準拠したデバイス・コントローラーで、主にプログラミングに使用します。 |
5 | USB 2.0ホスト | USB 2.0ホスト・コネクター(Micro-USB Type AB):最大128個のUSBエンド・ポイント・デバイスをサポートします。 |
6 | SPI Flash | ファームウェア(またはブートローダー)と最新のスケッチを保存するための8メガバイトのレガシーSPI Flashです。 |
7 | SPI Flash書き込みポート | Serial Peripheral Interface(SPI)書き込みのための7ピンのヘッダー。 デフォルトではArduino Unoシールドがサポートする4MHz。書き込みは最大25MHz。 注記:ボードにはネイティブのSPIコントローラーがありますが、しかし、これはSPIスレーブとして機能するのではなく、マスターとして機能します。結果として、これは別のSPIマスターのSPIスレーブにはなりえません。しかし、これはUSBクライアント・コネクターを通してスレーブ・デバイスとして機能可能です。 |
8 | シールド・インターフェイス | Arduino Uno Revision 3用シールドのピンアウトに従います。詳しくはセクション2.4を参照ください。 |
9 | ADC | アナログをデジタルに変換するコンバーター。 |
10 | Intel® Quark SoC X1000 | 400メガヘルツ、32ビット、Intel® Pentium Instruction Set Architecture(ISA / 命令セットアーキテクチャ)互換プロセッサー
|
11 | ICSP | 6ピン in-circuit serial programming(ICSP)ヘッダー。既存のシールドを接続するのに適切な位置にあります。これらのピンは、SPIライブラリーを使用したSPI通信をサポートします。 |
12 | 256メガバイト DDR3 DRAM | 256メガバイトのDRAM。ファームウェアがデフォルトで有効にします。 |
13 | Arduinoインターフェイス | Arduino Uno Revision 3用シールドのピンアウトに従います。詳しくはセクション2.4を参照ください。 |
14 | JTAGデバッグ・ポート | デバッグを行うための10ピン標準JTAGヘッダー。 |
15 | GPIOエキスパンダー | 1つのI²C I/OエキスパンダーによってGPIO pulse width modulation(PWM(#))が提供されます。 |
16 | microSDスロット | 32ギガバイトまでのmicroSDメモリーカード(オプション)をサポートします。 |
17 | 5V電源 | ボード上の電源ジャックに2.1ミリメートル正電源(センター・プラス)のプラグを接続することで、交流を直流にするアダプターを経由してボードに電力を供給します。5V 3Aまで供給可能な電源アダプターを推奨します。 |
18 | 電圧レギュレーター | 3.3ボルトを生成して供給します。 シールドが取り出せる最大電流は800mAです。 |
19 | イーサーネットPHY | イーサーネット物理層トランシーバー。 |
ボードの裏側、図1参照 | PCIe*準拠の機能を備えた、フルPCI Express* Mini Cardスロット:
|
2.0 詳細と仕様
2.1 物理特性
Intel® Galileo Boardは、それぞれ長さ10センチメートル、幅7センチメートルです。このサイズに加えて、USBコネクター、UARTジャック、イーサーネット・コネクターおよびパワージャックによって必要とされるサイズが別途必要となります。4つのねじ穴(直径4ミリメートル)によって、ボードを平面あるいはケースに取り付けることができます。
注記:デジタル・ピン7と8の間の距離は160ミル(0.16インチ)です。これは他のピンの100ミル間隔と同等の倍数ではありません。
2.2 電気的概要
ボード上の電源ジャックに2.1ミリメートル正電源(センター・プラス)のプラグを接続することで、交流を直流にするアダプターを経由してIntel® Galileo Boardに電力を供給します。5V 3Aまで供給可能な電源アダプターを推奨します。
入力電圧(推奨) | 5V |
入力電圧(限界) | 5V |
デジタルI/Oピン | 14(このうちPWM出力は6本提供) |
アナログ入力ピン | 6 |
全I/Oラインからの直流出力の合計 | 80mA |
3.3Vピン用の直流出力 | 800mA |
5Vピン用の直流出力 | 800mA |
2.3 回路図とリファレンス・デザイン
図3はIntel® Galileo Boardの接続ダイアグラムを示します。
完全なボードの詳細については以下を参照ください:
- PDFによるGalileo回路図
https://communities.intel.com/docs/DOC-21822
- Galileoリファレンス・デザイン – ZIPファイル化したAllegroボード・ファイル
https://communities.intel.com/docs/DOC-21824
図3. Galileo Board接続ダイアグラム
2.4 Arduinoコネクター・ピンアウトの詳細
Intel® Galileo Boardは3.3Vまたは5Vのいずれかで動作するシールドをサポートするように設計されています。Intel® Galileo Boardのコア操作電圧は3.3Vです。しかし、ボードのジャンパーに設定によってI/Oピンを5Vへの電圧変換を可能にします。詳細に関してはセクション2.5.3「VINジャンパー」を参照ください。
Intel® Galileo Boardが従うArduino Uno Revision 3のピンアウトは以下の通りです:
- 14本のデジタル入力/出力ピン(IO2~IO13、 TX、 RX):
pinMode()
、digitalWrite()
およびdigitalRead()
関数を使用することによって、Galileoのそれぞれの14本のデジタル・ピンは入力と出力に使用することができます。- ピンは3.3Vまたは5Vで動作します。各ピンは最大10mAのソース電流または最大25mAのシンク電流を流すことができ、5.6キロから10キロオームの内部プルアップ抵抗(デフォルトでは接続されていない)を備えています。
- 6本のデジタル・ピンはPulse Width Modulation(PWM)出力として使用できます; これに該当するピンには「~」シンボルが印刷されています。詳しくはセクション2.4.2「I/Oピンのマッピング」を参照ください。
- RXとTXピンは速度をプログラムで変更できるUARTポートです。
- SCLとSDAピンはI²C*バスを制御します。
TWI: A4またはSDAピンとA5またはSCLピン。TWI通信はArduino Wireライブラリーを通してサポートされます。 - AREFは未使用です。外部のリファレンス電圧をアナログ入力に供給することはサポートしていません。
注記:Intel® Galileo BoardではAREFピンとanalogReference()
関数によってアナログ入力の範囲の上端を変更することはできません。 - 6本のアナログ入力ピン(A0~A5):
- 6本のアナログ入力ピンはそれぞれ12ビットの分解能(つまり4096段階の値)を提供します。デフォルトで、これらはグラウンドから5ボルトの範囲の計測を行います。
- 7本の電源ピン:
- IOREF: IOREFピンは、適切な構成を備えたシールドの装着に対して、ボードによって提供される電圧に適合することができるようにします。IOREFピンの電圧はボードのジャンパーによって制御します。つまり、ボード上の選択用ジャンパーが3.3Vと5Vの間でのいずれでシールドが動作するかを選択します。
- RESETボタン/ピン: このラインをLowにするとスケッチをリセットします。通常はボード上のリセット・ボタンを覆い隠すシールドにリセット・ボタンを追加するために使用します。
- 3.3V出力ピン: ボード上のレギュレーターが3.3Vを供給します。シールドが取り出せる最大電流は800mAです。
- 5V出力ピン: このピンは外部電源またはUSBコネクターからの5Vを出力します。シールドが取り出せる最大電流は800mAです。
- GND(2本): グラウンド(接地)・ピン
- VIN: Intel® Galileo Boardへの入力電圧は、(電源ジャックに接続された調整済みの電源からの5ボルトとは対照的に)外部の電源を使用します。このピンを通して電圧を供給するか、または電源ジャックを通して電圧を供給するのであれば、このピンを通してそれにアクセスできます。
注記: このピンにかけられる電圧は、調整された5Vの供給でなければなりません。そうでなければ、それによってIntel® Galileo Boardが破損したり不正な動作をしたりすることがあります。
2.4.1 OUTPUTとして構成されたピンの特性
OUTPUT
を伴うpinMode()
によって構成されたピンはローインピーダンス状態にあります。OUTPUT
としてピンを構成すると、Intel® Galileo BoardではI²C*ベースのCypress I/Oエキスパンダーを通して機能を提供します。Intel® Galileo Boardにおいては、デジタル・ピンの0から13およびアナログ・ピンのA0からA5はOUTPUT
に構成可能です。
I/Oエキスパンダーのピンは、OUTPUT
として構成されると、最大10mA(ミリアンペア)をソース(正電流を供給する)することができ、また他のデバイス/回路からの電流を最大25mAシンク(負電流を供給する)することができます。個々のピンの電流ソース能力である10mAは、全てのOUTPUT
ピンを合わせた80mAの総合的な制限を受けます。個々のピンの電流シンク能力は、全体の電流シンク能力を合わせた200mAの総合的な制限を受けます。以下の表はOUTPUT
状態における総合的な限界を示します。
ソース電流 (mA) |
シンク電流 (mA) |
|
---|---|---|
個々のピンの能力 | 10 | 25 |
デジタル・ピン3、5、9、10、12、13の合算 | 40 | 100 |
デジタル・ピン0、1、2、4、6、7、8、11とアナログ・ピンのA0、A1、A2、A3、A4、A5の合算 | 40 | 100 |
デジタル・ピン0~13とアナログ・ピンのA0~A5の合算 | 80 | 200 |
2.4.2 I/Oピンのマッピング
表2. Galileo I/Oマッピング
Arduino IDE ID | GPIO | PWM | 選択 | 方向 | 共用 | 初期状態 | ||
---|---|---|---|---|---|---|---|---|
信号元 | ピン | Linux | Linux | |||||
IO0 | Cypr | GPORT4_BIT6_PWM2 | 50 | N/A | – | 双方向 | UART0_RXD | 内蔵プルアップ・オフ |
IO1 | Cypr | GPORT4_BIT7_PWM0 | 51 | N/A | – | 双方向 | UART0_TXD | 内蔵プルアップ・オフ |
IO2 | SoC (Cypr) |
GPIO<6> (GPORT2_BIT0_PWM6_A3) |
14 (32*) |
0 | – | 双方向 | – | 内蔵プルアップ・オフ |
IO3 | SoC (Cypr) |
GPIO<7> (GPORT0_BIT2_PWM3) |
15 (18*) |
3 | 1 | 双方向 | (PWM) | 内蔵プルアップ・オフ |
IO4 | Cypr | GPORT1_BIT4_PWM6 | 28 | – | 双方向 | – | 内蔵プルアップ・オフ | |
IO5 | Cypr | GPORT0_BIT1_PWM5 | 17 | 5 | – | 双方向 | (PWM) | 内蔵プルアップ・オフ |
IO6 | Cypr | GPORT1_BIT0_PWM6 | 24 | 6 | – | 双方向 | (PWM) | 内蔵プルアップ・オフ |
IO7 | Cypr | GPORT1_BIT3_PWM0 | 27 | – | 双方向 | – | 内蔵プルアップ・オフ | |
IO8 | Cypr | GPORT1_BIT2_PWM2 | 26 | – | 双方向 | – | 内蔵プルアップ・オフ | |
IO9 | Cypr | GPORT0_BIT3_PWM1 | 19 | 1 | – | 双方向 | (PWM) | 内蔵プルアップ・オフ |
IO10 | Cypr | GPORT0_BIT0_PWM7 | 16 | 7 | – | 双方向 | (PWM) SPI1_SS_B |
内蔵プルアップ・オフ |
IO11 | Cypr | GPORT1_BIT1_PWM4 | 25 | 4 | – | 双方向 | (PWM) SPI1_MOSI |
内蔵プルアップ・オフ |
IO12 | Cypr | GPORT3_BIT2_PWM3 | 38 | – | 双方向 | SPI1_MISO | 内蔵プルアップ・オフ | |
IO13 | Cypr | GPORT3_BIT3_PWM1 | 39 | – | 双方向 | SPI1_SCK | 内蔵プルアップ・オフ | |
IO14 | Cypr | GPORT4_BIT0_PWM6 | 44 | – | 双方向 | AD7298:VIN0 | 内蔵プルアップ・オフ | |
IO15 | Cypr | GPORT4_BIT1_PWM4 | 45 | – | 双方向 | AD7298:VIN1 | 内蔵プルアップ・オフ | |
IO16 | Cypr | GPORT4_BIT2_PWM2 | 46 | – | 双方向 | AD7298:VIN2 | 内蔵プルアップ・オフ | |
IO17 | Cypr | GPORT4_BIT3_PWM0 | 47 | – | 双方向 | AD7298:VIN3 | 内蔵プルアップ・オフ | |
IO18 | Cypr | GPORT4_BIT4_PWM6 | 48 | – | 双方向 | AD7298:VIN4 | 内蔵プルアップ・オフ | |
IO19 | Cypr | GPORT4_BIT5_PWM4 | 49 | – | 双方向 | AD7298:VIN5 | 内蔵プルアップ・オフ |
表3. Galileo I/O ファンクション多重化
多重セレクター | Cypress GPIO Pin | Linux GPIO ID |
方向 | 初期状態 | |
---|---|---|---|---|---|
0 | 1 | ||||
UART0_RXD | IO0 | GPORT3_BIT4_PWM7 | 40 | O | 不定 |
UART0_TXD | IO1 | GPORT3_BIT5_PWM5 | 41 | O | 不定 |
SPI1_SS_B | IO10 | GPORT3_BIT6_PWM3 | 42 | O | 不定 |
SPI1_MOSI | IO11 | GPORT3_BIT7_PWM1 | 43 | O | 不定 |
SPI1_MISO | IO12 | GPORT5_BIT2_PWM3 | 54 | O | 不定 |
SPI1_SCK | IO13 | GPORT5_BIT3_PWM1 | 55 | O | 不定 |
AD7298:VIN0 | IO14 | GPORT3_BIT1_PWM5 | 37 | O | 0 |
AD7298:VIN1 | IO15 | GPORT3_BIT0_PWM7 | 36 | O | 0 |
AD7298:VIN2 | IO16 | GPORT0_BIT7_PWM1 | 23 | O | 0 |
AD7298:VIN3 | IO17 | GPORT0_BIT6_PWM3 | 22 | O | 0 |
AD7298:VIN4 | IO18 | GPORT0_BIT5_PWM5 | 21 | O | 0 |
AD7298:VIN5 | IO19 | GPORT0_BIT4_PWM7 | 20 | O | 0 |
SoC GPIO<6>経由IO2 | Cypress GPORT2_BIT0_PWM6経由IO2 |
GPORT1_BIT7_PWM0 | 31 | O | 不定 |
SoC GPIO<7>経由IO3 | Cypress GPORT0_BIT2_PWM3経由IO3 |
GPORT1_BIT6_PWM2 | 30 | O | 不定 |
I2C | (AD7298:VIN4 or IO18) and (AD7298:VIN5 or IO19) |
GPORT1_BIT5_PWM4 | 29 | O | 1 |
2.5 ジャンパー
このセクションはGalileoにおけるボードの設定を変更するために使用するジャンパーについて説明します。
図4. ジャンパーの位置
2.5.1 IOREFジャンパー
ジャンパーによって外部動作電圧の制御を行い、3.3Vと5Vのシールドの両方をサポートします。
- ジャンパーが5Vに接続されると、ボードが5Vのシールドと互換性があるように構成され、IOREFに5Vが設定されます。
- ジャンパーが3.3Vに接続されると、ボードが3.3Vのシールドと互換性があるように構成され、IOREFに3.3Vが設定されます。
アナログ・ピンの入力範囲は、やはりIOREFジャンパーによって制御され、選択した操作電圧を超えてはなりません。しかし、AnalogRead()
の分解能がデフォルトで10ビットの分解能のために5V/1024となるため、IOREFジャンパーの設定に関わらず1単位あたり0.0049V(4.9 mV)となります。
警告:IOREFジャンパーは、シールドの動作電圧がボードと一致するように設定しなければなりません。不適切な電圧を設定すると、ボードあるいはシールドが破損する可能性があります。
2.5.2 I²C* アドレス・ジャンパー
オンボードのI/OエキスパンダーとEEPROMおよび各種外部のI²C*スレーブ・デバイスとのI²C*スレーブ・アドレスの衝突を防ぐために、オンボード・デバイスのI²C*アドレスを変更するためのジャンパーJ2が用意されています。
J2がピン1(白い三角形のマークがある)と接続されている場合、7ビットのI/Oエキスパンダーのアドレスは0100001
、7ビットのEEPROMのアドレスは1010001
です。ジャンパーの位置を変更すると、それぞれI/Oエキスパンダーのアドレスは0100000
、EEPROMのアドレスは1010000
へと変化します。
2.5.3 VINジャンパー
VINピンは調整済み電源に接続された電源ジャックから、装着したシールドまたはデバイスへ5Vを提供するために使用することができます。VINを使用することで5V以上をシールドに供給する必要があるのであれば、ボードにあるヘッダーのVIN接続とオンボードの5V供給の間の接続を外すべきです。
警告: VINジャンパーを外さずに、5V以上がVIN接続されるのであれば、ボードを破損するか、または信頼性のない動作につながる可能性があります。
2.5.4 強制的なリカバリー
あなたのIntel® Galileo Boardが起動不能状態にあるなら、あなたは強制的なリカバリーによってSPI Flashに対して内容を回復させることができます。例えば、通常のファームウェアのアップデート中に電源が失われてしまった場合に、ボードは起動不能状態になり、そして、この手続きが必要になるでしょう。あなたは以下で説明されているように抵抗のピンをグラウンドに接続する必要があります。
図5. 強制的なリカバリーのための抵抗ピン
以下の手順をリカバリー・モードのファームウェアで起動して実行します:
- USBメモリーのルート・ディレクトリーへSPI Flashリカバリー・ファイル(この
FVMAIN.fv
ファイルの詳細については[Build Guide]を参照)をコピーします。そして、そのUSBメモリーをボードに挿します。 - シリアル・ケーブルとボードのRS-232シリアル・ポートの間を接続します(図2を参照)。シリアル・コンソール・セッション(例えばPuTTY)とボードと接続したCOMポートを115200ボー・レートに設定します。
- ボードから電源を外します。
- 図5が示す、抵抗ピン(抵抗 R2B16)とグラウンド(接地)の間の接続を作成します。
- ボードに電源を接続します。
- シリアル・コンソールにQuarkプラットフォームの一覧が表示されます。Galileoを選択します。
- シリアル・コンソールにユーザー・アクション・メニューが表示されます。図5が示す、抵抗ピン(抵抗 R2B16)とグラウンド(接地)の間の接続を解除します。system recoveryオプションを選択します。リカバリー手順が開始され、SPI Flashへの再書き込みが行われます。この作業には5分程度かかります。リカバリーが完了するとシステムはリブートします。
2.6 ボタン
Intel® Galileo Boardには図6に示す2つのボタンがあります:
図6. リセット・ボタンとリブート・ボタン
- リセット・ボタン:
Resetと記載のあるボタンを押すと、現在実行中のArduinoスケッチと各種接続済みのシールドをリセットします。
また、あなたはボード内のソフトウェアをリセットできます(より早くリブートするために推奨します)。 - リブート・ボタン:
Rebootと記載のあるボタンを押すと、あなたがIntel® Quark SoC X1000をリブートするトリガーとなることができ、ボード全体をリセットできます。以下の注記を参照ください。
注記:リセットとリブートの使用
Arduino Unoでは、リセット・ボタンを押すとマイクロ・コントローラーと各種接続済みのシールドをリセットします。また、これは現在動作しているスケッチをリセットします。Intel® Galileo Boardでは、あなたは、スケッチまたは各種接続済みのシールドをリセットするためにIntel® Quark SoC X1000をリブートする必要はありません。スケッチをリセットするか、または新しいスケッチがアップロードされるたびにSoCがリブートされるのであれば、それはLinuxオペレーティング・システムの完全で(通常は不要な)リブートを引き起こします。
代わりに、Intel® Galileo BoardはIntel® Quark SoC X1000のリブートのトリガーとならずに、スケッチと各種接続済みのシールドをリセットするために使用できるリセット・ボタンを提供します。SoCのリブートが必要となるのであれば、ボード上のリブート・ボタンを押すことによってこれを実行できます。
3.0 コミュニケーションとプログラミング
3.1 コミュニケーション
Intel® Galileo Boardには、コンピューター、他のArduinoボード、または他のマイクロ・コントローラーと通信するための多くの機能があります。
- UART
- ボードはUART TTL(5V/3.3V)シリアル通信を提供します。それは、デジタル・ピン0(RX)と1(TX)で利用可能です。さらに、第2のUARTはRS-232をサポートしており、3.5mmのジャックを経由して接続します。
- USBクライアント・ポート
- USBクライアント・ポートはUSB上でシリアル(CDC-ACM)の通信を可能にします。これは、あなたのコンピューターにおいて、シリアル・モニターまたは他のアプリケーションにシリアル接続を提供します。また、これはスケッチをボードにアップロードするために使用します。
- USBホスト・ポート
- USBホスト・ポートは、ボードにマウス、キーボード、およびスマートフォンの周辺機器を接続するためのUSBホストとして動作します。
- Mini PCI Express* (mPCIe*)
- Intel® Galileo Boardは、Mini PCI Express*(mPCIe*)スロットを提供する初めてのArduinoボードです。このスロットは、フルサイズとハーフサイズ(アダプターが必要)のmPCIe*モジュールをボードに接続することができ、また、mPCIe*スロットを通して追加のUSBホスト・ポートを供給します。WiFi、Bluetoothまたは携帯電話ネットワークとの接続などの利用を可能にするために、各種の標準mPCIe*モジュールを接続して、使用できます。初期状態では、mPCIe*スロットはWiFiライブラリーのサポートを提供します。追加情報に関しては、Intel® Galileo Getting Start Guide([GSG]の表4)を参照ください。
- イーサーネット RJ45
- ボードが有線ネットワークに接続することができるように、イーサーネット RJ45コネクターを提供します。オンボードのイーサーネット・インターフェイスは完全にサポートされており、ArduinoのシールドのようにSPIインターフェイスの使用を必要とせずに全面的にサポートしています。
- microSDカード・リーダー
- オンボードのmicroSDカード・リーダーはArduino SDライブラリーを通してアクセスすることができます。ボードとSDカードとの通信は、統合SDコントローラーによって提供され、他のArduinoボードのようにSPIインターフェイスを使用する必要がありません。ネイティブSDインターフェイスは、使用するカードのクラスに依存するものの、最大50MHzで動作します。
- TWI/I2C*
- Arduinoソフトウェアは、TWI/I2C*バスの使用を簡略化するためのWireライブラリーを含んでいます; 詳細に関してはArduinoドキュメントを参照ください。
- SPI
- SPI通信にはArduino SPIライブラリーを使用できます。
3.2 プログラミング
Arduinoソフトウェア開発環境を使用して、Intel® Galileo Boardのためにスケッチと呼ばれるプログラムを作成することができます。ボードでスケッチを実行するための手順は以下の通りです:
- 電源を接続します。
- ボードのUSBクライアント・ポートにコンピューターを接続します。
- IDEインターフェイスを使用してスケッチをアップロードします。
Arduino I/O アダプターを使用してボード上のファームウェアに含まれるLinux*カーネルと通信し、Intel® Galileo Board上でスケッチを実行します。あなたのボードでプログラミングをすることに関する完全な詳細については、Intel® Galileo Board Getting Started Guide(表4)を参照ください。
ボードが起動する際に、2通りのシナリオがあり得ます:
- スケッチが永続的なストレージに存在しているならば、それを実行します。
- スケッチが存在しなければ、ボードはIDEからのアップロード指示を待ちます。
スケッチの実行中に、リセット・ボタンを押さずにIDEからアップロードを行うことができます。スケッチは停止します; IDEはアップロード状態で終了待ちし、次に新たにアップロードされたスケッチの実行を開始します。
ボード上のリセット・ボタンを押すと、実行中のスケッチの再起動と装着されたそれぞれのシールドのリセットを行います。
3.3 自動(ソフトウェア)リセット
アップロードの前にリセット・ボタンの物理的な押下を必要とするよりも、むしろIntel® Galileo Boardはそれが接続したコンピューターで動くソフトウェアによってリセットされることを許容する方法で設計されています。ボードの実行時にブートローダー・モードとなり、USB CDC-ACM制御信号に変換されます。Arduino ソフトウェアは、あなたがArduino環境でシンプルにアップロード・ボタンを押すことによってコードをアップロードすることができるように、この機能を提供します。詳細については、Intel® Galileo Board Getting Started Guide(表4)を参照ください。
4.0 関連ドキュメント
表4. 関連ドキュメント
タイトル | 番号 | 参照 |
---|---|---|
Intel® Galileo Board Getting Started Guide https://communities.intel.com/docs/DOC-22204 |
329685 | [GSG] |
Intel® Galileo Software Release Notes https://communities.intel.com/docs/DOC-21837 |
328686 | [Gal RN] |
Galileo Schematic https://communities.intel.com/docs/DOC-21822 |
n/a | [Schematic] |
Galileo Reference Design https://communities.intel.com/docs/DOC-21824 |
n/a | [Ref Design] |
Intel® Quark SoC X1000 Board Support Package (BSP) Build and Software User Guide | 329687 | [Build Guide] |
5.0 Galileo免責条項
Intel® Galileo Design Document
This Intel® Galileo design document is licensed by Intel under the terms of the Creative Commons Attribution Share-Alike License (ver. 3), subject to the following terms and conditions. The Intel® Galileo design document IS PROVIDED "AS IS" AND "WITH ALL FAULTS." Intel DISCLAIMS ALL OTHER WARRANTIES, EXPRESS OR IMPLIED REGARDING THE GALILEO DESIGN OR THIS GALILEO DESIGN DOCUMENT INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intel® may make changes to the specifications, schematics and product descriptions at any time, without notice. The Customer must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel® reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. ENJOY!
Intel® Galileo設計文書(参考用意訳)
※この参考用意訳は参考用以外の意味は持ちません。 以下の項目と条件を前提として、このIntel® Galileo設計ドキュメントをIntelはCreative Commons Attribution Share-Alike License (ver. 3)の条件の下でライセンスします。Intel® Galileo設計ドキュメントは「あるがまま」かつ「すべてはライセンスを受けた側の責任」で提供されます。Intelは、Galileoの設計またはこのGalileo設計ドキュメントに含まれている、明示あるいは暗示する、しかし限定的ではない、市場向けまたは特定の目的への合理性など、すべての保証を放棄します。 Intelはいつでも予告なしに仕様・回路図および製品に関する文書の変更を行うことができます。お客様は「予約」または「未定義」とマークされた、全ての機能や命令の欠如または特性に依存してはなりません。Intelは今後の定義のために、それらへの将来の変化から生じるコンフリクトや非互換性のために、これらを予約する責任を一切持ちません。楽しんでください!! |
6.0 日本語版免責と宣言条項
以下の免責事項の下で、原文の提供者であるIntel Corporationの提示するライセンス条項とCreative Commons Attribution Share-Alike License (ver. 3)に則って本日本語版のドキュメントを扱うことができます。
- この日本語版のドキュメントはIntel CorporationがCreative Commons Attribution Share-Alike License (ver. 3)ライセンスで公開している「Intel® Galileo Board User Guide / March 2014 / Order Number: 330237-001US」をKEI SAKAKI(さかきけい)が独自に日本語へ意訳したものであり、Intel Corporation並びに関連する各社には一切責任がないことに同意すること。
- 日本語版のドキュメントの著作権者であるKEI SAKAKI(さかきけい)は内容には一切の責任を負わないことに同意すること。
Copyright© 2014 by KEI SAKAKI. All Rights Reserved.
まとめ
今回はいつもより時間をかけずに書いているので、間違いが多いかもしれません。ご指摘をいただいたら順次反映していきたいと思います。
このドキュメントの日本語版を作ろうとした動機は「はじめに」で書いた以外に2つあります:
- “Intel Quark SoC X1000 BSP Rel 1.0.0 ビルド&ソフトウェア ユーザーガイド”からこのドキュメントへの参照があります。それはファームウェアの更新に失敗した場合に対応についてです。この部分が日本語になっていないとユーザーガイドが完結しないという気がしたからです。
- ドキュメントのライセンスが「Creative Commons Attribution Share-Alike License (ver. 3)」であったことです。これならば大手を振って日本語にできるなぁ、ということで後押しをされました。ほかのIntel Galileo関連のドキュメントについても「Creative Commons Attribution Share-Alike License (ver. 3)」などの、扱いやすいライセンスで公開していただけると嬉しいと思います。
また、新たな試みとしてPDFフォーマット版も作成してみました。もう少し、本家のドキュメントに似せようかと思ったのですが、ちょっと疲れてきて、この状態でも公開しないとお蔵入りにしてしまう気がしましたので、あまり似ていない現段階で公開することにしました。似せるのは今後のやる気次第になると思います。それはともかく、かなりMicrosoft Word 2010の勉強にはなりました。
使用しているフォントは明朝ではなくゴシックの方がよかったかなぁ、という気もしますが、これはこれで、という気もします。どちらがいいものでしょうか…?
あと、Webページ版の一部CSSの関係であまり好ましくない表示になっている部分は後日他の部分との整合性を見ながら調整したいと思います。
などと、いろいろと「どうしたものか?」というポイントはあるのですが、とりあえず公開をしてみることにしました。何かあればメールでお伝えいただければと思います。
- 有効にしたい場合は原書をご確認ください。
- インテル株式会社による表現が「Memory」に対して「メモリー」となっていることに倣っています。
- SDアソシエーションがSDメモリーカード関連の商標を管理する主体であることを考慮に入れ、同団体の表現をそのまま使用しています。
- インテル株式会社による表現がそうなっているので、それに合わせています。ただし、前述の「microSDメモリーカード」に限り、この原則に従いません。
- 質問者の技術レベルに応じて必要な回答を用意するのは、非常に高いスキルと多くの時間を必要とするものです。私はこれらのサービスが可能な状態にはありません。