マイコンを使う時に頭を悩ませる要素の1つがI/Oポート、すなわちピンの割り振りだ。このピンの割り振りをうまく行わない限り、マイコンの機能を最大限引き出せない。さらに、多ピン化が進む中で、ますます複雑になっているピンの割り振りを支援するために利便性の高いツール「Pin and Code Wizard」が登場した。ここでは、ピンコンフィグレータであるPin and Code Wizarの使用方法などを紹介する。
本稿では、スパンション(Spansion)製のARM Cortex-Mコア搭載32ビット マイクロコントローラに対応したピンコンフィグレータ「Pin and Code Wizard」を紹介します。
マイコンにはさまざまな周辺機能(以下、ペリフェラル)があります。
限られたI/Oポート(以下、ピン)で複数のペリフェラルを同時に使用できるよう、同一機能の入出力が複数のピンに割り振られています(図1)。
どのピンにどのペリフェラルを割り当てるかを設定できる仕組みをポートリロケートといいます。ポートリロケートの設定により、ご使用のマイコンの機能を最大限に利用できます。
Pin and Code Wizardは、ポートリロケートの設定を支援し、かつ、ユーザーの開発効率を向上するツールです。
ポートリロケートは便利である反面、ピンの重複がないように確認しながら設定するのは容易ではありません。本ツールでは、使用したいペリフェラルやGPIOを指定すると、該当するピンへ重複がないように自動的にペリフェラルを割り当てます。なお、自動割り当て結果はカスタマイズもできます。
ピンにペリフェラルを割り当てた場合、該当するレジスタを初期化するコードを生成する必要があります。本ツールではこの初期化コードを自動的に生成します。
ピンの割り当てを変更するたびに初期化コードを書き直す必要はありません。
スパンションのARMコアマイコンはIARシステムズ社EWARMやARM社KEIL-μVisionなどの統合開発環境(IDE)に対応しています。本ツールではレジスタ初期化コードを含む、各IDEのプロジェクトファイルを生成します。
このツールを使用するために、新たなIDEを導入する必要はありません。
Pin and Code Wizardの操作の流れは以下の通りです。
ここからは実際の手順を画面イメージで説明します。
Pin and Code Wizardを起動し、画面中央の「新規作成」をクリックします。
前回の続きで本ツールを使用する場合は「開く」をクリックします。
「新規作成」を選択した場合、使用する「Family(ファミリ)」(図3の1)、「Series(シリーズ)」(図3の2)、「Product Name(型番)」(図3の3)をそれぞれ選択して「次へ」をクリックします。
選択した品種が持っているペリフェラルの中から、使用するものをチェックします(図4の1)。また、チェックしたペリフェラルの使用数も入力します(図4の5)。入力が終わったら「完了」ボタンをクリックします。
「3.」で選択したペリフェラルに重複があった場合、重複内容を通知するダイアログを表示します。
図5は、ADCを4つ、BaseTimer Mode2を2つ、BaseTimer Mode8を2つ、GPIOを4つ割り当てた状態で、さらにExternal Interruptを4つ割り当てようとしたときに表示されるダイアログです。
本ツールでは選択したペリフェラルが全て同時に割り当てられるよう、最適な割り当て方法を考慮しています。ただし、重複により選択したペリフェラル(の使用数)が割り当てられない場合、既に割り当てたペリフェラルと最後に選択したペリフェラルのどちらを優先するかを選択する必要があります。
図5では、最後に選択したExternal Interruptは4つのうち1つしか割り当てられないことを示しています。ここで1つのままでよい場合は「現在使用可能なチャネルだけ配置します」(図5の1)を選択し、「OK」ボタンをクリックします。
残り3つのExternal Interruptも設定したい場合は「以下で使用中のチャネルを解放し配置します」(図5の2)を選択し、既に割り当てたペリフェラル
のうち、どれかのチャネルを取消(解放)すれば、解放した数だけExternal Interruptを割り当てられます。
選択したペリフェラルに重複がない場合、メインウィンドウの左側に、ペリフェラルの割り当て結果が表示されます(図6)。
ここで、ピンの色はそれぞれ以下の意味を表しています。
つまり選択したペリフェラルは、緑色から黄色へ割り当ての変更ができることを示しています。
ペリフェラルを割り当てるピンを変更する場合、右のカスタマイズ専用ウィンドウで行います。
例えば黄色のPin16にGPIOを割り当てる場合
カスタマイズ専用ウィンドウのPin16に該当するGPIOの列にはPE3があるため、これをチェックします。
すると、Pin16が緑色に変わり、GPIOが割り当てられたことを示します。
既に割り当て済のPin25に別のペリフェラルを割り当てた場合、重複であることを赤色で表示します。
この場合はどちらかのチェックを外して、重複がない状態(=緑色)にします。
Pin and Code Wizardはピン割り当て結果に従った3つのファイルを出力します。
1.レポートファイル
ピン割り当て結果をCSV形式のレポートファイルとして出力します。
2.レジスタ初期化コード
ピン割り当て結果に伴う、レジスタの初期化コードを出力します。
ただし、ピン割り当て結果に重複がある場合はコードを出力できません。
3.プロジェクトファイル
「2.」を含むプロジェクトファイルを、選択したIDEごとに出力します。
対応するIDEはIARシステムズ社EWARMとARM社KEIL-μVisionです。
「2.」と同様に、ピン割り当て結果に重複がある場合はプロジェクトファイルを生成できません。
生成したプロジェクトファイルは各IDEで読み込むことができます。プロジェクトファイルには各IDEのデバッガを起動するための情報を含んでいるため、すぐにデバッグが開始できます。
Pin and Code Wizardは、専用Webページより無償でダウンロードできます。
その他、専用Webページには以下の情報を掲載しています。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:Spansion Inc.(スパンション)
アイティメディア営業企画/制作:EE Times Japan 編集部/掲載内容有効期限:2014年10月9日
大容量かつ機能安全適合が求められる車載環境に特化して設計されたSemper NORフラッシュが、次世代ADASシステムのさらなる進化に向けて東芝の先進運転支援システムViscontiファミリに採用。
12月9日13時(アメリカ東部時間)よりハンズオンワークショップを開催。超低電力かつ柔軟性と安全性を兼ね備えたPSoC 6 MCUの他、Modus 2.0とArm Mbedを用いてクラウド接続のIoTエッジノードの開発方法を解説します!
Modus Toolbox 2.0では、1つのプラットフォームでPSoC MCUとBLE、Wi-Fi、MeshなどCypressソリューションの設計が可能。MbedやFreeRTOSもサポートしており、GitHubでサンプルコードのダウンロードが可能
メインストリームおよびエントリーレベルのノートPC/デスクトップPC向けに、コスト効率に優れたシングルポートUSB-Cコントローラーを発表!従来のUSB Type-AポートからUSB Type-Cポートに移行する必要があるシステムに最適。
多くのHMIが容量センシング技術と誘導センシング技術に移行しています。サイプレスのCapSense容量センシングとMagSense誘導センシングを活用して、HMIアプリケーションの設計方法を解説します。ぜひご参加ください。
弊社の販売代理店よりサンプル品をオーダーすることが可能です。上記サイトより、ご希望の代理店を選択してください。
PSoCやCapSence、USBコントローラーなど、Cypress製品を使ったデザイン設計が可能なソフトウェアおよびドライバーを無償でダウンロードいただけます。
Cypress製品のあらゆるドキュメントをダウンロード可能なサイプレス ドキュメント マネージャー (CDM) を提供しています。CDMソフトウェアは上記よりダウンロードが可能です。