Comments
Description
Transcript
32 ビットマイクロコントローラ向けアプリケーションの 移植性
注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。 32 ビット マイクロコントローラ向けアプリケーションの 移植性に関する真実 Author: Erlendur Kristjansson Microchip Technology Inc. はじめに 2008 年 11 月、ARM® 社は Cortex™ Microcontroller Software Interface Standard (CMSIS) の提供を発表し ました。同社は、新しいデバイス向けにプロジェクト を作成する際、または半導体ベンダー各社のデバイス から Cortex-M ベースのマイクロコントローラへソフ トウェアを移植する際、CMSIS はソフトウェアの設計 コストを削減すると主張しています。これは非常に聞 こえが良いのですが、本当でしょうか。本書では、こ の主張がどの程度まで真実なのかを見極めるため、標 準的なマイクロコントローラの各構成要素について検 討した後に、標準的な周辺モジュール ファームウェア ライブラリの上に抽象化レイヤを追加する事によって 何が得られ、何が得られないのかを明らかにします。 ARM 社は以下のように主張しています。 CMSIS は Cortex-M プロセッサ シリーズ向けのベン ダー非依存ハードウェア抽象化レイヤです。半導体 ベンダーおよびミドルウェア プロバイダ向けに、プ ロセッサに対する一貫性のあるシンプルなソフト ウェア インターフェイスを提供する事で、ソフト ウェアの再使用を容易にします。また、新しいマイ クロコントローラ (MCU) の開発を容易にし、市場投 入までの開発期間を短縮します。CMSIS により、半 導体ベンダーは周辺機能によって製品の差別化を図 る事にリソースを集中できると共に、マイクロコン トローラをプログラミングするための独自規格を維 持する必要がなくなります。1 この主張に脈絡を持たせるには、マイクロコントロー ラがどのように回路に組み込まれるのか理解する必要 があります。マイクロコントローラは高度に集積され たシステム ソリューションであり、実質的に SoC (System-On-Chip) と呼ぶ事ができます。どのような SoC も、その機能は CPU コアが内蔵するハードウェ ア モジュールによって決まります。もちろん、チップ 上でどのようなコードを実行できるかは、CPU コアの 性能とアーキテクチャによって決まります。しかし、 チップの他の構成要素との相互作用は周辺モジュール を介して発生します。周辺モジュールの柔軟性がマイ クロコントローラを特異な SoC としています。この柔 軟性のため、マイクロコントローラの設定と制御はか なり複雑です。各種のレジスタをあらかじめ設定しな いと、何も実行できません。この設定を支援するため、 半導体ベ ンダー はコード 開発を 容易にす るため の ファームウェア ライブラリを提供しています。これら 2016 Microchip Technology Inc. のライブラリは、レジスタの設定とマイクロコント ローラ各部の制御に必要な全ての関数を提供します。 半導体ベンダー各社は独自のライブラリを提供してい ます。なぜなら、他社製品との差別化を図るため、各 社がマイクロコントローラに独自の周辺モジュールと 機能を持たせるからです。以下では、このベンダー間 の差違がマイクロコントローラのどの部分で生じるの か検討します。 システム アーキテクチャ 各マイクロコントローラ メーカーは、たとえ CPU コ アが同じであっても、独自の方法でシステム ( システ ムバス、クロックツリー、メモリ等を含む ) を実装し ます。そうする事により、各社は自社製品の優位性 ( つまりユーザにより優れたソリューションを提供で きるという事 ) を打ち出します。以下では、各システ ム構成要素について考えます。 • クロックツリーはシステムのハートビートを提供す る事で、システム内の全ての機能のタイミングを調 和させます。クロックツリーは、動作の速度と経済 性の両面においてシステムが最適となるよう設計さ れます。どのような機能と周辺モジュールをチップ に含めるのか、また、どのような問題に対処するよ うチップを設計するのかは、クロックツリーの構造 に直接影響します。従って、メーカー間でクロック ツリーの設計が同じになる事はまずあり得ません。 また、クロックツリー レジスタに正しい値を書き込 まない限り、いかなる動作も発生しません。 • システムバスのアーキテクチャにより、全ての MCU 機能の統合の仕方が決まります。メーカーによって は、内蔵する周辺モジュールに応じて 1 つまたは複 数の周辺モジュールバスを使います。これらにより、 全ての機能を使うために設定する必要があるレジス タとその個数が変化します。 • 全てのマイクロコントローラは不揮発性メモリ ( フ ラッシュ等 ) と揮発性メモリ (SRAM 等 ) の両方を備 えますが、厳密な実装方法はメーカーごとに異なり ます。フラッシュメモリをコアとバスマトリクスに 直接接続するメーカーもあれば、システムバスまた はバスマトリクスに接続するメーカーもあります。 RAM は、コアと周辺モジュールからの同時アクセス を可能にするため、2 つの独立したバンク内に配置さ れる場合があります。このようなメモリ構造の違い はコードの書き方に影響します。また、多くの場合、 メーカーの異なるマイクロコントローラへの移植 は、アプリケーションの性能に直接影響を与えます。 DS61164A_JP - p. 1 32ビ ット マイクロコントローラのアプリケーション移植性 周辺モジュール 各メーカーは、標準と専用のハードウェア モジュール を組み合わせてマイクロコントローラに内蔵します。 • 標準モジュールは、UART または SPI を介するシリ アル通信等、標準的な機能を提供します。タイマや PWM も標準モジュールです。標準モジュールは全 ての MCU メーカーで共通ですが、柔軟性または機 能 ( あるいはその両方 ) を高めるために拡張される 場合があります。マイクロコントローラ内の他の部 分と同様に、標準モジュールにも専用のレジスタが 割り当てられます。これらのモジュールは機能的に 同じであっても、メーカーが異なればほぼ確実に実 装方法が異なるため、レジスタの構造もメーカーご とに異なります。 • 専用モジュールは、アプリケーションに特化したタ スクのために提供されます。例えばブラシレスモー タ制御 PWM、オーディオ再生用 I2S、暗号化 / 復号 等のモジュールは専用モジュールです。これらの専 用モジュールには、複雑さに応じて数個から 30 個 以上のレジスタが割り当てられます。 周辺モジュール ファームウェア ライブラリは、レジ スタを介して周辺モジュールを制御するための関数も 提供します。この場合も、ユーザはアプリケーション コードに適した関数を選ぶだけでよく、レジスタの各 ビットとアドレスに気を使う必要はありません。 抽象化レイヤを周辺モジュール ファームウェア ライ ブラリに適用すると、コード開発の簡素化に役立ちま す。これが CMSIS の狙いです。しかし、それによっ てコード互換性が得られるかどうかは疑問です。 事実の見極め 以上により、各マイクロコントローラ メーカーが何を 提供しているのかが明らかになりました。次に、抽象 化レイヤが回路設計に ( もし役立つのであれば ) どの ように役立つのか考えます。まず、上記のシステム アーキテクチャ、周辺モジュール、ファームウェア ラ イブラリを念頭に置いて、CMSIS が以下によって我々 に何を提供すると主張しているのか明らかにします。 CMSIS バージョン 1.3 1. ファームウェア ライブラリ ユーザによる回路の実装と試作段階への速やかな移行 を支援するため、各 MCU メーカーは独自の周辺モ ジュール ファームウェア ライブラリを提供していま す。ファームウェア ライブラリは、チップの各要素 ( クロック、バス、周辺モジュール等 ) に割り当てられ たレジスタを設定するためのコードを提供します。こ れらのコードは MCU メーカー自身によって開発され、 アプリケーションに必要なパラメータの入力にユーザ が集中できるよう、各種レジスタを容易に設定するた めの関数コールを提供します。それらの関数は、ユー ザが入力したパラメータを適切なメモリ位置に書き込 みます。ファームウェア ライブラリが提供する関数を 使う事で、ユーザは全てのレジスタとそれらのアドレ スについて熟知しなくても、MCU を設定して動作さ せる事ができます。これにより、ユーザはアプリケー ションに固有の作業 ( アプリケーション向けアルゴリ ズムの開発等 ) に集中する事ができます。 2. Core Peripheral Access レイヤ : コアレジスタと 周辺モジュールにアクセスするための名前定義、 アドレス定義、ヘルパー関数を含みます。また、 デバッグ チャンネル定義を含む RTOS カーネル へのデバイス非依存インターフェイスも定義しま す 2。 これらのソフトウェア レイヤは、以下を使って半 導体パートナーにより拡張されます。 a) Device Peripheral Access レイヤ : 全てのデ バイス周辺モジュール向けの定義を提供し ます。 b) 周辺モジュール向けアクセス関数 ( オプショ ン ): 周辺モジュール向けの追加のヘルパー関 数を提供します 2。 以上を注意深く読み取ると、CMSIS は MCU の各種構 成要素を記述するための共通言語を提供するという事 がわかります。 次に、例として 2 つの異なる「半導体パートナー」(ARM Cortex-M プロセッサコアを使う MCUメーカー) の MCU が備えている一部の機能に注目します。 表 1: 機能 通信用周辺機能 ADC タイマ 内部クロック周波数(最大) RAM (最大) DS61164A_JP - p. 2 ベンダーA ベンダーB 5 X USART 4 X USART 3 X SPI Bus 3 X SPI/SSP Bus USB 2.0 OTG FS USB OTG 12ビット、1 Msps 12ビット、200 ksps 16ビット 72 MHz 32ビット 100 MHz 48 kB 64 kB 2016 Microchip Technology Inc. 32ビ ット マイクロコントローラのアプリケーション移植性 これら 2 つの 32 ビット MCU メーカーを比べただけで も、 マイクロコントローラが同じ Cortex-M3 コアを使っ ていても主要機能は互いに異なるという事がすぐにわ かります。しかも表に記載した機能はマイクロコント ローラの最も標準的な機能です。つまり、これらのメー カーは同じコアを使っているにも関わらず、最も基本 的なプログラム (I/O のトグル、UART の使用等 ) でさ え、移植するにはソフトウェアの調整が必要だという 事を意味します。ベンダー A とベンダー B の間でソフ トウェアを移植するには、これらの基本仕様を調整す るだけでも、ある程度のコードの書き換えが必要です。 ARM 社の定義に従えば、CMSIS はコアの各要素にア クセスするための標準化された言語を提供しますが、 半導体パートナーおよび MCU メーカーはデバイス周 辺モジュールとのインターフェイスのために独自の ファームウェアを提供する必要があります。全ての MCU において最も基本的な 2 つの機能は、(1) システ ム アーキテクチャが周辺モジュールと関係するため の方法と、(2) 要求される制御および / または機能を提 供するための MCU 周辺モジュールの構造を必要とし ます。これこそが、メーカーのファームウェア ライブ ラリが役立つ点であると共に、コード互換性に疑問が 生じる主要因でもあります。抽象化レイヤをこれらの ライブラリに追加する事は、それらの移植性の向上に 役立ちますが、2 つの MCU 間の機能的な違いを解決 するわけではありません。先進の周辺モジュール機能 は、抽象化レイヤがあろうとなかろうと、移植先の MCU がそれを備えていなければ、移植する事はでき ません。MCU メーカーによるこれらの拡張は、他社 製 MCU からの差別化を促進すると共に、ユーザによ る最適なソリューションの開発を助けます。しかし、 その結果としてコードの互換性が損なわれます。 詳細検討 抽象化レイヤの概念は、オペレーティング システムの 設計に関係します。抽象化レイヤは、OS が OS を実 行中のプロセッサにアクセスするための標準的な方法 を提供します。これにより、プロセッサの変更がより 容易になります。注意すべきは、 「プロセッサ」( マイ クロプロセッサ ユニット、MPU) とは最小限の内蔵シ ステム コンポーネントしか持たないコアであるとい う事です。このため、メーカー間の違いは MCU ほど 大きくありません。また、プロセッサ上で動作するの はソフトウェアであってファームウェアではありませ ん。つまり、コードは通常ハードウェアを制御しませ ん。他方、マイクロコントローラは SoC であり、コア と内蔵周辺モジュール間のリンクはプロセッサよりも 大幅に密接です。MCU の場合、抽象化レイヤの概念 は、RTOS を実行する場合に最も有用です。他方、 RTOS を使う場合、アプリケーション コードはハード ウェアから切り離されるため、マイクロコントローラ アプリケーションで通常用いられる厳格な制御は取り 除かれます。 2016 Microchip Technology Inc. アプリケーションが RTOS 上で動作する場合、アプリ ケーションはその RTOS をサポートする任意のマイク ロコントローラに移植できます。Micrium 社の µCOS II が動作する Cortex-M3 マイクロコントローラ上で開発 したコードは、MIPS M4K ベースのマイクロコント ローラに移植できます。なぜなら、移植先のプラット フォームでも µCOS II がサポートされるからです。ア プリケーションはハードウェアから切り離され、移植 先のデバイスが対応する機能を全て備えているなら ば、移植は比較的容易です。 RTOS を使わない場合、事情は異なります。既に説明 したように、各メーカーはコア、メモリ、周辺モジュー ルを独自の方法で統合します。これらの差違は、メー カーに依存しない 1 つの標準的な抽象化レイヤの実現 を非常に困難にします。また、それが容易になる事を メーカーが望んでいるかどうかは疑問です。 ほとんどのマイクロコントローラ アプリケーション では、コア上で動作するコードとハードウェア周辺モ ジュールの間の強い結び付きは必須です。事実、この 結び付きが、メーカーの異なる MCU 間を橋渡しする 標準的な抽象化レイヤの実現を非常に困難にしていま す。抽象化レイヤは、UART や SPI といった標準機能 には役立ちます。しかし、UART の場合、移植元のコー ドが 9 ビットモードの UART 向けファームウェア ラ イブラリ関数を使っており、移植先の MCU が 9 ビッ トモードの UART を備えていない ( つまり、それ用の ライブラリ関数が存在しない ) 場合、コードの書き換 えが必要です。さらに事を複雑にするのは、ほとんど の場合、MCU の価値を決定付けるのは標準機能では なく、独自の周辺モジュールだという事実です。なぜ なら、それらのモジュールによってユーザはより最適 なソリューションを開発できるからです。例えば、自 社の MCU がモータをより高精度かつ安全に制御でき れば、他社より優位に立つ事ができます。このために 専用ライブラリが使われ、結果として事が大幅に複雑 化します。 専用周辺モジュールとファームウェア ライブラリ 周辺モジュール ファームウェア ライブラリは、対応 するマイクロコントローラの全ての内蔵周辺モジュー ル ( 標準および専用モジュールを含む ) をサポートし ます。しかし、ユーザをより良くサポートするため、 一部のメーカーは特定のアプリケーション ( 例 : モー タ制御、グラフィック、ネットワーク接続等 ) 向けに 特化したファームウェア ライブラリも提供していま す。これらの特化したライブラリはメーカー独自の物 であり、多くの場合、メーカー間の移植を許さない知 的財産権を伴います。ほとんどの場合、問題となるア プリケーションは複雑であり、ユーザは全くの白紙状 態からアプリケーションを開発する事を望みません。 また、メーカーは周辺モジュールがサポートする特殊 な機能の全てをライブラリに組み込むのが一般的で す。これも、コードを大幅に変更する事なく他メーカー の MCU へ移植する事を困難にしています。 DS61164A_JP - p. 3 32ビ ット マイクロコントローラのアプリケーション移植性 移植性 マイクロコントローラの基本理念 本書の例では、ベンダー A および B のマイクロコント ローラはどちらも ARM Cortex-M3 コアを使い、CMSIS 対応ファームウェア ライブラリを備えています。これ により、例えばモータ制御ライブラリを互いに移植で きるのでしょうか。 最後に、マイクロコントローラの基本理念について考 えます。MCU は、日用品をプログラマブルにして柔 軟 性 を 高 め る た め に 開 発 さ れ ま し た。こ の 目 標 は CPU、不揮発性メモリ、周辺モジュール ( アナログお よびデジタル ) を一体化する事により達成されます。 コンピュータは高水準機能によって高い汎用性を有し ますが、マイクロコントローラはそのような高水準機 能を排除する事で、非常に小規模なハードウェアを最 大限に活用できます。MCU 固有の周辺モジュール構 造に特化したファームウェア ライブラリは、アプリ ケーション開発に要する時間と工数を大幅に削減しま す。既に述べたように、これらのライブラリに抽象化 レイヤを追加する事で開発プロセスが改善され、複数 プロジェクトにまたがるコードの再使用は容易になり ますが、コードサイズと性能の両面で代償を伴います。 抽象化レイヤを追加する事で、マイクロコントローラ はコンピュータに近付きます。これはある意味、マイ クロコントローラの基本理念を形作るマイクロコント ローラ本来の特質を損ないます。事実、CMSIS はアプ リケーションに対して特定の言語要件に従う事を要求 するため、開発プロセスが複雑化します。しかも、コー ドの互換性は保証されません。 実はそうではありません。これら 2 つのメーカーは、 周辺モジュールとファームウェアに対して全く異なる アプローチを採用しています。ベンダー A は、マイク ロコントローラ上の専用周辺モジュールが最も効率的 に使えるよう、自社開発のアルゴリズムを含んだ専用 ライブラリを使います。他方、ベンダー B はより汎用 的な周辺モジュールを使い、汎用的な周辺モジュール ライブラリを構築する事に努めています。そして、個々 のアプリケーションにはサンプルコードとアプリケー ション ノートで対応しています。 このようにアプローチが大きく異なるため、例えば モータ制御サブルーチンの移植は、これら 2 つの MCU が同じコアを使っていても非常に困難です。また、ラ イブラリ関数の名前も同じではありません。つまり、 ユーザはコード内のライブラリ関数コールを書き直す 必要があります。また、どの変数と値をその関数に渡 すのか考える必要があります。これでは厳密に移植性 があるとは言えません。 参考資料 結論 1 ユーザにとっての最終的な判断基準は、目的のコード がどの程度簡単かつ効率的に開発でき、そのコードが どの程度信頼できるかという事です。ベンダー A およ び B は、これらの目標に異なる方法でアプローチして います。ベンダー A は専用ハードウェアに基づくアプ ローチを採用し、ベンダー B は汎用ハードウェアをよ り重視したアプローチを採用しています。ベンダー A は、マイクロコントローラの機能を最大限に活用でき るよう、入念に開発した特定アプリケーション向けの ライブラリを提供しています。ベンダー B は基本的な 構成要素だけを提供し、ソリューションの構築はユー ザに任せます。 2 www.arm.com/products/processors/cortex-m/cortexmicrocontroller-software-interface-standard.php http://www.onarm.com/download/download395.asp 開発の速さと信頼性の面では、ベンダー A のアプロー チが優れています。なぜならアプリケーション開発の 大部分がメーカーによって行われ、検証済みのコード がファームウェア ライブラリに組み込まれているか らです。効率の面でもベンダーA が明らかに優位です。 なぜなら、ソフトウェアは自社のハードウェア向けに 特別に最適化されているからです。しかし、これらの 利点は CMSIS または移植性とは無関係です。メーカー の異なる MCU を比較する場合、抽象化レイヤを重視 するのではなく、目的の機能を実装する上でその MCU がどのように良好に使えるかという点を重視すべきで す。自社製マイクロコントローラ向けに専用ファーム ウェア ライブラリを開発しているメーカーは明らか に優位です。マイクロコントローラの選定において次 に注目すべき点は、提供されるアルゴリズムがどの程 度ニーズに適合しているかという事です。CMSIS のよ うな API は、2 者間のシームレスなインターフェイス を提供する事で例えば RTOS からハードウェアの複雑 さを隠蔽するには役立ちます。しかし、異なるメーカー 間のソフトウェアの移植性は全く保証されません。 DS61164A_JP - p. 4 2016 Microchip Technology Inc. Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください。 • Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。 • Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流 通している同種製品の中でも最も高度であると考えています。 • しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、 Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所 有権の侵害に該当する可能性が非常に高いと言えます。 • Microchip 社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。 • Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護 機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。 コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社 のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著 本書に記載されているデバイス アプリケーション等に関する 情報は、ユーザの便宜のためにのみ提供されているものであ り、更新によって無効とされる事があります。お客様のアプ リケーションが仕様を満たす事を保証する責任は、お客様に あります。Microchip 社は、明示的、暗黙的、書面、口頭、法 定のいずれであるかを問わず、本書に記載されている情報に 関して、状態、品質、性能、商品性、特定目的への適合性を は じ め と す る、い か な る 類 の 表 明 も 保 証 も 行 い ま せ ん。 Microchip 社は、本書の情報およびその使用に起因する一切の 責任を否認します。Microchip 社の明示的な書面による承認な しに、生命維持装置あるいは生命安全用途に Microchip 社の製 品を使用する事は全て購入者のリスクとし、また購入者はこ れによって発生したあらゆる損害、クレーム、訴訟、費用に 関して、Microchip 社は擁護され、免責され、損害をうけない 事に同意するものとします。暗黙的あるいは明示的を問わず、 Microchip社が知的財産権を保有しているライセンスは一切譲 渡されません。 商標 Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、 KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、 PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、 米 国お よ びそ の 他の 国 にお け る Microchip Technology Incorporated の登録商標です。 FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、 MTP、SEEVAL、Embedded Control Solutions Company は、 米国における Microchip Technology Incorporated の登録商標 です。 Silicon Storage Technology は、 その他の国における Microchip Technology Incorporated の登録商標です。 Analog-for-the-Digital Age、Application Maestro、BodyCom、 chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、 dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、 HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、 MPASM、MPF、MPLAB 認証ロゴ、MPLIB、MPLINK、mTouch、 Omniscient Code Generation、PICC、PICC-18、PICDEM、 PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、 SQI、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、 WiperLock、ZENA、Z-Scale は、米国およびその他の国におけ る Microchip Technology Incorporated の登録商標です。 SQTP は、米国における Microchip Technology Incorporated のサービスマークです。 GestICとULPPは、その他の国におけるMicrochip Technology Germany II GmbH & Co. & KG (Microchip Technology Incorporated の子会社 ) の登録商標です。 その他、本書に記載されている商標は各社に帰属します。 ©2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-63277-983-0 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == 2016 Microchip Technology Inc. Microchip 社では、Chandler および Tempe ( アリゾナ州 )、Gresham ( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォ ルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を 取得しています。Microchip 社の品質システム プロセスおよび手順は、 PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイ ス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、ア ナログ製品に採用されています。さらに、開発システムの設計と製造 に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得し ています。 DS61164A_JP - p. 5 各国の営業所とサービス 北米 アジア / 太平洋 アジア / 太平洋 ヨーロッパ 本社 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel:480-792-7200 Fax:480-792-7277 技術サポート : http://www.microchip.com/ support URL: www.microchip.com アジア太平洋支社 Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel:852-2943-5100 Fax:852-2401-3431 中国 - 厦門 Tel:86-592-2388138 Fax:86-592-2388130 オーストリア - ヴェルス Tel:43-7242-2244-39 中国 - 珠海 Tel:86-756-3210040 Fax:86-756-3210049 デンマーク - コペンハーゲン Tel:45-4450-2828 Fax:45-4485-2829 インド - バンガロール Tel:91-80-3090-4444 Fax:91-80-3090-4123 フランス - パリ Tel:33-1-69-53-63-20 Fax:33-1-69-30-90-79 アトランタ Duluth, GA Tel:678-957-9614 Fax:678-957-1455 中国 - 北京 Tel:86-10-8569-7000 Fax:86-10-8528-2104 インド - ニューデリー Tel:91-11-4160-8631 Fax:91-11-4160-8632 ドイツ - デュッセルドルフ Tel:49-2129-3766400 オーストラリア - シドニー Tel:61-2-9868-6733 Fax:61-2-9868-6755 オースティン (TX) Tel:512-257-3370 中国 - 成都 Tel:86-28-8665-5511 Fax:86-28-8665-7889 ボストン Westborough, MA Tel:774-760-0087 Fax:774-760-0088 中国 - 重慶 Tel:86-23-8980-9588 Fax:86-23-8980-9500 シカゴ Itasca, IL Tel:630-285-0071 Fax:630-285-0075 クリーブランド Independence, OH Tel:216-447-0464 Fax:216-447-0643 ダラス Addison, TX Tel:972-818-7423 Fax:972-818-2924 デトロイト Novi, MI Tel:248-848-4000 ヒューストン (TX) Tel:281-894-5983 インディアナポリス Noblesville, IN Tel:317-773-8323 Fax:317-773-5453 ロサンゼルス Mission Viejo, CA Tel:949-462-9523 Fax:949-462-9608 ニューヨーク (NY) Tel:631-435-6000 サンノゼ (CA) Tel:408-735-9110 カナダ - トロント Tel:905-673-0699 Fax:905-673-6509 中国 - 東莞 Tel:86-769-8702-9880 中国 - 杭州 Tel:86-571-8792-8115 Fax:86-571-8792-8116 Fax:43-7242-2244-393 ドイツ - ミュンヘン Tel:49-89-627-144-0 Fax:49-89-627-144-44 インド - プネ Tel:91-20-3019-1500 日本 - 大阪 Tel:81-6-6152-7160 Fax:81-6-6152-9310 ドイツ - プフォルツハイム Tel:49-7231-424750 イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781 日本 - 東京 Tel:81-3-6880- 3770 Fax:81-3-6880-3771 イタリア - ベニス Tel:39-049-7625286 韓国 - 大邱 Tel:82-53-744-4301 Fax:82-53-744-4302 オランダ - ドリューネン Tel:31-416-690399 Fax:31-416-690340 中国 - 香港 SAR Tel:852-2943-5100 Fax:852-2401-3431 韓国 - ソウル Tel:82-2-554-7200 Fax:82-2-558-5932 または 82-2-558-5934 中国 - 南京 Tel:86-25-8473-2460 Fax:86-25-8473-2470 マレーシア - クアラルンプール Tel:60-3-6201-9857 Fax:60-3-6201-9859 中国 - 青島 Tel:86-532-8502-7355 Fax:86-532-8502-7205 マレーシア - ペナン Tel:60-4-227-8870 Fax:60-4-227-4068 中国 - 上海 Tel:86-21-5407-5533 Fax:86-21-5407-5066 フィリピン - マニラ Tel:63-2-634-9065 Fax:63-2-634-9069 中国 - 瀋陽 Tel:86-24-2334-2829 Fax:86-24-2334-2393 シンガポール Tel:65-6334-8870 Fax:65-6334-8850 中国 - 深圳 Tel:86-755-8864-2200 Fax:86-755-8203-1760 台湾 - 新竹 Tel:886-3-5778-366 Fax:886-3-5770-955 中国 - 武漢 Tel:86-27-5980-5300 Fax:86-27-5980-5118 台湾 - 高雄 Tel:886-7-213-7828 中国 - 西安 Tel:86-29-8833-7252 Fax:86-29-8833-7256 ポーランド - ワルシャワ Tel:48-22-3325737 スペイン - マドリッド Tel:34-91-708-08-90 Fax:34-91-708-08-91 スウェーデン - ストックホルム Tel:46-8-5090-4654 イギリス - ウォーキンガム Tel:44-118-921-5800 Fax:44-118-921-5820 台湾 - 台北 Tel:886-2-2508-8600 Fax:886-2-2508-0102 タイ - バンコク Tel:66-2-694-1351 Fax:66-2-694-1350 01/27/15 DS61164A_JP - p. 6 2016 Microchip Technology Inc.