サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド Doc. No. 002-16854 Rev ** Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): +1 408.943.2600 www.cypress.com Copyrights © Cypress Semiconductor Corporation, 2016. 本書面は、Cypress Semiconductor Corporation 及び Spansion LLC を含むそ の子会社(以下、「Cypress」という。)に帰属する財産である。本書面(本書面に含まれ又は言及されているあらゆるソフトウェア又 はファームウェア(以下、「本ソフトウェア」という。)を含む)は、アメリカ合衆国及び世界のその他の国における知的財産法令及び 条約に基づき、Cypress が所有する。Cypress はこれらの法令及び条約に基づく全ての権利を留保し、また、本段落で特に記載さ れているものを除き、Cypress の特許権、著作権、商標権又はその他の知的財産権のライセンスを一切許諾していない。本ソフト ウェアにライセンス契約書が伴っておらず、かつ、あなたが Cypress との間で別途本ソフトウェアの使用方法を定める書面による 合意をしていない場合、Cypress は、あなたに対して、(1)本ソフトウェアの著作権に基づき、(a)ソースコード形式で提供されてい る本ソフトウェアについて、Cypress ハードウェア製品と共に用いるためにのみ、組織内部でのみ、本ソフトウェアの修正及び複製 を行うこと、並びに(b)Cypress のハードウェア製品ユニットに用いるためにのみ、(直接又は再販売者及び販売代理店を介して間 接のいずれかで)エンドユーザーに対して、バイナリーコード形式で本ソフトウェアを外部に配布すること、並びに(2)本ソフトウェア (Cypress により提供され、修正がなされていないもの)に抵触する Cypress の特許権のクレームに基づき、Cypress ハードウェ ア製品と共に用いるためにのみ、本ソフトウェアの作成、利用、配布及び輸入を行うことについての非独占的で譲渡不能な一身専 属的ライセンス(サブライセンスの権利を除く)を付与する。本ソフトウェアのその他の使用、複製、修正、変換又はコンパイルを禁 止する。 適用される法律により許される範囲内で、Cypress は、本書面又はいかなる本ソフトウェアに関しても、明示又は黙示をとわず、い かなる保証(商品性及び特定の目的への適合性の黙示の保証を含むがこれらに限られない)も行わない。適用される法律により 許される範囲内で、Cypress は、別途通知することなく、本書面を変更する権利を留保する。Cypress は、本書面に記載のあるい かなる製品又は回路の適用又は使用から生じる一切の責任を負わない。本書面で提供されたあらゆる情報(あらゆるサンプルデ ザイン情報又はプログラムコードを含む)は、参照目的のためのみに提供されたものである。この情報で構成するあらゆるアプリケ ーション及びその結果としてのあらゆる製品の機能性及び安全性を適切に設計し、プログラムし、かつテストすることは、本書面の ユーザーの責任において行われるものとする。Cypress 製品は、兵器、兵器システム、原子力施設、生命維持装置若しくは生命 維持システム、蘇生用の設備及び外科的移植を含むその他の医療機器若しくは医療システム、汚染管理若しくは有害物質管理 の運用のために設計され若しくは意図されたシステムの重要な構成部分として用いるため、又はシステムの不具合が人身傷害、 死亡若しくは物的損害を生じさせることになるその他の使用(以下、「本目的外使用」という。)のためには、設計、意図又は承認さ れていない。重要な構成部分とは、装置又はシステムのその構成部分の不具合が、その装置若しくはシステムの不具合を生じさ せるか又はその安全性若しくは実効性に影響すると合理的に予想できる、機器又はシステムのあらゆる構成部分をいう。Cypress 製品のあらゆる本目的外使用から生じ、若しくは本目的外使用に関連するいかなる請求、損害又はその他の責任についても、 Cypress はその全部又は一部をとわず一切の責任を負わず、かつ、あなたは Cypress をそれら一切から免除するものとし、本書 により免除する。あなたは、Cypress 製品の本目的外使用から生じ又は本目的外使用に関連するあらゆる請求、費用、損害及び その他の責任(人身傷害又は死亡に基づく請求を含む)から Cypress を免責補償する。 Cypress、Cypress のロゴ、Spansion、Spansion のロゴ及びこれらの組み合わせ、WICED、PSoC、CapsSense、EZ-USB、FRAM、及び Traveo は、米国及びその他の国における Cypress の商標又は登録商標である。Cypress の商標のより完全なリスト は、cypress.com を参照のこと。その他の名称及びブランドは、それぞれの権利者の財産として権利主張がなされている可能性 がある。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 2 目次 1. はじめに ........................................................................................................................................................................... 4 2. ペリフェラル ドライバ ライブラリの概要 ............................................................................................................................... 5 3. 4. A. 2.1 PDL v2.0 からの変更点 .......................................................................................................................................... 6 2.2 PDL の入手とインストール....................................................................................................................................... 6 2.3 PDL の構成 ............................................................................................................................................................ 7 2.4 PDL を使用したコード例 .......................................................................................................................................... 7 PDL プロジェクトのビルドと実行 ........................................................................................................................................ 8 3.1 始める前に ............................................................................................................................................................. 8 3.2 IAR Embedded Workbench でビルドする ............................................................................................................. 11 3.3 Keil µVision でビルドする ...................................................................................................................................... 13 3.4 iSYSTEM WinIDEA でビルドする .......................................................................................................................... 14 3.5 Atollic TrueSTUDIO でビルドする ......................................................................................................................... 16 3.6 GCC ARM Embedded Tools でビルドする ............................................................................................................ 19 3.7 トラブルシューティング ........................................................................................................................................... 21 PDL を使ったコード開発.................................................................................................................................................. 22 4.1 カスタムプロジェクトを作成する .............................................................................................................................. 22 4.2 PDL を設定する .................................................................................................................................................... 23 4.3 ペリフェラルを設定する .......................................................................................................................................... 24 4.4 ペリフェラルを使う ................................................................................................................................................. 25 4.5 レジスタを使う ....................................................................................................................................................... 25 4.6 ピンを操作する ..................................................................................................................................................... 26 4.7 PDL を使って低水準プログラミングを学ぶ .............................................................................................................. 27 4.8 PDL のドキュメント ................................................................................................................................................ 28 4.9 命名規則 .............................................................................................................................................................. 29 PDL 関連リソース ........................................................................................................................................................... 30 改版履歴................................................................................................................................................................................. 31 ドキュメント改版履歴 ....................................................................................................................................................... 31 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 3 1. はじめに サイプレスが提供するペリフェラル ドライバ ライブラリ(PDL) v2.1 は、FM0+および FM4 MCU 製品におけるソフトウェア開 発を簡単にします。また、PDL v2.0 は FM3 製品に対応します。 初めに、使いたい機能にライブラリを設定します。続いて、API 呼び出しを通じてペリフェラルを初期化し、使用します。PDL は、カスタム ドライバの開発をできるようにも設計されています。また、PDL を使うことによって、ある製品から他の製品へ のコードの移行を容易にし、同じコードで複数の FM 製品に対応できます。 PDL は、レジスタの使い方やビットの構造を理解する手間を省き、FM 製品の様々なペリフェラルを扱うソフトウェアの開発 を簡単にします。レジスタレベルでコードを開発する場合、各々のペリフェラルがレジスタやピンをどのように使い、ペリフェ ラルを正しく制御するためにどのような値をビットに設定するかを理解しなければならず、直接レジスタの値を変更するコー ドを作らなければなりません。PDL では、そのような必要はありません。 一方、レジスタレベルで扱いたい開発者も、PDL のソースコードを参考として使えます。適切なデータシートやペリフェラル マニュアルと読み合わせることにより、独自のドライバを開発しペリフェラルを使用するために必要な情報を学習できます。 このドキュメントでは、PDL v2.1 の特徴と機能について説明します。また、2.0 版からの主な変更点についても言及します。 PDL v2.0 を使う場合、v2.0 版のクイックスタートガイドを参照してください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 4 2. ペリフェラル ドライバ ライブラリの概要 PDL は、ペリフェラルドライバを設定し、初期化し、使用するためのハイレベル API を提供します。また、ペリフェラルの使い方を実 演するコード例も提供します。PDL には、対応する各デバイスに必要なスタートアップコードが含まれています。PDL v2.1 は、 FM0+と FM4 製品の全てのデバイスに対応しています。FM3 製品については、PDL v2.0 をお使いください。 表 2-1 に PDL が対応するペリフェラルを紹介します。 表 2-1. PDL の対応ペリフェラル ペリフェラル 説明 ペリフェラル 説明 ADC アナログデジタルコンバータ I2S インターIC サウンド (I2S) バス BT ベースタイマ ICC IC カードインタフェース CAN コントローラエリアネットワーク LCD 液晶ディスプレイ CLK クロック機能 LPM 低消費電力モード CR CR 発振器トリミング LVD 定電圧検出 CRC 巡回冗長検査 MFS マルチファンクションシリアルインタフェース CSV クロック監視機能 MFT マルチファンクションタイマ DAC デジタルアナログコンバータ PCRC プログラマブル CRC DMA ダイレクトメモリアクセス PPG プログラマブルパルス発生器 DSTC ディスクリプタシステムデータ転送コントローラ QPRC クアッド位置/回転カウンタ DT デュアルタイマ RC リモートコントロール (HDMI-CEC/リモートコントロール受信/送信) EXINT 外部割込み RESET リセット EXTIF 外部バスインタフェース RTC リアルタイムクロック Flash フラッシュメモリ SDIF SD カードインタフェース GPIO 汎用 I/O ポート UID ユニーク ID HBIF ハイパーバスインタフェース VBAT VBAT ドメイン HSSPI 高速シリアルペリフェラルインタフェース WC 時計カウンタ I2CS インターIC (I2C) スレーブ WDG ソフトウェア/ハードウェアウォッチドッグカウンタ PDL は、対応するすべてのデバイスの全てのドライバをビルドするために必要な全てのコードの集合体です。集合体とは以下を意 味します。 ペリフェラルを初期化し、設定し、使用するために必要なすべての API を利用できること PDL は、選択したデバイスが対象のペリフェラルを持っているかどうかを確認するエラーチェックができること 集合体として設計された PDL は、様々なペリフェラルを持つ全てのデバイスで利用できます。これにより、同じペリフェラルを持つ 異なるプラットフォーム間でコードの互換性を保てます。もし、ハードウェア上で使用できないペリフェラルを含む PDL を設定しよう とすると、そのプロジェクトは実行時ではなくコンパイル時にエラーになります。PDL の設定ロジックは、ターゲットのマイコンを知っ ており、対応していないペリフェラルのレジスタヘッダファイルをビルドから除外します。 ペリフェラルを使うコードを書く前に、対象シリーズやデバイスのデータシートを参照し、対応するペリフェラルを確認してください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 5 ペリフェラル ドライバ ライブラリの概要 2.1 PDL v2.0 からの変更点 表 2-2 は、主な変更/改善点のリストです。 表 2-2. PDL の変更点 項目 対応製品群 PDL v2.0 FM0+, FM3, FM4 ペリフェラル コード例 PDL v2.1 FM0+, FM4 I2SL を削除 (I2S に同じ機能有り) IDE ごとに 1 つのプロジェクトファイル IDE ごとおよびコード例ごとに 1 つのプロジェクトファイル マイコンごとに再設定が必要 低水準 デバイスパッケージごとおよび IDE ごとに設定済みのプ ロジェクトファイル (PDL ファイルは含まない) プログラミング 対応 IDE IAR Embedded Workbench 7.5 Keil µVision v 4.7 ドキュメント IAR Embedded Workbench 7.50.3 Keil µVision v 5.18 iSYSTEM winIDEA v9.12 Atollic TrueSTUDIO v5.5.2 GCC メイクファイル ペリフェラルごとに概要と設定情報を収録 拡張されたナビゲーションメニューにより、#defines 定義, 列挙型, 構造体, 関数等に直接アクセス可能 対応デバイス モノリシック シリーズやパッケージに PDL を設定する ために#ifdef を使用 pdl_device.h シリーズ, パッケージの指定に必要 CMSIS v4.5 を使用した、デバイスパッケージごとの専用 デバイスヘッダファイルとスタートアップコード 不要 PDL v2.1 は、現在 FM3 製品に対応していないことにご注意ください。FM3 を対象とする開発者は、PDL2.0.x をご利用ください。 2.2 PDL の入手とインストール サイプレスの FM0+および FM4 のスターターキットの多くは、PDL をインストールします。個々の製品については、PDL 関連リソ ースの章をご覧ください。旧バージョンの PDL をインストールするキットでは、旧バージョンをお使いください。 PDL をインストールしないキットの場合、または最新バージョンをインストールする場合は、製品ページ Cypress PDL から PDL の インストーラをダウンロードできます。 PDL プロジェクトのビルドと実行の章で、PDL のコード例を使用して、PDL プロジェクトのビルドとデバッグの手順を説明します。 PDL を使ったコード開発の章では、PDL のプログラミングの基礎を紹介します。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 6 ペリフェラル ドライバ ライブラリの概要 2.3 PDL の構成 PDL は、いくつかのフォルダで構成されています。表 2-3 に、PDL のフォルダ構造を示します。 表 2-3. PDL のフォルダ構造 パス\フォルダ cmsis 説明 CMSIS spec v4.5 のヘッダファイル デバイスパッケージごと: 共通のヘッダファイル devices IDE ごとに設定, スタートアップおよびプロジェクトファイル doc PDL のドキュメント driver ドライバソースコードおよびヘッダファイル examples 対応スターターキットごとに各ペリフェラルのコード例 utilities 様々なユーティリティファイル PDL を使う場合、通常は、pdl_user.h と main.c.のみを変更します。 2.4 PDL を使用したコード例 PDL をインストールすると、いくつかのスターターキット向けのコード例もインストールされます。コード例は、examples フォルダに 収録されています。 各コード例は、ペリフェラルの基本的な初期化と設定を行います。いくつかのペリフェラルについては、複数のコード例がある場合 があります。 コード例を使うには、使いたい IDE 用のプロジェクトファイルをダブルクリックします。PDL プロジェクトのビルドと実行の章で、PDL のコード例を使って、PDL プロジェクトをビルドする手順を説明します。 PDL を使ったコード開発 の章では、PDL のプログラミングの基礎を紹介します。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 7 3. PDL プロジェクトのビルドと実行 この章では、PDL プロジェクトの例をビルドし実行します。ここでは、対応する IDE で PDL が使えることを確認します。事前に必 要な全てのものをインストールし、使用できる状態にしてください。この章では、PDL の使い方については触れません。 カスタムプロジェクトの作り方や、PDL を設定し使用する方法についての情報は、PDL を使ったコード開発の章を参照してください。 特に、PDL の使い方や PDL の API 関数の詳細を調べるための技術文書ついては、PDL のドキュメントを参照してください。 各コード例には、対応する IDE それぞれのプロジェクトファイルが含まれています。それらのプロジェクトファイルは、特定の IDE, コード例, ボード用に設定済みです。 3.1 始める前に 以下の 3 項目を持っていることを確認してください。 コードを実行するためのハードウェア PDL 開発環境 コンピュータにボードを接続してください。 ハードウェア PDLv2.1 は、FM0+および FM4 マイコン製品に対応しています。ここで紹介する手順は、図 3-1 の FM4 S6E2GM-Series MCU Pioneer Kit か、図 3-2 の FM0+ S6E1B8-Series Starter Kit を使用します。 他のキットや自身のハードウェアを使用する場合は、ここで紹介する手順を対象ハードウェアに適宜置き換えてください。 PDL v2.1 PDL がインストールされていない場合は、PDL の入手とインストールを参照してください。 開発環境 いずれかの開発環境がインストールされていることをご確認ください。PDL v2.1 では、以下のプロジェクトファイルを提供します。 IAR Embedded Workbench v7.50.3 Keil µVision IDE v5.18 iSYSTEM winIDEA v9.12 Atollic TrueSTUDIO v5.5.2 GNU ARM Embedded tools コンピュータとボードの接続 細かい部分は使用するハードウェアによって異なります。ここで紹介するキットはそれぞれ 2 つのコネクタを持っています。 S6E2GM Starter Kit では CN2 (図 3-1)を使います。 S6E1B8 Starter Kit では CN3 (図 3-2)を使います。それらは、ボードの角 付近にあります。キット同梱のケーブルを使い、ボードとコンピュータを接続してください。 適切に接続されると、ボード上の LED3 Power がグリーンに点灯します。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 8 PDL プロジェクトのビルドと実行 以降の章 (IDE ごとに 1 章) で、bt_pwm コード例を使い、プロジェクトファイルを開き、コードをビルドし、デバッガにダウンロードす る一連の操作を行います。このコード例は、PDL を使い、ベースタイマ (BT) を初期化/使用し、PWM を生成します。このコードは、 PWM を使ってボード上の RGB LED を点滅させます。 このコード例は、FM4 S6E2GM と FM0+ S6E1B8 のどちらのキットでも動作します。違いはプロジェクトファイルのパスです。 コード例が PDL のタイマ機能を有効にする方法を知るには、ソースコードを参照するか、PDL を設定する の章をご覧ください。 問題が発生したときは、トラブルシューティングの章を参照してください。よくある問題と解決法を紹介しています。 図 3-1. The S6E2GM-Series Pioneer Kit Board サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 9 PDL プロジェクトのビルドと実行 図 3-2. The S6E1B8-series Starter Kit Board サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 10 PDL プロジェクトのビルドと実行 3.2 IAR Embedded Workbench でビルドする 以下の手順では、ユーザが IAR のツールに使い慣れていると仮定します。 1. ワークスペースファイルを開く S6E2GM キットでのファイルのパス: <PDL directory>\examples\sk_s6e2gm\bt\bt_pwm\iar\ S6E1B8 キットでのファイルのパス: <PDL directory>\examples\sk_s6e1b8\bt\bt_pwm\iar\ IAR ワークスペースファイルをダブルクリックします: bt_pwm.eww. プロジェクトが開きます。 図 3-3. ワークスペースファイルを開く Debug ビルドを選択してください。このビルドは、デバッグ情報を生成します。必要に応じて変更してください。 図 3-4. デバッグターゲットの使用 2. コードのダウンロードとデバッガの起動 Project > Download & Debug を選択してください。IDE は、コードを、コンパイルおよびリンクした後、ボードにダウンロー ドし、デバッガを起動します。 図 3-5 に示すようなアラートが現れるかもしれません。この場合は、OK をクリックしてメモリ構成を開いてください。再度 OK をクリックし、メモリ構成を閉じます。 図 3-5. メモリ構成のアラート サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 11 PDL プロジェクトのビルドと実行 ダウンロードが完了すると、プログラムカウンタは、main()の最初の行で停止します。 図 3-6. main() 関数でデバッガが停止 3. コードの実行と、結果の確認 IAR ツールで、Debug > Go を選択してください。RGB LED がゆっくり点滅します。 おめでとうございます! 簡単な PDL ベースの組込みアプリケーションのビルドと実行に成功しました。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 12 PDL プロジェクトのビルドと実行 3.3 Keil µVision でビルドする 以下の手順では、ユーザが µVision ツールに使い慣れていると仮定します。 1. プロジェクトファイルを開く S6E2GM キットでのファイルのパス: <PDL directory>\examples\sk_s6e2gm\bt\bt_pwm\mdk\ S6E1B8 キットでのファイルのパス: <PDL directory>\examples\sk_s6e1b8\bt\bt_pwm\mdk\ µVision のプロジェクトファイルをダブルクリックします: bt_pwm.uvprojx プロジェクトファイルが開きます。 図 3-7. プロジェクトファイルを開く Debug ビルドを選択してください。このビルドは、デバッグ情報を生成します。必要に応じて変更してください。 図 3-8. デバッグターゲットの使用 2. コードのコンパイル Project > Build Target を選択してください。IDE は、コードをコンパイルおよびリンクします。 3. コードのダウンロードとデバッガの起動 Debug > Start/Stop Debug Session を選択してください。IDE は、コードをダウンロードし、デバッガを起動します。ダウン ロードが完了すると、プログラムカウンタは、main()の最初の行で停止します。 図 3-9. main() 関数でデバッガが停止 4. コードの実行と結果の確認 µVision ツールで、Debug > Run を選択してください。RGB LED がゆっくり点滅します。 おめでとうございます! 簡単な PDL ベースの組込みアプリケーションのビルドと実行に成功しました。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 13 PDL プロジェクトのビルドと実行 3.4 iSYSTEM WinIDEA でビルドする 以下の手順では、ユーザが WinIDEA ツールに使い慣れていると仮定します。 1. ワークスペースファイルを開く S6E2GM キットでのファイルのパス: <PDL directory>\examples\sk_s6e2gm\bt\bt_pwm\isystem\ S6E1B8 キットでのファイルのパス: <PDL directory>\examples\sk_s6e1b8\bt\bt_pwm\isystem\ iSYSTEM ワークスペースファイルをダブルクリックします: bt_pwm.xjrf プロジェクトファイルが開きます。 図 3-10. ワークスペースファイルを開く Debug ビルドを選択してください。このビルドは、デバッグ情報を生成します。必要に応じて Project > Targets で変更して ください。 注意: Debug ビルドでは RAM にダウンロードするので、プロジェクトは初期化スクリプトを使い、Vector Table Offset Register (VTOR), プログラムカウンタ, スタックポインタを設定します。Debug ビルドを使う場合は何もする必要ありません が、Release ビルド(フラッシュにダウンロード)を使う場合、Initialization を none に設定する必要があります。この設定を 行うには、Hardware > Emulation Options > Initialization After Download を使用してください。 図 3-11. Debug ビルドの初期化オプション設定 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 14 PDL プロジェクトのビルドと実行 2. コードのコンパイル Project > Make を選択し、アプリケーションをビルドします。ワーニングおよびエラーなくコンパイルされます。 3. コードのダウンロードとデバッガの起動 Debug > Download を選択します。IDE は、コードをダウンロードし、デバッガを起動します。ダウンロードが完了すると、プ ログラムカウンタが main()の最初の行で停止します。 図 3-12. main() 関数でデバッガが停止 4. コードの実行と結果の確認 WinIDEA ツールで、Debug > Run Control > Run を選択してください。RGB LED がゆっくり点滅します。 おめでとうございます! 簡単な PDL ベースの組込みアプリケーションのビルドと実行に成功しました。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 15 PDL プロジェクトのビルドと実行 3.5 Atollic TrueSTUDIO でビルドする 以下の手順では、ユーザが TrueSTUDIO ツールに使い慣れていると仮定します。 Atollic ツールは、サードパーティ製のデバッガツールを使用します。FM マイコン製品への対応状況は、デバッガツールごとに異な ります。例えば、Segger J-LINK は、現在 S6E2GM マイコンに対応していません。以下の手順では、この問題の対策にも触れま す。 1. プロジェクトファイルをワークスペースにインポートする A. TrueSTUDIO を起動し、使用するワークスペースを選択してください。 File > Import を使用し、インポートダイアログを開きます。General を開き、Existing Projects into Workspace を 選択してください。 Next をクリックします。 図 3-13. プロジェクトファイルのインポート B. ブラウザで、プロジェクトファイルがあるフォルダの位置を指定します。 S6E2GM キットでのファイルのパス: <PDL directory>\examples\sk_s6e2gm\bt\bt_pwm\atollic\ S6E1B8 キットでのファイルのパス: <PDL directory>\examples\sk_s6e1b8\bt\bt_pwm\atollic\ Finish をクリックすると、プロジェクトファイルが開きます。 図 3-14. TrueStudio のコード例プロジェクト C. Debug ビルドが有効であることを確認してください。 Debug ビルドは、シンボル情報を生成するように設定されています。必要に応じて、 Project > Manage Build Configurations を使って変更してください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 16 PDL プロジェクトのビルドと実行 2. コードのコンパイル Project > Build Project を選択し、アプリケーションをビルドします。ワーニングおよびエラーなくコンパイルされます。 3. デバッガの選択 SEGGER J-LINK のようないくつかのデバッガは、最新の FM マイコン製品のプログラミングに対応していません。この場合、 他のツールを用いてフラッシュに書き込まなければなりません。該当する場合、次のステップ 5 に進んでください。 FM マイコンに対応したデバッガをお持ちの場合、Run > Debug Configurations を選択してください。Embedded C/C++ Application カテゴリを開き、Debug ビルドを選択します。 Debugger タブを選択し、使用するデバッガに合わせて設定を変更してください。 図 3-15. デバッガの選択 Debug をクリックします。IDE は、コードをダウンロードしデバッガを起動します。ダウンロードが完了すると、プログラムカウ ンタが main()の最初の行で停止します。 4. コードの実行と結果の確認 TrueSTUDIO ツールで、Resume ボタンをクリックしてください。RGB LED がゆっくり点滅します。 図 3-16. Resume ボタンをクリックしコードを実行 5. 手動で実行ファイルをボードにダウンロードする TrueSTUDIO で FM マイコンのフラッシュ書込みに対応していないデバッガを使う場合、スタンドアロンフラッシュプログラマ を使って、手動でボードに実行ファイルを書き込めます。 サイプレスは、FM 製品デバイス向けのスタンドアロンフラッシュプログラマツールを提供しています。 FLASH MCU Programmer for FM0+/FM3/FM4 FLASH USB Direct Programmer 使い方については以下のアプリケーションノートを参照してください。 AN211122: Getting Started with FM4 Development AN210985: Getting Started with FM0+ Development サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 17 PDL プロジェクトのビルドと実行 これらのツールは、Motorola S-Record 形式および Intel-HEX 形式の実行ファイルに対応しています。TrueSTUDIO ツー ルを設定し、どちらかの形式の実行ファイルを生成するようにします。以下を開いてください。 Project > Build Settings > C/C++ Build > Settings >Tool Settings > Other > Output Format. Convert build output オプションを有効にし、生成したい出力形式を指定してください。 . 図 3-17. 出力形式の指定 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 18 PDL プロジェクトのビルドと実行 3.6 GCC ARM Embedded Tools でビルドする 以下の手順では、ユーザが GCC ARM Embedded ツールに使い慣れていると仮定します。 GCC ARM Embedded ツールは、様々なオペレーティングシステムと様々なサードパーティ製ツールと合わせて使用できます。こ こでは、Windows オペレーティングシステムで Minimalist GNU for Windows (MinGW)ツールを使用します。 1. 環境変数の設定 メイクファイルでは、ARMGCC_DIR という環境変数が必要です。 TOOLSDIR = "$(ARMGCC_DIR)" この環境変数には、GCC ARM Embedded ツールへのパスが設定されている必要があります。環境変数の作成方法は以 下の通りです。 A. 環境変数ウィンドウを開く Computer を右クリックし、Properties を選択します。 Advanced system properties をクリックします。 Environment Variables ボタンをクリックします。 環境変数ダイアログウィンドウが開きます。 B. 新しい環境変数を作成する New ボタンをクリックします。 Variable name に ARMGCC_DIR を指定します。Variable value に GCC ARM Embedded ツールのパスを指定し てください。例: C:\Program Files (x86)\GNU Tools ARM Embedded\5.4 2016q2\bin. C. ダイアログウィンドウを閉じる OK をクリックして開かれたダイアログウィンドウをすべて閉じます。 図 3-18. 環境変数の作成 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 19 PDL プロジェクトのビルドと実行 2. コード例の make.bat を実行する S6E2GM キットでのファイルのパス: <PDL directory>\examples\sk_s6e2gm\bt\bt_pwm\armgcc\ S6E1B8 キットでのファイルのパス: <PDL directory>\examples\sk_s6e1b8\bt\bt_pwm\rmgcc\ make.bat ファイルをダブルクリックします。 コマンドラインツールが開き、コンパイルおよびリンクし実行ファイルを作成します。メイクファイルは、実行ファイルとして elf 形式と srec 形式の両方を生成します。 3. ボードに実行ファイルをダウンロードする フラッシュプログラマを使い、実行ファイルをボードにダウンロードします。使用するファイル形式, ボードとの接続方法, ボー ドへの書込み方法などの詳細については、使用するツールにより異なります。 サイプレスは、FM 製品デバイス向けのスタンドアロンフラッシュプログラマツールを提供します。このツールは、Motorola SRecord 形式および Intel-HEX 形式のどちらにも対応しています。 FLASH MCU Programmer for FM0+/FM3/FM4 FLASH USB Direct Programmer ツールの使い方については、以下のアプリケーションノートを参照してください。 4. AN211122: Getting Started with FM4 Development AN210985: Getting Started with FM0+ Development コードの実行 メイクファイルは、デバッグ情報を生成するように設定されています。 COMPILER_OPTIONS = -g -ggdb -Os -Wall -fno-strict-aliasing コードをデバッグしたい場合、デバッガと使ってボード上の実行ファイルと接続してください。あるいは、elf または srec ファイ ルをボードに書き込むデバッガを使い、実行を開始してください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 20 PDL プロジェクトのビルドと実行 3.7 トラブルシューティング コード例をビルドし実行する際には、様々な問題が発生する場合があります。この章では、よくある問題とその対策を紹介します。 ここでは、ユーザがビルド環境に使い慣れており、ツールに必要なパスや環境変数などは、適切に設定されていると仮定します。 プロジェクトが開かない 使おうとしているツールのバージョンが対応していることを確認してください。 IDE を先に起動し、その IDE からプロジェクトファイルやワークスペースを開いてみてください。 ボードの電源が入らない USB ケーブルがボードの正しいコネクタに接続されているか確認してください。 ボード上のジャンパ設定を確認してください。 別の USB ケーブルをお試しください。 ボードに接続できない (COM ポートが動作しない) USB ケーブルがボードの正しいコネクタに接続されているか確認してください。 ボード上のジャンパ設定を確認してください。 複数の IDE が開き、すでにボードと接続されていないか確認してください。(例:他のコード例を試したなど) ターミナルプログラムが開いていないか確認してください。(COM ポートの使用権を占有している場合など) PC から USB ケーブルを抜き、再度接続してみてください。 PC の他の USB コネクタにケーブルを接続してみてください。 デバイスマネージャで、ボードの COM ポートが認識されていることを確認してください。 コード例のデフォルト設定と異なるデバッガを使う場合、デバッグオプションが正しいことを確認してください。 上記で解決しない場合、PC を再起動して Windows OS で起こりうる COM ポートの衝突を解消してください。 main()の最初の行で実行が停止しない Debug を使っていることを確認してください。 (Release ビルドでは通常デバッグ情報を生成しません。また、最適化 が有効のため、行単位でのデバッグができない場合があります。) 使用する環境のデバッグオプションが、main()の先頭行まで実行する設定になっているか確認してください。 IDE のデバッグオプションが、使用するデバッガ用に正しく設定されているか確認してください。コード例のプロジェク トは、CMSIS-DAP を使用する設定になっています。 コンパイルエラーが発生する (例: file not found) IDE プロジェクトは、PDL のデフォルトフォルダ構造に基づいてソースファイルへのパスを保持しています。問題を避けるために、 PDL は、コード例においても PDL の一部であるとし、必要なすべてのものが一揃いの自己完結型のインストールになっています。 ファイルを移動したり、スターターキットのコード例を PDL に移動したりすると、プロジェクトが壊れる可能性があります。 PDL のフォルダやファイルを移動してしまった場合、 ファイルやフォルダを元の位置に戻してください。 元のフォルダ構成を復元するために、PDL を再インストールしてください。 スターターキットのコード例を使う場合、 スターターキット自身の中で使用してください。 (PDL と同様、スターターキットも自己完結型です。各キットは PDL のコピーを既知の場所にインストールします。) スターターキットのインストール先のコード例のプロジェクトファイルをダブルクリックしてください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 21 4. PDL を使ったコード開発 4.1 カスタムプロジェクトを作成する PDL のコード例は、スターターキットで使われているマイコン向けに設定されています。ここでは、異なるマイコンを対象としてプロ ジェクトを作成します。 デバイス固有のファイルは、<PDL directory>\devices\ フォルダにあります。図 4-1 に示す S6E2HGxG の例のように、使いたい デバイスの位置を開いてください。 図 4-1. デバイス固有ファイルの位置 common フォルダには、デバイスに固有のシステムファイルとヘッダファイルがあります。 projects フォルダは、各 IDE 向けに用意された IDE 固有のファイルがあります。リンカ設定ファイルやフラッシュ書込み用のファ イルなども含まれます。また、空の main.c ファイルも収録されています。projects フォルダ内の各 IDE フォルダにプロジェクトファ イルがあります。各プロジェクトファイルは、適切なスタートアップや設定ファイル、空の main.c ファイルなどを使用するように設定 されています。 これらのプロジェクトファイルは、PDL 関連のファイルを使用しません。また、PDL 関連のヘッダファイル用のインクルードパスも設 定されていません。 次に進むステップは、何を実現したいかにより千差万別です。もっとも一般的なアプローチをひとつ紹介します。 1. 特定のデバイスフォルダのコピーを作る 自己完結型にするため、フォルダのコピーをどこに配置しても構いません。例えば、開発プロジェクトを保持するためによく使 っているフォルダに置いてください。必要に応じて、フォルダ名を変更するとよいでしょう。 2. コード例から、pdl_user.h をコピーして、プロジェクトに追加する 開発したいファームウェアに近い構成のコード例からファイルをコピーするのが近道です。コピーした pdl_user.h 内で、必要 なドライバの機能を有効または無効にしてください。PDL を設定する の章を参照してください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 22 PDL を使ったコード開発 3. PDL ヘッダファイルをインクルードする main.c に、pdl_header.h をインクルードするコードを 1 行追加してください。このファイルが pdl_user.h をインクルードする ので、pdl_user.h を明示的にインクルードする必要はありません。 #include "pdl_header.h" 4. ファームウェアに必要な PDL ソースファイルをプロジェクトに追加する PDL の drivers または utilities フォルダから必要なファイルを追加します。コード例のプロジェクトには、すべてのソースファ イルが追加されています。全ファイルは必要ないでしょう。どのファイルが必要かは、PDL のどの機能を使うかに依存します。 5. 必要なヘッダファイルを指すようにインクルードパスを更新する \devices フォルダのプロジェクトファイルは、PDL のソースファイルや PDL 関連のインクルードパスに関して初期設定されて いません。これにより、初期設定を壊すことなくフォルダのコピーをどこにでも配置できます。一方、インクルードパスを更新し なければなりません。 どのパスを追加/変更する必要があるかは、使用する環境によって異なります。パスの追加や編集の方法はここでは詳しく説 明しません。対応する IDE では、以下から設定を見つけてください。 Atollic TrueSTUDIO: Project > Build Settings > C/C++ General > Paths and Symbols IAR Embedded Workbench: Project > Options > C/C++ Compiler > Preprocessor iSystem WinIDEA: Project > Settings > Includes Keil µVision: Project >Options for Target > C/C++ GNU ARM Embedded Tools: edit the directories section of the makefile どのパスを追加/編集する必要があるかは、どのヘッダファイルが必要で、それがどこにあるかに依存します。通常は、以下 のようなパスを追加または変更しなければなりません。 cmsis\include へのパスを追加または更新(プロジェクトでこれらのヘッダが必要かどうかに依存) pdl_user.h へのパスを追加(このファイルをどこに配置したかに依存) PDL drivers フォルダへのパスを追加: < PDL directory>\drivers. PDL utilities フォルダへのパスを追加: < PDL directory >\utilities プロジェクトフォルダの階層を変更しない限り、\common フォルダへのパスを変更する必要はありません。 コードをビルドする際、引き続きパス関連のエラー (実際のエラー内容は IDE ごとに異なります) が発生する場合、IDE がす べてのヘッダファイルを認識できるまでパスを追加または修正してください。 4.2 PDL を設定する 特定のペリフェラルを有効または無効にするには、pdl_user.h を修正します。このファイルには、PDL の様々な設定可能な機能の 1 つである、#define ディレクティブの長いリストが含まれています。ペリフェラルを有効にするには、ディレクティブを PDL_ON で定 義します。無効の場合、PDL_OFF とします。コード例のプロジェクトでは、すでに必要な値に設定されています。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 23 PDL を使ったコード開発 図 4-2. ペリフェラルを有効/無効にする 使用するペリフェラルや機能を有効にしないと、必要なヘッダファイルがインクルードされないため、コンパイルでエラーになります。 典型的なワーニングは、関数の未定義です。また、未定義ワードでエラーとなる場合もあります。実際のワーニングやエラーは、使 用する IDE やコードの内容に依存します。 同様に、対象のハードウェアで対応していないペリフェラルを有効にした場合も、PDL のコードはコンパイルでエラーとなります。こ のケースは、対象のハードウェアで対応していない機能に関して、PDL のロジックがヘッダファイルを除外したためです。 4.3 ペリフェラルを設定する 以下は、ペリフェラルを設定して初期化するために行う典型的な手順の概要です。この手順通りではない場合もあります。例えば、 設定用の構造体を持たないペリフェラルもあります。 1. 設定用構造体の宣言 C 言語のデータ型を確認する必要があります。そのデータ型のインスタンスを宣言してください。 stc_adc_config_t stcConfig; 2. // declare an ADC configuration structure 初期値を消去 (ゼロクリア) する PDL は、初期値をクリアするために PDL_ZERO_STRUCT(x)というマクロを提供しています。以下のように使います。 PDL_ZERO_STRUCT(stcConfig); 3. // zero all values フィールドを設定する ペリフェラルを希望の動作に設定するための値を使います。例えば、ADC の変換結果を LSB 側に配置するには以下のコー ドを使います。 stcConfig.bLsbAlignment = TRUE; 4. ペリフェラルを初期化する 実際にペリフェラルの設定を行うために、Init()関数を呼び出します。例えば、以下の通りです。 result = Adc_Init(&ADC0, &stcConfig); // initialize the ADC ペリフェラルのインスタンスのアドレスと設定用構造体のアドレスを引数で渡します。 多くの API 関数呼び出し(上記の初期化関数の呼び出しなど)では、ペリフェラルのインスタンスで使われるレジスタのベースアドレ スを必要とします。PDL のヘッダファイルに、利用可能なペリフェラルのインスタンス用の定数 (ADC0 や ADC1 など) が定義され ています。レジスタのベースアドレスについての詳細は、レジスタを使うの章を参照してください。 ペリフェラルを初期化しただけでは、ペリフェラルは始動しないことにご注意ください。多くのペリフェラルは、API として enable また は start 関数を持っています。使用するペリフェラルのドキュメントを確認してください。例えば、Adc_Init()関数を実行した後、ADC を有効にし、レディ状態まで待機するコードは以下の通りです。 Adc_EnableWaitReady(&ADC0); サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 24 PDL を使ったコード開発 4.4 ペリフェラルを使う ペリフェラルを設定し、初期化した後、ペリフェラルを使うための API 関数呼び出しを行います。多くの場合、ペリフェラルを初期化 した後、最初に実行する関数は、ペリフェラルを始動もしくは有効にするものです。詳細は、PDL のドキュメントを参照してください。 例えば、MFS を使用する場合、表 4-1 に示すような手続きを行うことが考えられます。ドキュメントを参照すると、それらの手続きを 実施するためにどのような関数があるか、それらをどのように使えばいいかを知ることができます。 表 4-1. API 関数呼び出しの例 MFS Tasks PDL Function Initialize Mfs_Uart_Init() Start Mfs_Uart_EnableFunc() Put a byte into the serial channel (transmit) Mfs_Uart_SendData() Read a byte from the serial channel (receive) Mfs_Uart_ReceiveData() 4.5 レジスタを使う PDL を使ってプログラミングを行う場合、通常は、レジスタの詳細を知る必要はありません。PDL がそれらを扱います。 しかし、ペリフェラルレジスタのベースアドレスを指す定数を知る必要があります。中には、1 つのペリフェラルが複数のインスタン 2 スに対応しているデバイスもあります。例えば、MFS には複数のインスタンスがあり、それぞれを UART, I C, あるいは LIN など に設定できます。各インスタンスと動作モードは、専用のレジスタセットを持っています。 多くの PDL API は、呼び出し時に、インスタンスのレジスタのベースアドレスを必要とします。定義された定数を使って、それらの 情報を渡せます。 例えば、以下のコードは、UART7 を初期化します。インスタンスのアドレスと、設定用構造体のアドレスを引数として渡します。 Mfs_Uart_Init(&UART7, &stcUartConfig); 適切な定数を得るために、PDL のドキュメントをご利用ください。 図 4-3. ペリフェラルインスタンスのベースアドレスを見つける サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 25 PDL を使ったコード開発 4.6 ピンを操作する API 関数の呼び出しを通じて PDL がレジスタアクセスを行いますが、個々のピンの状態の操作を、ユーザコードで行いたい場合 があります。そのために、gpio.h ヘッダファイルにマクロが定義されています。このマクロを使うには、ピンについて知る必要があり ますが、ピンのレジスタについて知る必要はありません。 ピンは、ポート番号とピン番号で区別されます。ある物理ピン (例:108 番ピン) は、特定のポートに関連付けられ (例:P1A)、キット やマイコン, パッケージの回路図で使用されます。 ピンを管理するためのマクロは、GPIO1PIN_P<port><pin> といった名前になります。 例えば、ポート 1 のピン A は、GPIO1PIN_P1A という名前になります。 表 4-2. ピン関連マクロのリスト Macro Description Gpio1pin_InitIn(p,v) initialize pin as GPIO, input, pullup 0, set signal high or low (calling Gpio1pin_InitVal() to initialize the value) Gpio1pin_InitOut(p,v) initialize pin as GPIO, output, pullup 0, set signal high or low (calling Gpio1pin_InitVal() to initialize the value) Gpio1pin_InitVal(v) set signal to high or low; used as input to Gpio1pin_InitIn(), and Gpio1pin_InitOut(), so no pin specified Gpio1pin_Get(p) gets current signal (high or low) for the pin Gpio1pin_Put(p,v) set current signal (high or low) for the pin パラメータ p は、ピンの名前です。パラメータ v は、Low が 0、High が 1 といった値となります。例えば、以下のようなコードを書き ます。 Gpio1pin_InitOut(GPIO1PIN_P1A, Gpio1pin_InitVal( 1u ) ); これは、ポート 1 のピン A を、High を出力する出力ピンとして初期化することを意味します。 詳細は、PDL のドキュメントの General-Purpose I/O Ports の章を参照してください。 図 4-4. GPIO ドキュメント サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 26 PDL を使ったコード開発 4.7 PDL を使って低水準プログラミングを学ぶ PDL は、ハイレベル API を提供することにより、組込みプログラミングを簡単にします。しかし、低水準プログラミングを使いたい場 合もあります。低水準プログラミングを行うには、レジスタの知識とどのビットがどの機能を制御するかを知る必要があります。 PDL のソースコードを読み解くことは、マイコンの低水準プログラミングに必要な知識を得ることに役立ちます。低水準プログラミン グで実装したい動作を提供する API 関数を特定してください。そこで、ソースコードを読み解き、PDL がどのレジスタのどのビットを 操作しているかを調べてください。これが、学習の第一歩になります。以下に簡単な例を示します。 データ送信のために、UART を (低水準プログラミングで) 有効にしたいと仮定します。 1. コード例の中で、行いたい動作の API 関数を見つけてください。 この例では、PDL 関数は、Mfs_Uart_EnableFunc()です。 2. 関数のソースコードを開きます。 PDL の命名規則により、ソースコードは mfs.c というファイルにあることがわかります。多くの IDE では、関数名を右クリック すると、関数定義まで移動できます。 3. コードを参照してください。 以下は、PDL のソースコードに実装された関数の一部を抜き出したものです。 switch(enFunc) { case UartTx: pstcUart->SCR_f.TXE = 1u; break; 命名規則とコーディングスタイルに慣れると、このコードも簡単に理解できます。 表 4-3. 低水準プログラミングのための PDL ソースコードの解読 Base address Register Bitfield pstcUart SCR TXE Value bit is set to enable TX これで、詳しく調べるべきレジスタとビットを知ることができました。この情報を使って、ペリフェラルマニュアルから詳細な記述を見 つけ出せます。 低水準プログラミングでコードを書く際に、PDL の動作をそのままコピーしたいと思うかもしれません。しかし、ライブラリのアプロー チは、必ずしもユーザの環境に一致するものではありません。あくまでも、動作を実現するための 1 つの例としてお使いください。 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 27 PDL を使ったコード開発 4.8 PDL のドキュメント PDL のドキュメントは、ソースコードから生成された HTML 形式のドキュメントです。PDL のインストーラは、このドキュメントを以下 にインストールします。 <PDL directory>\doc\pdl_api_reference_manual.html ドキュメントを最初に開いたときに、ブラウザにブックマークしておくことをお勧めします。 ドキュメントでは、左側のナビゲーションメニューを使って必要な情報を探してください。Drivers セクションに、ペリフェラルの全て の情報が掲載されています。いずれかのドライバを開くと、マクロ, 型, 構造体, グローバル変数, そして API 関数が表示されます。 図 4-5. PDL のドキュメント サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 28 PDL を使ったコード開発 4.9 命名規則 PDL のコードは、特定の命名規則を使って書かれています。これにより、変数の意味や使い方を簡単に理解できます。 表 4-4. PDL の命名規則 命名規則 例 説明 接頭辞 stc_ stc_adc_config データ構造体の意 接頭辞 en_ en_adc_status 列挙型の意 データ構造体のフィールド名で使われた場合、そのフィールド に設定する値に使うべき列挙型があることに注意 変数/フィールド名の先頭文字 bReturn u8Instance u16CompareValue u32Counter 変数の C データ型 b = boolean u8 = uint8 など 接尾辞 _t stc_adc_config_t データ型の意 通常は構造体や列挙型に使用 <ペリフェラル>_<機能名> () Adc_Enable() ペリフェラルとその実際の機能 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 29 A. PDL 関連リソース 表 A-4-5 に PDL のプログラミングに利用できるリソースを示します。 表 A-4-5. PDL と FM のリソース 目的 リソース このドキュメントを読む PDL および PDL ベースのコード例が収録されたスターターキットを購入する PDL を評価 FM0+ S6E1B8-Series Starter Kit, FM0+ S6E1C3-Series Starter Kit. FM4 S6E2GM Pioneer Kit FM4 S6E2H-Series Starter Kit Cypress PDL 製品ページから PDL をダウンロードする IAR Embedded Workbench Keil µVision IDE 利用可能なツールを学ぶ iSYSTEM winIDEA Atollic TrueSTUDIO GCC ARM Embedded 紹介ビデオを見る FM 製品を選択 FM0+ FM4 Product Selector Guide をダウンロードし参照する AN202487 - Differences Among FM0+, FM3, and FM4 Portfolios を読む このドキュメントを読む PDL に詳しくなる PDL のインストールフォルダに収録された PDL ドキュメントを使う PDL に収録された PDL のコード例を参照する PDL を使ったスターターキットのコード例を参照する 技術的な参考としてペリフェラルマニュアルを使用する プロセッサのペリフェラル に詳しくなる FM0+ FM4 デバイスのデータシートを参照する FM0+ FM4 サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 30 改版履歴 ドキュメント改版履歴 Document Title: サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド Document Number: 002-16854 版 ** 発行日 10/04/2016 変更者 NOSU 変更内容 New Spec. (これは英語版の 002-13955 Rev. ** を翻訳した日本語版です。) サイプレス ペリフェラル ドライバ ライブラリ v2.1 クイック スタート ガイド, Doc. No. 002-16854 Rev ** 31
© Copyright 2024 Paperzz