Zynq-7000 SoC: エンベデッド デザイン チュートリアル (UG1165)

Size: px
Start display at page:

Download "Zynq-7000 SoC: エンベデッド デザイン チュートリアル (UG1165)"

Transcription

1 Zynq-7000 SoC: エンベデッドデザインチュートリアル 効率的なエンベデッドシステムを構築するためのハンディガイド UG1165 (v2018.3) 2018 年 12 月 5 日 UG1165 (v2018.2) 2018 年 6 月 6 日 この資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください このチュートリアルは で検証されており それ以降のリリースでは手順が多少異なる場合あり

2 改訂履歴 次の表に 2018/12/05: この文書の改訂履歴を示し Vivado Design Suite ます リリース リリースから内容の変更なし セクション 2018 年 6 月 6 日バージョン 改訂内容 全体的なアップデート編集上の更新のみ 技術内容の変更なし 全体的なアップデート 2018 年 4 月 4 日バージョン Vivado Design Suite リリース リリースから内容の変更なし Zynq-7000 SoC: エンベデッドデザインチュートリアル 2

3 目次 改訂履歴 第 1 章 : 概要このガイドについて Zynq デバイスによるエンベデッドプロセッサデザインの簡略化 Vivado ツールでデザインプロセスを加速 必要なセットアップ 第 2 章 : Zynq SoC プロセッシングシステムの使用エンベデッドシステムのコンフィギュレーション サンプルプロジェクト : Zynq SoC の新規エンベデッドプロジェクトの作成 サンプルプロジェクト : Hello World アプリケーションの実行 その他の情報 第 3 章 : Zynq デバイスでの GP ポートの使用 Zynq SoC プロセッシングシステムへのファブリックに IP を追加 デザイン用のスタンドアロンアプリケーションソフトウェア 第 4 章 : SDK を使用したデバッグ Xilinx System Debugger SDK を使用したソフトウェアのデバッグ 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 AXI CDMA を Zynq SoC PS の HP スレーブポートに接続 デザイン用のスタンドアロンアプリケーションソフトウェア CDMA システム用の Linux OS ベースのアプリケーションソフトウェア SDK を使用した Linux CDMA アプリケーションの実行 第 6 章 : Linux のブートおよび SDK でのデバック必要な環境 Zynq SoC ボード上での Linux のブート 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成要件 ペリフェラル IP の作成 PS の GP マスターポートを使用したペリフェラル IP の統合 Linux ベースのデバイスドライバーの開発 実行中のカーネルへのモジュールのロードとアプリケーションの実行 第 8 章 : SDK を使用したソフトウェアのプロファイルシステムデバッガーを使用した SDK でのアプリケーションのプロファイル 追加のデザインサポートオプション Zynq-7000 SoC: エンベデッドデザインチュートリアル 3

4 第 9 章 : SDK を使用した Linux OS 認識デバッグ Linux OS 認識デバッグの設定 OS 認識デバッグを使用した Linux プロセスおよびスレッドのデバッグ 付録 A: その他のリソースおよび法的通知ザイリンクスリソース ソリューションセンター Xilinx Documentation Navigator およびデザインハブ Xilinx Documentation Navigator このチュートリアルのデザインファイル ザイリンクスリソース トレーニングリソース お読みください : 重要な法的通知 Zynq-7000 SoC: エンベデッドデザインチュートリアル 4

5 第 1 章 概要 このガイドについて このガイドでは Zynq SoC を使用するザイリンクス Vivado Design Suite フローについて説明します ここに示すサンプルプロジェクトは ザイリンクスの ZC702 Rev 1.1 評価ボードをターゲットとしており 使用する Vivado およびザイリンクスソフトウェア開発キット (SDK) のバージョンは です 注記 : SDK を Vivado Design Suite の一部としてインストールするには インストーラーに SDK を含めるよう選択する必要があります 8 ページの ザイリンクスソフトウェア開発キット (SDK) を参照してください このガイドのサンプルプロジェクトは 64 ビットの Windows 7 オペレーティングシステムで実行するザイリンクスツール および 64 ビットの Linux オペレーティングシステムで実行する PetaLinux を使用して作成されています ほかの Windows インストールで別バージョンのツールを実行した場合 結果が異なることがあります サンプルプロジェクトは エンベデッドデザインの次の項目について紹介することに重点を置いています 注記 : チュートリアルで説明されているハードウェア上で Linux をブートする手順は リリースの PetaLinux ツール特定のものです このガイドの Linux 部分の演習を実行するには PetaLinux ツールを Linux ホストマシンにインストールする必要があります 第 2 章 Zynq SoC プロセッシングシステムの使用 では Zynq SoC プロセッシングシステム (PS) を使用するシステムの作成および簡単な Hello World アプリケーションの実行について説明します 簡単なデザインを例として使用し ハードウェアおよびソフトウェアツールの概要を説明します 第 3 章 Zynq デバイスでの GP ポートの使用 では Zynq SoC PS とプログラマブルロジック (PL つまりファブリック ) を使用してシステムを作成する方法に加え PS および PL を実行する簡単なアプリケーションの使用方法について説明します 第 4 章 SDK を使用したデバッグ では ザイリンクスのソフトウェア開発キット (SDK) のデバッグ機能を使用したソフトウェアのデバッグについて説明します 前のデザインを使用してソフトウェアベアメタル (OS なし ) を実行し デバッグ方法を示します 第 5 章 AXI CDMA IP での HP スレーブポートの使用 では Zynq SoC ボードにおける Linux OS のブートおよび PetaLinux ツールでのアプリケーションのデバッグに関する情報を示します Zynq SoC でブートできるデバイスと それらのデバイスのプログラム方法を説明します 第 6 章 Linux のブートおよび SDK でのデバック では PetaLinux ツールを使用して Zynq SoC ボード上で Linux OS をブートする手順を説明します ファブリックで AXI CDMA IP をインスタンシエートする際の情報を提供し この IP を HP (High Performance) 64 ビットスレーブポートに接続する方法を説明します 第 7 章 Linux 用のカスタム IP とデバイスドライバーの作成 では Create and Package New IP ウィザードを使用して IP を作成する方法を説明します Linux ベースのデバイスドライバーの開発およびカーネルのコンパイルについて説明します また Zynq デバイス用に作成した IP を使用してシステムを設計します Zynq-7000 SoC: エンベデッドデザインチュートリアル 5

6 第 1 章 : 概要 第 8 章 SDK を使用したソフトウェアのプロファイル では スタンドアロン BSP および第 6 章で作成した AXI CDMA 関連のアプリケーションのプロファイル機能について説明します ソフトウェアをチェックし ボトルネックが存在するかどうかを確認する方法を示します 第 9 章 SDK を使用した Linux OS 認識デバッグ では Linux OS 認識デバッグ機能について説明し Linux カーネルおよび基本的な Linux サンプルに使用します これは SDK で提供されている Linux プロセスデバッグとは異なります Zynq Arm 9 プロセッサコア上で実行中の Linux OS と Linux OS 上で実行中の複数のアプリケーションプロセス / スレッドを同時にデバッグできます 付録 A その他のリソースおよび法的通知 では このガイドに関連するその他の資料へのリンクを提供します サンプルプロジェクト ツールを習得するための最良の方法は 使用してみることです このガイドでは 説明に従ってツールを操作していきます サンプルプロジェクトのセクションでは サンプルプロジェクトの仕様のほかに 背景で何が起こっているかも説明しています 各章およびサンプルプロジェクトは エンベデッドデザインのさまざまな側面を紹介することを目的としています サンプルプロジェクトを通して 各項目の学習を完了して次に進む形でフロー全体が説明されます その他の資料 その他の資料一覧は 付録 A その他のリソースおよび法的通知 に記載されています Zynq デバイスによるエンベデッドプロセッサデザインの簡略化 エンベデッドシステムは複雑です エンベデッドデザインのハードウェア部分とソフトウェア部分は それ自体がプロジェクトです 1 つのシステムとして機能するようこの 2 つのデザインコンポーネントを統合すると それに伴う課題が出てきます FPGA デザインプロジェクトを追加すると デザインはさらに複雑になります Zynq SoC ソリューションでは 1 つの SoC でプログラマブルロジックと共に Arm Cortex-A9 デュアルコアが提供されているので この複雑性が軽減されます 設計プロセスを単純にするため ザイリンクスでは Vivado Design Suite およびザイリンクスソフトウェア開発キット (SDK) を提供しています これらのツールは FPGA を結合した SoC デバイス向けのエンベデッドシステムデザインを容易にするために必要なものをすべて提供します これらのツールを組み合わせることで ハードウェアとソフトウェアのアプリケーションの設計 デバッグ コードの実行が可能になり デザインを実際のボードに移行して検証および評価を実行できます 注記 : SDK を Vivado Design Suite の一部としてインストールするには インストーラーに SDK を含めるよう選択する必要があります 詳細は 8 ページの ザイリンクスソフトウェア開発キット (SDK) を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 6

7 第 1 章 : 概要 Vivado Design Suite: System Edition ザイリンクスでは さまざまな開発システムツールを Vivado Design Suite にまとめて提供しています Vivado Design Suite の複数のエディションをエンベデッドシステム開発に使用できます このガイドでは System Edition を使用します 図 1-1 に Vivado Design Suite の各エディションの機能を示します X-Ref Target - Figure 1-1 その他の Vivado コンポーネント 図 1-1: Vivado Design Suite のエディション Vivado のその他のコンポーネントは次のとおりです ザイリンクスエンベデッドプロセッサ用のエンベデッド / ソフト IP 資料 サンプルプロジェクト Zynq-7000 SoC: エンベデッドデザインチュートリアル 7

8 第 1 章 : 概要 ザイリンクスソフトウェア開発キット (SDK) ソフトウェア開発キット (SDK) は Vivado を補完する統合開発環境で C/C++ エンベデッドソフトウェアアプリケーションの作成および検証に使用します SDK は Eclipse オープンソースフレームワークで構築されており ソフトウェア設計者や設計チームにとって使い慣れた環境です Vivado Design Suite をインストールする際に インストールに含める必要のあるオプションのソフトウェアツールとして SDK を選択できます 詳細は 10 ページの インストール要件 を参照してください Eclipse 開発環境の詳細は を参照てください SDK のその他のコンポーネントは次のとおりです エンベデッドソフトウェア開発用のドライバーおよびライブラリ Zynq SoC プロセッシングシステム内の Arm Cortex-A9 MP プロセッサをターゲットにした C/C++ ソフトウェア開発用 GNU コンパイラおよびデバッガー PetaLinux ツール PetaLinux ツールセットは エンベデッド Linux システム開発キットです この開発キットは Linux OS に加え ザイリンクスシリコンデバイス用の完全なコンフィギュレーション ビルド および導入環境を含む 完全な Linux ディストリビューションを提供します 詳細は エンベデッドデザインツールウェブページを参照してください PetaLinux ツールのデザインハブは PetaLinux ツールの情報および資料へのリンクを提供します 詳細は エンベデッドデザインハブ - PetaLinux ツールを参照してください Vivado ツールでデザインプロセスを加速 Vivado Design Suite ツールを使用してハードウェアにデザインソースを追加できます ツールには 既存のプロジェクトに IP を追加したり クロックやリセットなどのポートの接続を作成したりするプロセスを簡単に実行できる IP インテグレーターが含まれます Vivado ツールと IP インテグレーターは 一連のハードウェアシステム開発を完了までサポートします これには マイクロプロセッサの仕様 ペリフェラル 各コンポーネントの接続 それらの詳細な設定などが含まれます SDK はソフトウェア開発に使用され Vivado Design Suite の一部として利用できます または ほかのザイリンクスツールをインストールせずに SDK のみをインストールして使用することも可能です SDK は ソフトウェアアプリケーションのデバッグにも使用できます Zynq SoC プロセッシングシステム (PS) は FPGA ( プログラマブルロジック (PL)) をプログラムしなくても ブートして動作させることができます ただし ファブリックでソフト IP を使用したり EMIO を用いて PS ペリフェラルを接続するには PL をプログラムする必要があります SDK で PL をプログラムできます エンベデッドデザインプロセスの詳細は Vivado Design Suite チュートリアル : エンベデッドプロセッサハードウェアデザイン (UG940) [ 参照 6] を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 8

9 第 1 章 : 概要 必要なセットアップ ツールについて詳しく説明する前に ツールが適切にインストールされ 使用する環境がこのガイドのサンプルプロジェクトセクションに記載されている要件に一致するかを確認します ハードウェア要件 このチュートリアルは Zynq ZC702 Rev 1.1 評価ボードをターゲットとしており Rev 1.0 ボードにも使用できます このガイドを活用するにあたって 評価ボードに同梱されている次のものを用意してください ZC702 評価ボード AC 電源アダプター (12 VDC) USB Type-A/Mini-B ケーブル (UART 通信用 ) USB-Micro JTAG 接続を介するプログラムおよびデバッグ用の USB Type-A/USB Micro ケーブル Linux ブート用の SD-MMC フラッシュカード ターゲットボードとホストマシンの接続用のイーサネットケーブル Zynq-7000 SoC: エンベデッドデザインチュートリアル 9

10 第 1 章 : 概要 インストール要件 Vivado Design Suite および SDK ツールがインストールされていることを確認してください ツールバージョンが最新であるかどうかは にアクセスして確認できます Vivado Design Suite および SDK ツールの両方がインストールされていることを確認してください Vivado Design Suite をインストールする際に 次の図に示すように [Software Development Kit (SDK)] をオンにすることで インストールに含める必要のあるオプションのソフトウェアツールとして SDK を選択できます SDK を単独でインストールするには [Software Development Kit (SDK)] のみをオンにし ほかのソフトウェア製品の選択をオフにしてインストーラーを実行します X-Ref Target - Figure 1-2 図 1-2: Vivado インストーラー - [Software Development Kit (SDK)] の選択 Vivado Design Suite と SDK のインストールの詳細は Vivado Design Suite ユーザーガイド : リリースノート インストールおよびライセンス (UG973) [ 参照 7] を参照してください 重要 : デフォルトでは インストールにより SDK 用のデスクトップショートカットは作成されません SDK バイナリは C:\Xilinx\SDK\2017.3\bin\xsdk.bat から起動可能です Zynq-7000 SoC: エンベデッドデザインチュートリアル 10

11 第 1 章 : 概要 PetaLinux ツール このチュートリアルの Linux 部分の演習で実行する PetaLinux ツールをインストールします PetaLinux ツールは 次のいずれかが稼働している Linux ホストシステムで実行します RHEL 7.2/7.3 (64 ビット ) CentOS 7.2/7.3 (64 ビット ) Ubuntu (64 ビット ) このツールは 専用 Linux ホストシステム または Windows 開発プラットフォーム上でこれらの Linux オペレーティングシステムのいずれかが稼働している仮想マシンを使用できます PetaLinux ツールを選択したシステムにインストールするには 次を実行する必要があります PetaLinux SDK ツールを ザイリンクスのウェブサイトからダウンロードする PetaLinux リリースパッケージをインストールする ワークステーションまたは仮想マシンに共通のシステムパッケージおよびライブラリを追加する 詳細は PetaLinux ツール資料 : リファレンスガイド (UG1144) [ 参照 11] の インストール要件 を参照してください 必要な環境 8 GB RAM ( ザイリンクスツールで推奨される最小サイズ ) 2 GHz CPU クロックまたは同等の CPU ( 少なくとも 8 つのコア ) 100 GB のハードディスク空き容量 PetaLinux パッケージの展開 デフォルトでは パッケージが現在のディレクトリのサブディレクトリとしてインストールされます インストールパスを指定することもできます ダウンロードした PetaLinux インストーラーを実行します 注記 : PetaLinux のインストールパスは短くしてください パスが 255 文字を超えると PetaLinux のビルドがエラーになります bash>./petalinux-v final-installer.run PetaLinux は このコマンドの作業ディレクトリの直下にある petalinux-v final ディレクトリにインストールされます インストーラーをホームディレクトリ (/home/user) に置いた場合 PetaLinux は /home/user/petalinux-v final にインストールされます PetaLinux 環境のセットアップ プロジェクトの作成 およびプロジェクトの使用例の詳細は 第 6 章 Linux のブートおよび SDK でのデバック を参照してください PetaLinux のインストールおよび使用方法に関する詳細は PetaLinux ツール資料 : リファレンスガイド (UG1144) [ 参照 11] に記載されています ソフトウェアのライセンス ザイリンクスのソフトウェアには FLEXnet ライセンスが使用されています ソフトウェアを初めて起動する際 ライセンスの検証プロセスが実行されます ライセンス検証で有効なライセンスが検出されない場合 ライセンスウィザードに従ってライセンスを取得し インストールしたツールでそのライセンスを使用できるようにします ソフトウェアのフルバージョンが不要な場合は 評価版ライセンスを使用できます インストールの手順と詳細は Vivado Design Suite ユーザーガイド : リリースノート インストールおよびライセンス (UG973) [ 参照 7] を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 11

12 第 1 章 : 概要 チュートリアルのデザインファイル このチュートリアルのデザインファイルのダウンロードについては 119 ページの このチュートリアルのデザインファイル を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 12

13 第 2 章 Zynq SoC プロセッシングシステムの使用 ザイリンクスの Vivado Design Suite の概要に引き続き このツールを活用して Zynq SoC プロセッシングシステム (PS) を使用するエンベデッドシステムを開発する方法を説明します Zynq SoC は Arm Cortex -A9 コア 多数のハード IP コンポーネント およびプログラマブルロジック (PL) で構成されています これらは次の 2 つの方法で使用できます Zynq SoC PS は ファブリック IP を追加せずに スタンドアロンモードで使用できます IP コアをファブリックでインスタンシエートし PS と PL の組み合わせとして Zynq PS に接続できます エンベデッドシステムのコンフィギュレーション Zynq デバイスシステムデザインの作成には ブートデバイスおよびペリフェラルを適切に選択する PS のコンフィギュレーションが含まれます PS ペリフェラルと利用可能な MIO の接続がデザイン要件を満たしていれば ビットストリームは必要ありません この章では ビットストリームを必要としない簡単な PS ベースのデザインの作成手順を説明します Zynq-7000 SoC: エンベデッドデザインチュートリアル 13

14 第 2 章 : Zynq SoC プロセッシングシステムの使用 サンプルプロジェクト : Zynq SoC の新規エンベデッドプロジェクトの作成 この例では Vivado Design Suite を起動し エンベデッドプロセッシングシステムのプロジェクトを最上位として作成します デザインの開始 1. Vivado Design Suite を起動します 2. [Quick Start] セクションの [Create Project] をクリックし New Project ウィザードを開きます 3. ウィザードの各ページで次の表の情報に基づいて設定を選択します ウィザードページ システムプロパティ 設定または使用するコマンド Project Name Project name edt_tutorial Project Type Project location Create project subdirectory デザインのソースタイプを指定 RTL または合成済み EDIF から開始可能 Do not specify sources at this time C:/designs オン RTL Project オフ Add Sources 変更なし [Add Existing IP] 変更なし Add Constraints 変更なし Default Part Select Boards ボード ZYNQ-7 ZC702 Evaluation Board New Project Summary プロジェクトサマリプロジェクトサマリを確認 4. [Finish] をクリックします New Project ウィザードが閉じ 作成したプロジェクトが Vivado デザインツールで開きます エンベデッドプロセッサプロジェクトの作成 Add Sources ウィザードを使用して エンベデッドプロセッサプロジェクトを作成します 1. Flow Navigator の [IP Integrator] [Create Block Design] をクリックします X-Ref Target - Figure 2-1 図 2-1: [Create Block Design] [Create Block Design] ダイアログボックスが開きます Zynq-7000 SoC: エンベデッドデザインチュートリアル 14

15 第 2 章 : Zynq SoC プロセッシングシステムの使用 2. [Create Block Design] ダイアログボックスで次のように選択します ウィザードページ システムプロパティ 設定または使用するコマンド Create Block Design Design name tutorial_bd 3. [OK] をクリックします [Diagram] ウィンドウがこのデザインが空であることを示すメッセージと共に表示されます デザインを開始するには カタログから IP を追加します 4. [Add IP] をクリックします Directory Specify source set 5. [Search] フィールドに zynq と入力して Zynq デバイス IP を検索します <Local to Project> Design Sources Zynq-7000 SoC: エンベデッドデザインチュートリアル 15

16 第 2 章 : Zynq SoC プロセッシングシステムの使用 6. ZYNQ プロセッシングシステム IP をダブルクリックし ブロックデザインに追加します 図 2-2 に示すように Zynq SoC プロセッシングシステム IP ブロックが [Diagram] ウィンドウに表示されます X-Ref Target - Figure 2-2 図 2-2: Zynq SoC プロセッシングシステム IP ブロック Zynq-7000 SoC: エンベデッドデザインチュートリアル 16

17 第 2 章 : Zynq SoC プロセッシングシステムの使用 Vivado での Zynq7 プロセッシングシステムの管理 Zynq SoC プロセッシングシステムをデザインに追加したので オプションを設定します 1. [Diagram] ウィンドウで ZYNQ7 Processing System ブロックをダブルクリックします 図 2-3 に示す [Re-customize IP] ダイアログボックスが開きます デフォルトでは プロセッシングシステムにペリフェラルは接続されていません X-Ref Target - Figure 2-3 図 2-3: [Re-customize IP] ダイアログボックス 2. ZC702 ボード用に作成されたテンプレートを使用します [Re-customize IP] ウィンドウで [Presets] をクリックし [ZC702] をクリックします このコンフィギュレーションウィザードにより ZC702 のボードレイアウトに従って MIO (Multiplexed I/O) ピンが割り当てられた複数のペリフェラルがプロセッシングシステムで有効になります たとえば UART1 は有効で UART0 は無効です これは UART1 が ZC702 ボード上の UART/USB コンバーターチップを介して USB-UART コネクタに接続されているからです Zynq-7000 SoC: エンベデッドデザインチュートリアル 17

18 第 2 章 : Zynq SoC プロセッシングシステムの使用 Zynq デバイスのブロック図で各ペリフェラル名の横に表示されているチェックマークは それらの I/O ペリフェラルがアクティブであることを示します X-Ref Target - Figure 2-4 図 2-4: アクティブなペリフェラルが示された I/O Peripherals 3. ブロック図で緑色で示されている I/O ペリフェラルの 1 つをクリックします 選択したペリフェラルが [MIO Configuration] ページに表示されます X-Ref Target - Figure 2-5 図 2-5: [MIO Configuration] ページ Zynq-7000 SoC: エンベデッドデザインチュートリアル 18

19 第 2 章 : Zynq SoC プロセッシングシステムの使用 4. [OK] をクリックして [Re-customize IP] ダイアログボックス閉じます ZC702 ボードのプリセットが適用されます [Diagram] ウィンドウで 次の図に示すようなデザインアシスタントが使用可能であることを示すメッセージが表示されます X-Ref Target - Figure [Run Block Automation] リンクをクリックします 図 2-6: [Run Block Automation] リンク [Run Block Automation] ダイアログボックスが開きます [Cross Trigger In] および [Cross Trigger Out] が [Disable] に設定されていることに注意してください クロストリガーの設定に関する詳細なチュートリアルは Vivado Design Suite チュートリアル : エンベデッドプロセッサハードウェアデザイン (UG940) [ 参照 6] を参照してください 6. [OK] をクリックしてデフォルトのプロセッシングシステムオプションを選択し デフォルトのピン接続を作成します デザインおよび接続ポートの検証 次に デザインを検証します 1. [Diagram] ウィンドウの空白部分を右クリックして [Validate Design] をクリックします または F6 キーを押します 2. M_AXI_GP0_ACLK を接続する必要があることを示すクリティカルエラーメッセージが表示されます X-Ref Target - Figure [OK] をクリックしてメッセージを閉じます 図 2-7: [Critical Messages] ダイアログボックス 4. [Diagram] ウィンドウで ZYNQ7 Processing System の M_AXI_GP0_ACLK ポートを見つけます コネクタポートの上にマウスポインターを置き 鉛筆アイコンを表示させます Zynq-7000 SoC: エンベデッドデザインチュートリアル 19

20 第 2 章 : Zynq SoC プロセッシングシステムの使用 5. M_AXI_GP0_ACLK ポートをクリックして FCLK_CLK0 入力ポートまでドラッグし 2 つのポートを接続します X-Ref Target - Figure デザインを再び検証し ほかにエラーがないことを確認します これには [Diagram] ウィンドウの空白部分を右クリックして [Validate Design] をクリックします 検証が成功し デザインにエラーや重大な警告がないことを示すメッセージダイアログボックスが表示されます 7. [OK] をクリックしてメッセージを閉じます 8. [Block Design] 環境の [Sources] ウィンドウをクリックします 9. [Hierarchy] タブをクリックします 図 2-8: 接続された ZYNQ7 Processing System 10. [Design Sources] の下の [tutorial_bd] を右クリックし [Create HDL Wrapper] をクリックします [Create HDL Wrapper] ダイアログボックスが開きます このダイアログボックスを使用して プロセッササブシステム用の HDL ラッパーファイルを作成します ヒント : HDL ラッパーは デザインツールに必要な最上位エンティティです 11. [Let Vivado manage wrapper and auto-update] をオンにし [OK] をクリックします 12. [Sources] ウィンドウで [Design Sources] の下にある [tutorial_bd_wrapper] を展開します Zynq-7000 SoC: エンベデッドデザインチュートリアル 20

21 第 2 章 : Zynq SoC プロセッシングシステムの使用 13. [tutorial_bd_i - tutorial_bd (tutorial_bd.bd)] という最上位ブロックを右クリックし [Generate Output Products] をクリックします 次に示す [Generate Output Products] ダイアログボックスが開きます X-Ref Target - Figure 2-9 図 2-9: [Generate Output Products] ダイアログボックス Linux ホストマシンで Vivado Design Suite を実行している場合は [Run Settings] の下に追加オプションが表示されることがあります その場合は デフォルト設定で続行します 14. [Generate] をクリックします この手順では 選択したソースに必要なすべての出力ファイルを作成します たとえば IP プロセッサシステムに対する制約を手動で作成する必要はありません [Generate Output Products] を実行すると Vivado ツールでプロセッササブシステム用の XDC ファイルが自動的に生成されます 15. [Generate Output Products] の処理が完了したら [OK] をクリックします Zynq-7000 SoC: エンベデッドデザインチュートリアル 21

22 第 2 章 : Zynq SoC プロセッシングシステムの使用 16. [Sources] ウィンドウで [IP Sources] タブをクリックします 次の図に示すように 生成した出力ファイルが表示されます X-Ref Target - Figure 2-10 図 2-10: [IP Sources] の下に生成された出力 デザインの合成 インプリメンテーションの実行 およびビットストリームの生成 1. デザインを合成します Flow Navigator で [Synthesis] [Run Synthesis] をクリックします X-Ref Target - Figure 2-11 図 2-11: Run Synthesis 2. 合成の開始前にプロジェクトを保存するようメッセージが表示された場合は [Save] をクリックします 合成の実行中 ウィンドウの右上にステータスバーが表示されます このステータスバーは デザインプロセスをとおして さまざまな理由により表示されます ステータスバーは プロセスがバックグランドで実行されていることを示します X-Ref Target - Figure 2-12 図 2-12: ステータスバー 合成が完了すると [Synthesis Completed] ダイアログボックスが開きます Zynq-7000 SoC: エンベデッドデザインチュートリアル 22

23 第 2 章 : Zynq SoC プロセッシングシステムの使用 3. [Run Implementation] をクリックして [OK] をクリックします この場合も プロセスがバックグラウンドで実行されていることが ステータスバーによって示されます インプリメンテーションが完了すると [Implementation Completed] ダイアログボックスが開きます 4. [Generate Bitstream] をクリックして [OK] をクリックします ビットストリームの生成が完了すると [Bitstream Generation Completed] ダイアログボックスが開きます 5. [Cancel] をクリックしてウィンドウを閉じます 6. ビットストリームの生成が完了したら 次のセクションの説明に従ってハードウェアをエクスポートしてソフトウェア開発キット (SDK) を起動します ハードウェアの SDK へのエクスポート この例では Vivado から SDK を起動します 1. [File] [Export] [Export Hardware] をクリックします [Export Hardware] ダイアログボックスが開きます [Include bitstream] がオンになっていること ( デザインで PL デザインとビットストリームが生成されている場合のみ ) および [Export to] がデフォルトオプションの [<Local to Project>] に設定されていることを確認します 2. [OK] をクリックします X-Ref Target - Figure 2-13 図 2-13: ハードウェアを SDK へエクスポートする ヒント : ハードウェアは ZIP ファイル (<project wrapper>.hdf) でエクスポートされます SDK が起動するとファイルは自動的に解凍され SDK プロジェクトハードウェアプラットフォームフォルダーにすべてのファイルが含まれます 3. [File] [Launch SDK] をクリックします [Launch SDK] ダイアログボックスが開きます ヒント : SDK はスタンドアロンモードで起動することもでき エクスポートされたハードウェアを使用できます その場合 SDK を起動し エクスポートされた新しいターゲットハードウェアを新しいプロジェクトの作成時にポイントします Zynq-7000 SoC: エンベデッドデザインチュートリアル 23

24 第 2 章 : Zynq SoC プロセッシングシステムの使用 4. [Exported location] および [Workspace] には デフォルト設定を選択します X-Ref Target - Figure 2-14 図 2-14: [Launch SDK] ダイアログボックス 5. [OK] をクリックします SDK が開きます SDK を起動するとハードウェア記述ファイルが自動的に読み込まれます 次の図に示すように [system.hdf] にプロセッシングシステム全体のアドレスマップが表示されます X-Ref Target - Figure 2-15 図 2-15: SDK の [system.hdf] のアドレスマップ 6. SDK を閉じます Zynq-7000 SoC: エンベデッドデザインチュートリアル 24

25 第 2 章 : Zynq SoC プロセッシングシステムの使用 ここまでの結果 Vivado によって ソフトウェアを開発するための選択したワークスペースにハードウェア仕様がエクスポートされました [<Local to Project>] を選択していれば Vivado プロジェクトフォルダーに新しいワークスペースが作成されます ワークスペース名は <project_name>.sdk です この例では C:/designs/edt_tutorial/edt_tutorial.sdk という名前のワークスペースが作成されます Vivado デザインツールにより デザインのハードウェア定義ファイル ( この例では system.hdf) が SDK にエクスポートされました system.hdf には 次のファイルが含まれます tutorial_bd.tcl ps7_init.c ps7_init.h ps7_init.html ps7_init.tcl ps7_init_gpl.c ps7_init_gpl.h system.hdf ファイルは デフォルトでは SDK の起動時に開かれます このファイルから読み出されるシステムのアドレスマップがデフォルトで SDK ウィンドウに表示されます ps7_init.c ps7_init.h ps7_init_gpl.c および ps7_init_gpl.h ファイルには Zynq SoC プロセッシングシステムの初期化コードと DDR クロック 位相ロックループ (PLL) および MIO の初期化設定が含まれます SDK は アプリケーションがプロセッシングシステムの最上位で実行可能となるように これらの設定をプロセッシングシステムの初期化時に使用します プロセッシングシステムの設定には ZC702 評価ボード用に固定されているものもあります 次の手順 これで SDK を使用してプロジェクトのソフトウェア開発を開始できます 次のセクションでは ハードウェアプラットフォーム向けのソフトウェアアプリケーションの作成に役立つ情報を提供します Zynq-7000 SoC: エンベデッドデザインチュートリアル 25

26 第 2 章 : Zynq SoC プロセッシングシステムの使用 サンプルプロジェクト : Hello World アプリケーションの実行 この例では ザイリンクス SDK の Xilinx System Debugger を使用して ボード設定の管理 ケーブル接続 PC を介したボードへの接続 および JTAG モードで簡単な hello world ソフトウェアアプリケーションを実行する方法を説明します 注記 : ボードが既にセットアップされている場合は 手順 5 に進みます 1. 電源ケーブルをボードに接続します 2. USB Micro ケーブルで Windows ホストマシンとターゲットボードを次の SW10 スイッチ設定を使用して接続します Bit-1 は 0 Bit-2 は 1 注記 : 0 は開 1 は閉です 3. USB ケーブルで Windows ホストマシンとターゲットボードのコネクタ J17 を接続します これは USB からシリアルへの転送に使用されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 26

27 第 2 章 : Zynq SoC プロセッシングシステムの使用 4. 次の図に示すスイッチを使用して ZC702 ボードに電源を投入します 重要 : ジャンパー J27 および J28 は SD カードスロットから離れた側に設定し SW16 スイッチは図 2-16 に示すように設定します X-Ref Target - Figure 2-16 図 2-16: ZC702 ボードの電源スイッチ 5. SDK を開き プロジェクトファイルへのワークスペースパス ( この例では C:/designs/edt_tutorial/edt_tutorial.sdk) を設定します または デフォルトのワークスペースを使用して SDK を開き 後で [File] [Switch Workspace] をクリックして正しいワークスペースに切り替えることもできます 6. システムで割り当てられている COM ポートのシリアル通信ユーティリティを開きます SDK では チュートリアル全体で使用されるシリアルターミナルユーティリティが提供されています [Window] [Show View] [Terminal] をクリックしてこのユーティリティを開きます X-Ref Target - Figure 2-17 図 2-17: [Terminal 1] ウィンドウのヘッダーバー Zynq-7000 SoC: エンベデッドデザインチュートリアル 27

28 第 2 章 : Zynq SoC プロセッシングシステムの使用 7. [Connect] ボタンをクリックし シリアルコンフィギュレーションを設定して接続します 8. [Settings] ボタンをクリックして [Terminal Settings] ダイアログボックスを開きます 次の図に Zynq SoC プロセッシングシステム用の標準的な設定を示します X-Ref Target - Figure 2-18 図 2-18: [Terminal Settings] ダイアログボックス 9. [File] [New] [Application Project] をクリックします New Project ウィザードが開きます 10. 次の表の情報に基づいて ウィザード画面で選択操作を実行します ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name hello_world Use default location Hardware Platform Processor OS Platform Language オン tutorial_bd_wrapper_hw_platform_0 PS7_cortexa9_0 standalone Board Support Package [Create New] をオンにして hello_world_bsp と入力 Templates Available Templates Hello World hello_world アプリケーションプロジェクトおよび hello world_bsp ボードサポートパッケージ (BSP) プロジェクトが作成され [Project Explorer] ビューに表示されます これら両プロジェクトが自動的にコンパイルされ ELF ファイルが作成されます C Zynq-7000 SoC: エンベデッドデザインチュートリアル 28

29 第 2 章 : Zynq SoC プロセッシングシステムの使用 重要 : BSP を再生成する場合は [Project Explorer] ビューに表示される BSP プロジェクトを右クリックし [Re-generate BSP Sources] をクリックします プロジェクトの作成後にターゲット BSP を変更する場合は 次を実行します 1. ターゲット用に新規のボードサポートパッケージを作成します 2. [Project Explorer] ビューで アプリケーションプロジェクトを右クリックして [Change Referenced BSP] をクリックし 新しい BSP を指定します 11. [hello_world] を右クリックして [Run as] [Run Configurations] をクリックします 12. [Xilinx C/C++ application (System Debugger)] を右クリックして [New] をクリックします hello_world Debug という名前の新しい実行コンフィギュレーションが作成されます アプリケーションに関連するコンフィギュレーションは 起動コンフィギュレーションの [Main] タブに自動入力されます 13. [Target Setup] タブをクリックし 設定を確認します 初期化 Tcl ファイルへのコンフィギュレーションパスがあることに注目してください ここでは ps7_init.tcl へのパスです このファイルは デザインを SDK にエクスポートした際にエクスポートされたもので プロセッシングシステムの初期化情報を含みます 14. [Run] をクリックします 次の図に示すように [Terminal 1] のシリアル通信ユーティリティに Hello World と表示されます X-Ref Target - Figure 2-19 注記 : Zynq SoC 評価ボードで上記のソフトウェアアプリケーションを実行するのに ビットストリームをダウンロードする必要はありませんでした Arm Cortex A9 デュアルコアは既にボードに実装されています 簡単なアプリケーションを実行するこのシステムの基本的な初期化は デバイス初期化 Tcl スクリプトで実行されます ここまでの結果 図 2-19: シリアルターミナルへの出力 アプリケーションソフトウェアによって Hello World の文字列が PS の UART1 ペリフェラルに送信されました UART1 から Hello World の文字列がホストマシンで動作しているシリアルターミナルアプリケーションにバイトごとに送信され 文字列として表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 29

30 第 2 章 : Zynq SoC プロセッシングシステムの使用 その他の情報 ボードサポートパッケージ ボードサポートパッケージ (BSP) はハードウェアプラットフォームまたはボードのサポートコードで 電源投入時の基本的な初期化およびソフトウェアアプリケーションのハードウェアプラットフォームまたはボード上での実行をサポートします これは ブートローダーおよびデバイスドライバーを使用するオペレーティングシステム固有のものにできます スタンドアロン OS スタンドアロンはシンプルな下位ソフトウェア層です キャッシュ 割り込み 例外などの基本的なプロセッサ機能 およびホスト環境の基本的なプロセッサ機能へのアクセスを提供します これらの機能には 標準の入力 / 出力 プロファイル 停止 終了が含まれます これはセミホスト型のシングルスレッド環境です T 重要 : この章で実行したアプリケーションは スタンドアロン OS 上に作成されています ソフトウェアアプリケーションがターゲットにする BSP は 新規アプリケーションプロジェクトを作成するプロセスで選択します プロジェクトの作成後にターゲット BSP を変更する場合は ソフトウェアアプリケーションを右クリックして [Change Referenced BSP] をクリックします Zynq-7000 SoC: エンベデッドデザインチュートリアル 30

31 第 3 章 Zynq デバイスでの GP ポートの使用 ザイリンクスの Zynq SoC をエンベデッドデザインのプラットフォームとして使用する特徴の 1 つは Arm Cortex-A9 デュアルコアプロセッシングシステムに Zynq SoC のプロセッシングシステム (PS) を使用できるだけでなく プログラマブルロジック (PL) も使用できることです この章では 次を含むデザインを作成します ファブリック (PL) にファブリックから PS への割り込みを持つ AXI GPIO および AXI Timer EMIO インターフェイスを介してファブリック (PL) 側のピンに接続される Zynq SoC PS GPIO ピン この章のフローは第 2 章のものと似ており Zynq デバイスをベースのハードウェアデザインとして使用します ここでは 第 2 章で説明されている Zynq デバイスの Vivado IP インテグレーターブロックデザインへの追加に関する概念を理解していることを前提としています この章全体を通して第 2 章の内容について言及しているため 前章を飛ばした場合は必要に応じて内容を確認してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 31

32 第 3 章 : Zynq デバイスでの GP ポートの使用 Zynq SoC プロセッシングシステムへのファブリックに IP を追加 ファブリックで追加可能な Zynq SoC PS と密結合される IP は その複雑さに制限はありません このセクションでは AXI GPIO 割り込みを持つ AXI Timer および EMIO インターフェイスを介して PL 側のピンに接続される PS の GPIO ピンを含む簡単な例を説明します デザインを作成して ファブリックにインスタンシエートされた AXI GPIO および割り込み付き AXI Timer および EMIO インターフェイスを使用する PS の GPIO の機能を確認します 図 3-1 にシステムのブロック図を示します X-Ref Target - Figure 3-1 図 3-1: ブロック図 第 2 章で作成したシステムを使用して 14 ページの エンベデッドプロセッサプロジェクトの作成 の後から続行できます この章の例では 第 2 章のデザインを拡張します 次のデザイン変更を加えます ファブリック側の AXI GPIO は 1 ビットのチャネル幅が割り当てられ ZC702 ボード上の SW5 プッシュボタンスイッチに接続されます PS の GPIO ポートは ファブリックピンを (EMIO インターフェイスを介して ) ボード上の SW7 プッシュボタンスイッチに配線する 1 ビット幅のインターフェイスを含むように変更されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 32

33 第 3 章 : Zynq デバイスでの GP ポートの使用 PS では 別の 1 ビット GPIO が MIO ポートにあるボード上の DS23 LED に接続されます AXI Timer の割り込みは ファブリックから PS の割り込みコントローラーに接続されます このタイマーは ボード上の指定されたプッシュボタンを押すと開始します タイマーが終了すると その割り込みがトリガーされます 上記のハードウェアの変更に加え アプリケーションソフトウェアコードを記述します このコードは 次のように機能します シリアルターミナルにメッセージを表示し ボードで使用するプッシュボタンスイッチ (SW7 または SW5) の選択をユーザーに求めます ユーザーが適切なボタンを押すと タイマーが自動的に開始し LED DS23 をオフにして タイマーの割り込みが発生するのを待機します タイマーの割り込みが発生したら LED DS23 をオンにし タイマーを再開して シリアルターミナルでユーザーがプッシュボタンスイッチを再度選択するのを待機します サンプルプロジェクト : インスタンシエートされたファブリック IP の機能の検証 この例では ファブリックに AXI GPIO AXI Timer 割り込み および EMIO インターフェイスを追加します その後 ファブリックの追加機能を検証します 1. Vivado Design Suite を起動します 2. [Recent Projects] で 第 2 章で作成した [edt_tutorial] デザインをクリックします 3. [IP Integrator] の下の [Open Block Design] をクリックします 4. [Diagram] ウィンドウの空白部分を右クリックし [Add IP] をクリックします 5. 検索ボックスに AXI GPIO と入力し [AXI GPIO] IP をダブルクリックしてブロック図に追加します AXI GPIO IP ブロックが [Diagram] ウィンドウに表示されます 6. [Diagram] ウィンドウの空白部分を右クリックし [Add IP] をクリックします 7. 検索ボックスに AXI Timer と入力し [AXI Timer] IP をダブルクリックしてブロック図に追加します AXI Timer IP ブロックが [Diagram] ウィンドウに表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 33

34 第 3 章 : Zynq デバイスでの GP ポートの使用 8. ZYNQ7 SoC Processing System の EMIO コンフィギュレーションを編集して 割り込みを有効にします [ZYNQ7 Processing System] IP ブロックを右クリックし [Customize Block] をクリックします 注記 : IP ブロックをダブルクリックしてカスタマイズすることもできます 図 3-2 に示す [Re-customize IP] ダイアログボックスが開きます X-Ref Target - Figure [MIO Configuration] をクリックします 10. [I/O Peripherals] [GPIO] を展開して [EMIO GPIO (Width)] をオンにします 11. [EMIO GPIO (Width)] を 1 に変更します 図 3-2: [Re-customize IP] ダイアログボックス 12. ZYNQ7 Processing System のコンフィギュレーションオプションを開いた状態で [Interrupts] [Fabric Interrupts] [PL-PS Interrupt Ports] を展開します 13. [Fabric Interrupts] をオンにし [IRQ_F2P[15:0]] もオンにして IP コアでの PL-PS 割り込みを有効にします Zynq-7000 SoC: エンベデッドデザインチュートリアル 34

35 第 3 章 : Zynq デバイスでの GP ポートの使用 14. [OK] をクリックして ZYNQ7 Processing System IP の変更を確定します ブロック図は図 3-3 のようになります X-Ref Target - Figure 3-3 図 3-3: ZYNQ7 Processing System IP 15. ページの上部に表示される [Run Connection Automation] リンクをクリックし 新しく追加した IP ブロックを自動接続します 16. [Run Connection Automation] ダイアログボックスで 図 3-4 に示すように [All Automation] の横にあるチェックボックスをオンにします X-Ref Target - Figure [OK] をクリックします 図 3-4: [Run Connection Automation] ダイアログボックス Zynq-7000 SoC: エンベデッドデザインチュートリアル 35

36 第 3 章 : Zynq デバイスでの GP ポートの使用 完了すると 更新されたブロック図は図 3-5 のようになります X-Ref Target - Figure [AXI GPIO] IP ブロックを右クリックし [Customize Block] をクリックします 注記 : IP ブロックをダブルクリックしてカスタマイズすることもできます 19. [Board] タブで [GPIO] および [GPIO2] が [Custom] に設定されていることを確認します 20. [IP Configuration] タブをクリックします 必要な GPIO ポートは 1 つだけであるため [GPIO] で [GPIO Width] を 1 に変更します [All Inputs] と [All Outputs] が両方ともオフになっていることも確認します 21. [OK] をクリックして変更を確定します 図 3-5: 自動接続を実行した後のブロック図 22. 割り込みポートは自動的には AXI Timer IP コアに接続されないことに注意してください [Diagram] ウィンドウで ZYNQ7 Processing System の IRQ_F2P[0:0] ポートを見つけます 23. コネクタポートの上にマウスポインターを置いて鉛筆アイコンを表示させ IRQ_F2P[0:0] ポートをクリックして AXI Timer IP コアの interrupt 出力ポートにドラッグし これら 2 つのポートを接続します 24. ZYNQ7 Processing System の GPIO_0 ポートが接続されていないことに注意してください ZYNQ7 Processing System の GPIO_0 出力ポートを右クリックし [Make External] をクリックします これらのピンは外部ピンですが このボードでは必要な制約はありません ハードウェアピンを特定のデバイス位置に制約するには 次の手順に従います この手順は ピンを手動で配置する際にいつでも使用できます Zynq-7000 SoC: エンベデッドデザインチュートリアル 36

37 第 3 章 : Zynq デバイスでの GP ポートの使用 25. Flow Navigator で [RTL Analysis] の下にある [Open Elaborated Design] をクリックします X-Ref Target - Figure 3-6 図 3-6: [Open Elaborated Design] 26. 次のに示す [Elaborate Design] メッセージボックスが開いたら [OK] をクリックします X-Ref Target - Figure 3-7 図 3-7: [Elaborate Design] メッセージボックス ヒント : デザインのエラボレートには数分かかります デザインのエラボレートが進行中に Vivado でほかの作業を実行するには [Background] をクリックします これにより エラボレートプロセスがバックグラウンドで続行されます 27. 次の図に示すようにメインウィンドウの右上にあるレイアウトセレクターで [I/O Planning] を選択し [I/O Ports] ウィンドウを表示します X-Ref Target - Figure 3-8 図 3-8: [I/O Planning] レイアウトを選択 Zynq-7000 SoC: エンベデッドデザインチュートリアル 37

38 第 3 章 : Zynq デバイスでの GP ポートの使用 28. 次の図に示す [I/O Ports] ウィンドウで [GPIO_0_1522] ポートおよび [GPIO_23220] ポートを展開し サイト ( ピン ) マップを確認します X-Ref Target - Figure 3-9 図 3-9: [I/O Ports] ウィンドウのサイトマップ 29. [gpio_0_tri_io[0]] を見つけ 図 3-10 に示すように次のプロパティを設定します [Site]: [F19] [I/O Std]: [LVCMOS25] 30. [gpio_sw_tri_io[0]] を見つけ 図 3-10 に示すように次のプロパティを設定します [Site]: [G19] [I/O Std]: [LVCMOS25] X-Ref Target - Figure 3-10 図 3-10: [I/O Ports] のプロパティ 注記 : その他のデザイン制約の作成に関する詳細は Vivado Design Suite ユーザーガイド : 制約の使用 (UG903) [ 参照 4] を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 38

39 第 3 章 : Zynq デバイスでの GP ポートの使用 31. Flow Navigator で [Program and Debug] [Generate Bitstream] をクリックします [Save Project] ダイアログボックスが開きます [Elaborated Design - constrs_1] がオンになっていることを確認し [Save] をクリックします [Synthesis is Out-of-date] ダイアログボックスが開きます [Yes] をクリックして再合成します 32. 次の図に示す [Save Constraints] ダイアログボックスが表示されます ファイル名を指定して [OK] をクリックします X-Ref Target - Figure 3-11 図 3-11: [Save Constraints] ダイアログボックス Zynq-7000 SoC: エンベデッドデザインチュートリアル 39

40 第 3 章 : Zynq デバイスでの GP ポートの使用 制約ファイルが作成されて保存され 次の図に示すように [Sources] ウィンドウの [Hierarchy] タブの [Constraints] フォルダーに表示されます X-Ref Target - Figure 3-12 図 3-12: [Sources] ウィンドウに表示された新しい制約ファイル 33. ビットストリームの生成が完了したら 23 ページの ハードウェアの SDK へのエクスポート の説明に従ってハードウェアをエクスポートしてザイリンクスソフトウェア開発キット (SDK) を起動します SDK での作業 SDK で Vivado からエクスポートされた新しい HDF が検出され 警告メッセージが表示されます この警告メッセージでは SDK で新しい HDF に合わせてプロジェクトをアップデートするかどうかも選択できます 1. [Yes] をクリックします 2. SDK が起動し 第 2 章でスタンドアロン PS を使用して作成した Hello World プロジェクトが開きます 3. [Project] [Clean] をクリックし プロジェクトをクリーンアップして再ビルドします 4. helloworld.c ファイルを開き 42 ページの デザイン用のスタンドアロンアプリケーションソフトウェア の説明に従ってアプリケーションソフトウェアコードを変更します 5. ファイルを保存し プロジェクトを再ビルドします 6. シリアル通信ユーティリティをボーレートを に設定して開きます 注記 : これは Zynq デバイスで UART に設定されているボーレートです 7. ボードに接続します PL ファブリックのビットストリームがあるので これをダウンロードする必要があります Zynq-7000 SoC: エンベデッドデザインチュートリアル 40

41 第 3 章 : Zynq デバイスでの GP ポートの使用 8. [Xilinx Tools] [Program FPGA] をクリックします 図 3-13 に示す [Program FPGA] ダイアログボックスが開きます Vivado からエクスポートされたビットストリームが表示されます X-Ref Target - Figure 3-13 図 3-13: ビットストリームファイルが表示された [Program FPGA] ダイアログボックス 9. [Program] をクリックし ビットストリームをダウンロードして PL ファブリックをプログラムします ページの サンプルプロジェクト : Hello World アプリケーションの実行 の手順と同じようにプロジェクトを実行します 11. システムでは AXI GPIO ピンがボード上のプッシュボタン SW5 に接続され PS の GPIO ピンが EMIO インターフェイスを介してボード上のプッシュボタン SW7 に接続されます 12. シリアルターミナルに表示される手順に従ってアプリケーションを実行します Zynq-7000 SoC: エンベデッドデザインチュートリアル 41

42 第 3 章 : Zynq デバイスでの GP ポートの使用 デザイン用のスタンドアロンアプリケーションソフトウェア この章で設計したシステムをボードで実行するには アプリケーションソフトウェアが必要です このセクションでは アプリケーションソフトウェアの詳細を説明します アプリケーションソフトウェアの main() 関数は 実行のエントリポイントです この関数は 初期化およびシステムで接続されるすべてのペリフェラルに必要な設定を含みます さらに AXI GPIO や EMIO インターフェイスを使用する PS GPIO などのユースケースを実行するための手順も含まれます シリアルターミナルの手順に従ってさまざまなユースケースを選択できます アプリケーションソフトウェアの構成手順 アプリケーションソフトウェアは次の手順で構成されます 1. AXI GPIO モジュールを初期化します 2. AXI GPIO ピンが入力ピンとなるように方向を設定します このピンは ボード上の SW5 プッシュボタンに接続されます このピンの位置は システムの構築中にユーザー制約ファイル (XDC) の LOC 制約により固定されます 3. AXI Timer モジュールをデバイス ID 0 で初期化します 4. タイマーコールバック関数を AXI timer ISR と関連付けます この関数は タイマーの割り込みが発生するたびに呼び出されます このコールバックにより ボード上の LED DS23 がオンになり 割り込みフラグがセットされます main() 関数は割り込みフラグを使用して実行を停止し タイマー割り込みの発生を待機した後に実行を再開します 5. タイマーのリセット値を設定します この値は リセットおよびタイマーの開始時にタイマーに読み込まれます 6. 割り込みモードや自動再読み込みモードなどのタイマーオプションを設定します 7. PS の GPIO を初期化します 8. PS の GPIO ( チャネル 0 ピン番号 10) を出力ピンに設定します このピンは MIO ピンにマップされ ボード上の LED DS23 に物理的に接続されます 9. PS の GPIO ( チャネル 2 ピン番号 0) を入力ピンに設定します このピンは EMIO インターフェイスを介して PL 側のピンにマップされ SW7 プッシュボタンスイッチに物理的に接続されます 10. スヌープ制御ユニットであるグローバル割り込みコントローラーを初期化します タイマー割り込みルーチンを割り込み ID 91 に設定し 例外ハンドラーを登録して割り込みを有効にします 11. ループのシーケンスを実行し シリアルターミナルで AXI GPIO または PS GPIO いずれかのユースケースを選択します ソフトウェアは 選択したユースケースをシリアルターミナルから受信し それに応じた手順を実行します シリアルターミナルでユースケースを選択した後 ターミナルの手順に従ってボード上のプッシュボタンを押します LED DS23 をオフにすると タイマーが開始し タイマー割り込みが発生するまで関数を待機させます タイマーの割り込みが発生すると LED DS23 がオンになって実行が再開します デバイスドライバーに関する API に関する詳細は Zynq-7000 SoC ソフトウェア開発者向けガイド (UG821) [ 参照 3] を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 42

43 第 3 章 : Zynq デバイスでの GP ポートの使用 アプリケーションソフトウェアのコード システムのアプリケーションソフトウェアは このガイドに付属の ZIP ファイルにある helloworld.c に含まれます 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください SDK での新規ソフトウェアアプリケーションの実行 次に 新しいソフトウェアアプリケーションを SDK で実行します 1. [Xilinx Tools] [Program FPGA] をクリックします 図 3-14 に示す [Program FPGA] ダイアログボックスが開きます Vivado からエクスポートされたビットストリームが表示されます X-Ref Target - Figure 3-14 図 3-14: ビットストリームファイルが表示された [Program FPGA] ダイアログボックス ページの サンプルプロジェクト : Hello World アプリケーションの実行 の手順に従い 新しいアプリケーションを実行します Zynq-7000 SoC: エンベデッドデザインチュートリアル 43

44 第 4 章 SDK を使用したデバッグ この章では これまで説明してきたデザインフローで可能なデバッグについて説明します 最初のオプションは ザイリンクスソフトウェア開発キット (SDK) を使用したソフトウェアのデバッグです SDK デバッガーは 次のデバッグ機能を提供します MicroBlaze および Arm Cortex-A9 プロセッサアーキテクチャ上のプログラムのデバッグをサポート ( ヘテロジニアスマルチプロセッサハードウェアシステムのデバッグ ) ハードウェアボード上のプログラムのデバッグをサポート リモートハードウェアシステムでのデバッグ プログラムをデバッグするための豊富な機能を備えた IDE を提供 テストスクリプトの実行および自動化のためのツールコマンド言語 (Tcl) インターフェイスを提供 SDK デバッガーを使用すると プログラムの実行中に何が起こっているかを確認できます プロセッサを停止するブレークポイントまたはウォッチポイントの設定 プログラムのステップ実行 プログラム変数およびスタックの確認 システム内のメモリ内容の確認などを実行できます ザイリンクス SDK では Xilinx System Debugger および GNU デバッガー (GDB) を使用したデバッグがサポートされます 注記 : GDB フローは廃止予定となっており 今後のデバイスでは使用できなくなる予定です Xilinx System Debugger Xilinx System Debugger では ザイリンクスの hw_server が基本のデバッグエンジンとして使用されます SDK は各ユーザーインターフェイス操作を一連の TCF (Target Communication Framework) コマンドに変換し システムデバッガーからの出力を処理して デバッグされているプログラムの現在の状態を表示します SDK は ザイリンクスの hw_server を使用してハードウェア上のプロセッサと通信します Zynq-7000 SoC: エンベデッドデザインチュートリアル 44

45 第 4 章 : SDK を使用したデバッグ 次の図に このデバッグワークフローを示します X-Ref Target - Figure 4-1 図 4-1: システムデバッガーのフロー ワークフローは 次のコンポーネントで構成されています 実行可能な ELF ファイル : ユーザーアプリケーションをデバッグするには デバッグ用にコンパイルされた ELF (Executable and Linkable Format) ファイルを使用する必要があります デバッグ ELF ファイルには デバッガーへの追加のデバッグ情報が含まれ ソースコードとその元のソースから生成された 2 進数間が直接関連付けられます ビルドコンフィギュレーションを管理するには ソフトウェアアプリケーションを右クリックして [Build Configurations] [Manage] をクリックします デバッグコンフィギュレーション : デバッグセッションを開始するには SDK でデバッグコンフィギュレーションを作成する必要があります このコンフィギュレーションには 実行ファイル名 デバッグするプロセッサターゲットなど デバッグセッションを開始するの必要なオプションが含まれます デバッグコンフィギュレーションを作成するには ソフトウェアアプリケーションを右クリックして [Debug As] [Debug Configurations] をクリックします SDK [Debug] パースペクティブ : [Debug] パースペクティブを使用すると ワークベンチでプログラムのデバッグまたは実行を管理できます プログラムの実行は ブレークポイントの設定 起動したプログラムの一時停止 コードのステップ実行 および変数の内容の確認を実行することにより制御可能です [Debug] ウィンドウを表示するには [Window] [Open Perspective] [Debug] をクリックします SDK では コードの変更 実行ファイルの構築 プログラムのデバッグというサイクルを繰り返すことができます 注記 : コンパイル後にソースを編集すると デバッグ情報がそのソースに直接関連付けられているため その行番号はステップ実行されなくなります 同様に 最適化されたバイナリをデバッグすると 実行トレース中に予期しないジャンプが発生する場合があります Zynq-7000 SoC: エンベデッドデザインチュートリアル 45

46 第 4 章 : SDK を使用したデバッグ SDK を使用したソフトウェアのデバッグ この例では hello world アプリケーションをデバッグします 前の章で hello world アプリケーションを変更した場合は デバッグの実行前に新しい hello world アプリケーションを作成する必要があります 新しい hello world アプリケーションを作成するには 26 ページの サンプルプロジェクト : Hello World アプリケーションの実行 の手順に従います hello world アプリケーションを作成したら SDK で次の例を実行してソフトウェアをデバッグします 1. [C/C++] パースペクティブで Hello_world プロジェクトを右クリックして [Debug As] [Launch on Hardware (System Debugger)] をクリックします [Confirm Perspective Switch] ダイアログボックスが表示されたら [Yes] をクリックします [Debug] パースペクティブが開きます X-Ref Target - Figure 4-2 図 4-2: [Debug Configurations] ダイアログボックス 注記 : [Debug] パースペクティブが自動的に開かない場合は [Window] [Open] [Perspective] [Other] をクリックして Open Perspective ウィザードで [Debug] を選択します Zynq-7000 SoC: エンベデッドデザインチュートリアル 46

47 第 4 章 : SDK を使用したデバッグ X-Ref Target - Figure 4-3 図 4-3: アプリケーションデバッグ用の [Debug] パースペクティブ 注記 : このページに示されているアドレスは システムで表示されているものと若干異なる場合があります プロセッサが main() の冒頭にあり プログラム実行が 0x c で停止していることがわかります この情報は [Disassembly] ビューで確認できます このビューに アセンブリレベルのプログラム実行が 0x c で一時停止していることが示されています 注記 : [Disassembly] ビューが表示されていない場合は [Window] [Show View] [Disassembly] をクリックします 2. helloworld.c ウィンドウにも C コードの最初の実行可能な行で実行が一時停止していることが表示されています [Registers] ビューを選択し プログラムカウンターである pc レジスタに 0x c が含まれていることを確認します 注記 : [Registers] ウィンドウが表示されていない場合は [Window] [Show View] [Registers] をクリックします 3. init_platform () を読み出すコードの行の横にある helloworld.c ウィンドウの空白をダブルクリックします これにより init_platform () にブレークポイントが設定されます ブレークポイントの確認には [Breakpoints] ウィンドウを使用します 注記 : [Breakpoints] ウィンドウが表示されていない場合は [Window] [Show View] [Breakpoints] をクリックします 4. [Run] [Step Into] をクリックし init_platform () ルーチンにステップインします プログラムの実行が 0x001005c4 の位置で一時停止します コールスタックの深さは 2 レベルになります Zynq-7000 SoC: エンベデッドデザインチュートリアル 47

48 第 4 章 : SDK を使用したデバッグ 5. [Run] [Resume] をクリックし プログラムをブレークポイントまで実行します プログラムの実行は printf コマンドを含むコードの行で停止します [Disassembly] および [Debug] ウィンドウに プログラムの実行が 0x で停止していることが示されます 注記 : hello world のソースコードを変更した場合 ウィンドウに表示される実行アドレスは異なる場合があります 6. [Run] [Resume] をクリックし プログラムを最後まで実行します プログラムの実行が完了すると [Debug] ウィンドウにプログラムが exit というルーチンで一時停止していることが示されます これは デバッガーの制御下で実行しているときに発生します 7. コードを複数回再実行します シングルステップ メモリの検査 ブレークポイント コードの変更 および print 文の追加を試してみます ビューの追加および移動を試します ヒント : SDK ツールデバッグショートカット ( ステップイン (F5) ステップリターン (F7) ステップオーバー (F6) および再開 (F8)) を使用できます 8. SDK を閉じます Zynq-7000 SoC: エンベデッドデザインチュートリアル 48

49 第 5 章 AXI CDMA IP での HP スレーブポートの使用 この章では AXI CDMA IP をファブリックにインスタンシエートし プロセッシングシステムの HP (High Performance) 64 ビットスレーブポートに接続します このシステムでは AXI CDMA はマスターデバイスとして機能し データの配列をソースバッファーから DDR システムメモリのデスティネーションバッファーにコピーします AXI CDMA は プロセッシングシステムの HP スレーブポートを使用して DDR システムメモリに対する読み出し / 書き込みアクセスを実行します ここでは mmap() を使用してスタンドアロンアプリケーションソフトウェアおよび Linux OS ベースのアプリケーションソフトウェアを記述し AXI CDMA ブロックを使用したデータ転送を実現します また スタンドアロンおよび Linux ベースの両アプリケーションソフトウェアを ZC702 ボードで個別に実行します Zynq-7000 SoC: エンベデッドデザインチュートリアル 49

50 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 AXI CDMA を Zynq SoC PS の HP スレーブポートに接続 ザイリンクス Zynq SoC デバイスは プログラマブルロジック (PL) をプロセッシングシステム (PS) 内の非同期 FIFO インターフェイス (AFI) に接続する 4 つの HP (High Performance) AXI スレーブインターフェイスポートを備えています HP ポートは プログラマブルロジックの AXI マスターと PS のメモリシステム (DDR およびオンチップメモリ ) 間での高スループットのデータパスを可能にします HP スレーブポートは 64 ビットまたは 32 ビットのインターフェイスに設定可能です ここでは AXI CDMA IP をファブリックのマスターとして使用してデザインを作成し これを PS の HP 64 ビットスレーブポートに接続します 次の図にシステムのブロック図を示します X-Ref Target - Figure 5-1 このシステムにおける接続は次のとおりです 図 5-1: ブロック図 AXI CDMA スレーブポートは PS の汎用マスターポート 1 (M_AXI_GP1) に接続されます これは データ転送用の AXI CDMA レジスタセットを設定し そのステータスを確認するために PS CPU により使用されます AXI CDMA マスターポートは PS の HP (High Performance) スレーブポート 0 (S_AXI_HP0) に接続されます これは AXI CDMA で DDR システムメモリからデータを読み出すために使用され データ転送中の CDMA のソースバッファー位置となります AXI CDMA マスターポートは PS の HP (High Performance) スレーブポート 2 (S_AXI_HP2) に接続されます これは AXI CDMA で DDR システムメモリにデータを書き込むために使用され データ転送中の CDMA のデスティネーションバッファー位置となります AXI CDMA の割り込みは ファブリックから PS の割り込みコントローラーに接続されます データの転送後 またはデータトランザクション中にエラーが発生したときに AXI CDMA の割り込みが開始します Zynq-7000 SoC: エンベデッドデザインチュートリアル 50

51 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 このシステムでは HP のスレーブポート 0 を 0x ~ 0x2fffffff 範囲の DDR メモリ位置にアクセスするように設定します DDR システムメモリのこの位置は CDMA がデータを読み出すソースバッファー位置となります また HP スレーブポート 2 を 0x ~ 0x3fffffff 範囲の DDR メモリ位置にアクセスするように設定します DDR システムメモリのこの位置は CDMA がデータを書き込むデスティネーション位置となります データ転送チャネルの AXI CDMA IP データ幅を 最大バースト長 32 の 1024 ビットに設定します この設定により CDMA の各トランザクションの最大転送サイズは 1024x32 ビットとなります 上記のシステム用にアプリケーションソフトウェアコードを記述します このコードは 指定したデータパターンでソースバッファーメモリを初期化し デスティネーションバッファーメモリにすべて 0 を書き込んでクリアします その後 DMA 転送用の CDMA レジスタ設定を開始します ソースバッファー位置 デスティネーションバッファー位置 および CDMA レジスタに転送されるバイトの数を書き込み CDMA 割り込みを待機します 割り込みが発生すると DMA 転送のステータスを確認します データ転送のステータスが正常の場合 ソースバッファーデータとデスティネーションバッファーデータを比較して シリアルターミナルにその結果を表示します データ転送のステータスがエラーの場合 シリアルターミナルにエラーステータスを表示して実行を停止します サンプルプロジェクト : AXI CDMA を PS の HP スレーブポートに接続 1. 次のいずれかから開始します 33 ページの サンプルプロジェクト : インスタンシエートされたファブリック IP の機能の検証 で作成したシステムを使用します 14 ページの エンベデッドプロセッサプロジェクトの作成 の説明に従って新しいプロジェクトを作成します 2. 第 3 章の edt_tutorial という名前の Vivado デザインを開き Flow Navegator で [IP Integrator] の下にある [Open Block Design] をクリックします 3. [Diagram] ウィンドウの空白部分を右クリックし [Add IP] をクリックします 4. 検索ボックスに CDMA と入力し [AXI Central Direct Memory Access] IP をダブルクリックしてブロック図に追加します AXI Central Direct Memory Access IP ブロックが [Diagram] ウィンドウに表示されます 5. [Diagram] ウィンドウの空白部分を右クリックし [Add IP] をクリックします 6. 検索ボックスに concat と入力し [Concat] IP をダブルクリックしてブロック図に追加します Concat IP ブロックが [Diagram] ウィンドウに表示されます AXI Timer を含む前のデザインを使用している場合 このブロックを使用して 2 つの割り込み信号を連結します 7. [interrupt] [IRQ_F2P[0:0]] ネットを右クリックして [delete] をクリックします 8. IRQ_F2P[0:0] ポートをクリックして Concat IP コアの dout[1:0] 出力ポートにドラッグし これら 2 つのポート間を接続します 9. AXI Timer IP コアの interrupt ポートをクリックして Concat IP コアの In0[0:0] 入力ポートにドラッグし これら 2 つのポート間を接続します 10. AXI CDMA IP コアの cdma_introut ポートをクリックして Concat IP コアの In1[0:0] 入力ポートにドラッグし これら 2 つのポート間を接続します 11. [ZYNQ7 Processing System] コアを右クリックして [Customize Block] をクリックします 12. [PS-PL Configuration] をクリックし [HP Slave AXI Interface] を展開します Zynq-7000 SoC: エンベデッドデザインチュートリアル 51

52 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 13. [S AXI HP0 Interface] および [S AXI HP2 Interface] をオンにします 14. [OK] をクリックして変更を確定します 15. [AXI CDMA IP] コアを右クリックして [Customize Block] をクリックします 16. [Re-customize IP] ダイアログボックスで 次のように設定します システムプロパティ設定または使用するコマンド Enable Scatter Gather オフ Disable 4K Boundary Checks オフ Allow Unaligned Transfers オフ Write/Read Data Width 1024 Write/Read Burst Size 32 Enable Asynchronous Mode (Auto) オフ Address Width [OK] をクリックして変更を確定します 18. [Diagram] ウィンドウ上部 [Run Connection Automation] リンクをクリックし 残りの接続を自動的に実行します Zynq-7000 SoC: エンベデッドデザインチュートリアル 52

53 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 19. [Run Connection Automation] ダイアログボックスで [All Automation] がオンになっていることを確認し [OK] をクリックしてデフォルトの接続を選択します ブロック図は次のようになります 注記 : ネットが競合するアドレスに強制的にマップされるというクリティカルメッセージが表示されることがあります 次の手順でメモリにマップされたアドレスを更新し このエラーに対処します このエラーメッセージが表示された場合は [OK] をクリックします X-Ref Target - Figure [Address Editor] ウィンドウをクリックします 図 5-2: 更新されたブロック図 X-Ref Target - Figure 5-3 図 5-3: [Address Editor] ウィンドウ Zynq-7000 SoC: エンベデッドデザインチュートリアル 53

54 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 21. [Address Editor] ウィンドウで [axi_cdma_0] [Data] を展開します X-Ref Target - Figure 5-4 図 5-4: [Address Editor] ウィンドウでのアドレスの割り当て 22. [S_AXI_HP0] の [Range] 列で [256M] を選択します 23. [S_AXI_HP0] の [Offset Address] で値を x2000_0000 に設定します 24. [Address Editor] ウィンドウで [axi_cdma_0] [Data] を展開します 25. [S_AXI_HP2] の [Range] 列で [256M] を選択します 26. [S_AXI_HP2] の [Offset Address] で値を 0x3000_0000 に設定します X-Ref Target - Figure Flow Navigator で [Program and Debug] の下の [Generate Bitstream] をクリックします [Save Project] ダイアログボックスが開きます 図 5-5: processing_system7_0 のアドレスの変更 28. [Block Design - tutorial_bd] がオンになっていることを確認し [Save] をクリックします 29. 合成を更新する必要があることを示すメッセージが表示されることがあります その場合 [Yes] をクリックします 30. ビットストリームの生成が完了したら 23 ページの ハードウェアの SDK へのエクスポート の説明に従ってハードウェアをエクスポートしてザイリンクスソフトウェア開発キット (SDK) を起動します Zynq-7000 SoC: エンベデッドデザインチュートリアル 54

55 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 デザイン用のスタンドアロンアプリケーションソフトウェア この章で設計した CDMA ベースのシステムをボードで実行するには アプリケーションソフトウェアが必要です ここでは CDMA ベースのスタンドアロンアプリケーションソフトウェアについて詳細に説明します アプリケーションソフトウェアの main() 関数は 実行のエントリポイントです 指定したテストパターンでソースメモリバッファーを初期化し デスティネーションメモリバッファーにすべて 0 を書き込んでクリアします その後 アプリケーションソフトウェアがソースバッファーおよびデスティネーションバッファーの開始位置を供給して CDMA レジスタセットを設定します DMA 転送を開始するために CDMA レジスタで転送されるバイト数を書き込み CDMA の割り込みが発生するのを待機します 割り込み後 DMA 転送のステータスを確認し ソースバッファーをデスティネーションバッファーと比較します 最後に シリアルターミナルにその比較結果を出力し 実行を停止します アプリケーションソフトウェアのフロー アプリケーションソフトウェアは次を実行します 1. ソースバッファーを指定したテストパターンで初期化します ソースバッファー位置は 0x ~ 0x2fffffff の範囲です デスティネーションアドレス範囲すべてに 0 を書き込んで デスティネーションバッファーをクリアします デスティネーションバッファー位置は 0x ~ 0x3fffffff の範囲です 2. AXI CDMA IP を初期化して次を実行します a. CDMA コールバック関数を AXI CDMA ISR と関連付け 割り込みを有効にします このコールバック関数は CDMA の割り込み中に実行され DMA 転送のステータスに応じて割り込み Done/Error フラグを設定します アプリケーションソフトウェアは コールバック関数がこれらのフラグを設定するまで待機し そのステータスフラグに応じて実行します b. CDMA をシンプルモードに設定します c. CDMA IP のステータスレジスタを確認して CDMA アイドルステータスを検証します d. ソースバッファーの開始位置 0x を CDMA レジスタに設定します e. デスティネーションバッファーの開始位置 0x を CDMA レジスタに設定します f. CDMA レジスタに転送するバイト数を設定します DMA 転送を開始します 3. CDMA 割り込みがトリガーされた後 DMA 転送のステータスを確認します 転送のステータスが正常の場合 ソースバッファー位置とデスティネーションバッファー位置を比較し シリアルターミナルにその結果を表示して実行を終了します 転送のステータスがエラーの場合 シリアルターミナルにエラーステータスを出力し 実行を停止します Zynq-7000 SoC: エンベデッドデザインチュートリアル 55

56 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 SDK を使用したスタンドアロンの CDMA アプリケーションの実行 1. SDK を開きます 2. TCF (Target Communication Frame) (hw_server.exe) エージェントが Windows マシンで実行中であることを確認します 実行されていない場合は [Xilinx Tools] [XSDB Console] をクリックします 3. [XSDB Console] ウィンドウに Connect と入力します hw_server アプリケーションが開始したことを示すメッセージが表示されるか または開始して実行中の場合は次の図に示すように tcfchan# が表示されます X-Ref Target - Figure 5-6 図 5-6: [XSDB Process] ウィンドウのハードウェアサーバーメッセージ 4. SDK で [File] [New] [Application Project] をクリックします New Project ウィザードが開きます 5. ウィザードの各ページで次の表の情報に基づいて設定を選択します ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name cdma_app Use Default Locations オン Hardware Platform <system_hw_platform> Processor PS7_cortexa9_0 OS Platform standalone Language C Board Support Package [Create New] をオンにして cdma_app_bsp と入力 Templates Available Templates Empty Application Zynq-7000 SoC: エンベデッドデザインチュートリアル 56

57 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 6. [Finish] をクリックします New Project ウィザードが閉じ cdma_app アプリケーションプロジェクトおよび cdma_app_bsp ボードサポートパッケージ (BSP) プロジェクトが作成され [Project Explorer] の下に表示されます このプロジェクトは自動的にコンパイルされ BSP が生成されます 7. [Project Explorer] ビューで [cdma_app] プロジェクトを展開して [src] ディレクトリを右クリックし [Import] をクリックして [Import] ダイアログボックスを開きます 8. [Import] ダイアログボックスで [General] を展開し [File System] をクリックします 9. [Next] をクリックします 10. [Browse] をクリックします 11. 前に保存したデザインファイルフォルダー (119 ページの このチュートリアルのデザインファイル を参照 ) に移動し [OK] をクリックします 12. cdma_app.c ファイルを追加して [Finish] をクリックします アプリケーションが自動的にビルドされ コンソールウィンドウにステータスが表示されます 注記 : システムのアプリケーションソフトウェアのファイル名は cdma_app.c です このファイルは このガイドに付属の ZIP ファイルから入手できます 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください 13. シリアル通信ユーティリティをボーレートを に設定して開きます 注記 : これは Zynq デバイスで UART に設定されているボーレートです 14. ハードウェアボードがセットアップされ オンになっていることを確認します 注記 : ボードのセットアップについては 26 ページの サンプルプロジェクト : Hello World アプリケーションの実行 を参照してください 15. [Xilinx Tools] [Program FPGA] をクリックし [Program FPGA] ダイアログボックスを開きます ダイアログボックスにビットストリームパスが表示されます 16. [Program] をクリックし ビットストリームをダウンロードして PL ファブリックをプログラムします ページの サンプルプロジェクト : Hello World アプリケーションの実行 の手順と同じようにプロジェクトを実行します 18. シリアルターミナルで CDMA 転送のステータスを確認します 転送が正常の場合 DMA Transfer is Successful というメッセージが表示されます エラーの場合 シリアルターミナルにエラーメッセージが表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 57

58 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 CDMA システム用の Linux OS ベースのアプリケーションソフトウェア このセクションでは Linux で提供される mmap() システムコールを使用して CDMA 用の Linux ベースアプリケーションソフトウェアを作成し ハードウェアで実行して CDMA IP の機能を確認します mmap() システムコールは メモリのマップ中に提供される属性に応じて読み出しまたは書き込みを実行できるように 指定したカーネルメモリエリアをユーザー層に割り当てるのに使用されます 注記 : mmap() システムコールの詳細は このガイドでは説明しません 注意 : mmap() の呼び出しにより カーネルの制限領域または共有リソースが誤ってアクセスされると カーネルがクラッシュする可能性があります アプリケーションソフトウェアの main() 関数は 実行のエントリポイントです 指定したテストパターンでソース配列を初期化し デスティネーションメモリバッファーにすべて 0 を書き込んでクリアします その後 ソース配列の内容を DDR メモリに 0x からコピーし デスティネーションへの DMA 転送を開始するように DMA レジスタを設定します DMA 転送後 アプリケーションは転送のステータスを読み出し その結果をシリアルターミナルに表示します アプリケーションソフトウェアの作成手順 アプリケーションソフトウェアを作成する手順は次のとおりです 1. ユーザー層にあるソース配列全体を 0xa5a5a5a5 値に初期化します 2. ユーザー層にあるデスティネーションバッファー全体に 0 を書き込み クリアします 3. mmap() システムコールを使用して 0x から開始するカーネルのメモリ位置を書き込み権限のあるユーザー層にマップします このようにマップすることで 指定したカーネルメモリへの書き込みが可能になります 4. ソース配列の内容をマップ済みのカーネルメモリにコピーします 5. ユーザー層のカーネルメモリへのマップを解除します 6. mmap() システムコールを使用して AXI CDMA レジスタのメモリ位置を読み出し権限および書き込み権限のあるユーザー層にマップします ユーザー層から CDMA レジスタを次のように設定します a. DMA をリセットして前の通信を停止します b. 割り込みを有効にして DMA 転送のステータスを取得します c. CDMA をシンプルモードに設定します d. CDMA がアイドル状態であることを確認します e. ソースバッファーの開始位置 0x を CDMA レジスタに設定します f. デスティネーションバッファーの開始位置 0x を CDMA レジスタに設定します g. CDMA レジスタで転送されるバイト数を設定します このレジスタへの書き込みにより DMA 転送が開始します Zynq-7000 SoC: エンベデッドデザインチュートリアル 58

59 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 7. DMA 転送のステータスを 転送が終了するまで継続して読み出します 8. CDMA 転送の終了後 mmap() システムコールを使用して ユーザー層から変更するため CDMA レジスタメモリのマップを解除します 9. 0x から開始するカーネルメモリ位置を 読み出し属性と書き込み属性を持つユーザー層にマップします 10. カーネルメモリの 0x からの内容をユーザー層のデスティネーション配列にコピーします 11. ユーザー層のカーネルメモリへのマップを解除します 12. ソース配列をデスティネーション配列と比較します 13. シリアルターミナルに比較結果が表示されます 比較結果が正常の場合 DATA Transfer is Successful というメッセージが表示されます エラーの場合 シリアルターミナルにエラーメッセージが表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 59

60 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 SDK を使用した Linux CDMA アプリケーションの実行 ターゲットボード上で Linux を実行する詳細な手順は 第 6 章に説明されています Linux の実行に慣れていない場合は この例を実行する前に第 6 章の例を実行してください Linux OS ベースのアプリケーションを実行する手順は次のとおりです ページの ターゲットボートでの Linux のブート ページの SDK を使用したアプリケーションのビルドとターゲットボードでの実行 ターゲットボートでの Linux のブート JTAG モードを使用して Zynq-7000 SoC ZC702 ターゲットボード上で Linux をブートします 注記 : その他のブートオプションは 第 6 章を参照してください 1. JTAG モードを使用して Linux をブートする際の次のボード接続および設定を確認します a. 26 ページの サンプルプロジェクト : Hello World アプリケーションの実行 の説明に従って ジャンパー J27 および J28 が設定されていることを確認します b. SW16 スイッチが次の図に示すように設定されていることを確認します c. イーサネットケーブルを Zynq SoC ボードからネットワークに接続します d. Windows ホストマシンをネットワークに接続します e. 電源ケーブルをボードに接続します X-Ref Target - Figure 5-7 図 5-7: SW16 スイッチの設定 Zynq-7000 SoC: エンベデッドデザインチュートリアル 60

61 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 2. ターゲットボードの SW10 スイッチを図 5-8 に示すように設定し USB Micro ケーブルを使用して Windows ホストマシンとターゲットボードを接続します Bit-1 は 0 Bit-2 は 1 注記 : 0 は開 1 は閉です ユーザーインターフェイスに応じて 正しい JTAG モードを選択する必要があります JTAG モードは ZC702 ではスイッチ SW10 ZC706 ではスイッチ SW4 で設定します X-Ref Target - Figure 5-8 図 5-8: Digilent 社製 USB JTAG を使用するように設定された ZC702 の SW10 3. USB ケーブルを使用して Windows ホストマシンとターゲットボードのコネクタ J17 を接続します これは USB からシリアルへの転送に使用されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 61

62 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 4. イーサネットジャンパー J30 および J43 を次の図に示すように変更します X-Ref Target - Figure ターゲットボードに電源を投入します 6. SDK を起動し 第 2 章および第 3 章で使用したワークスペースを開きます 7. シリアルターミナルが開いていない場合は ボーレートを に設定してシリアル通信ユーティリティを開きます 注記 : これは Zynq デバイスで UART に設定されているボーレートです 8. [Xilinx Tools] [Program FPGA] [Program] をクリックし ビットストリームをダウンロードします 9. [Xilinx Tools] [XSCT console] をクリックして Xilinx System Debugger (XSCT) ツールを開きます 10. XSCT プロンプトで次を実行します a. connect と入力して PS に接続します 図 5-9: ジャンパー J30 および J43 の変更 b. targets と入力してターゲットプロセッサのリストを取得します c. targets 2 と入力してプロセッサ CPU1 を選択します xsct% targets 1 APU 2 ARM Cortex-A9 MPCore #0 (Running) 3 ARM Cortex-A9 MPCore #1 (Running) 4 xc7z020 xsct% targets 2 xsct% targets 1 APU 2* ARM Cortex-A9 MPCore #0 (Running) 3 ARM Cortex-A9 MPCore #1 (Running) 4 xc7z020 Zynq-7000 SoC: エンベデッドデザインチュートリアル 62

63 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 d. source C:/designs/edt_tutorial/edt_tutorial.sdk/ tutorial_bd_wrapper_hw_platform_0/ps7_init.tcl と入力してから ps7_init と入力し PS ( クロック PLL MIO DDR など ) を初期化します e. ps7_post_config と入力して PS と PL 間のレベルシフターを有効にし ファブリックポートリセットをクリアします f. dow <tutorial_download_path>/u-boot.elf と入力して PetaLinux U-Boot.elf をダウンロードします g. con と入力して U-Boot を実行します シリアルターミナルに 次のような自動ブートカウントダウンメッセージが表示されます Hit any key to stop autoboot: 3 h. Enter キーを押します U-Boot からの自動ブートが停止し シリアルターミナルにコマンドプロンプトが表示されます i. XSCT プロンプトに stop と入力します U-Boot の実行が停止します j. dow -data image.ub 0x と入力し Linux カーネルイメージを 0x にダウンロードします k. con と入力して U-Boot を実行します 11. シリアルターミナルのコマンドプロンプトに bootm 0x と入力します Linux OS が起動します 12. 必要に応じてシリアルターミナルに Zynq のユーザー名 root とパスワード root を入力し プロセッサのブートを完了させます ブートが完了すると シリアルターミナルに # prompt プロンプトが表示されます 13. root@xilinx-zc _3:~# プロンプトで ボードのイーサネット接続が設定されていることを確認します a. Zynq> プロンプトに ifconfig eth0 と入力し ボードの IP アドレスを確認します このコマンドは 現時点でアクティブなすべてのインターフェイスの詳細を表示します 表示されるメッセージで inet addr 値は Zynq SoC ボードに割り当てられている IP アドレスを示します b. inet addr と netmask の値が存在しない場合 次のコマンドを使用してそれらを割り当てることができます root@xilinx-zc _3:~# ifconfig eth0 inet root@xilinx-zc _3:~# ifconfig eth0 netmask Windows マシンの IP アドレス設定がボードの設定に一致していることを確認します ネットワーク接続を開いて ローカルエリア接続のプロパティを調整します a. XC702 ボードに接続されているローカルエリア接続を右クリックして [Properties] をクリックします b. [Local Area Connection Properties] ダイアログボックスで リストから [Internet Protocol Version 4 (TCP/IPv4)] を選択し [Properties] をクリックします c. [Use the following IP address] をオンにし 次のように設定します [IP address]: [Subnet mask]: Zynq-7000 SoC: エンベデッドデザインチュートリアル 63

64 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 d. [OK] をクリックして値を確定します 15. Windows マシンのコマンドプロンプトに ping と入力し それに続いてボードの IP アドレスを入力して ボードとの接続を確認します ping 応答がループ内に表示されます この応答は Windows ホストマシンとターゲットボード間の接続が確立されていることを意味します 16. Ctrl + C キーを押して Windows ホストマシンのコマンドプロンプトでの ping 応答の表示を停止します ターゲットボードでの Linux のブートが終了し ホストマシンとターゲットボード間の接続が完了します SDK を使用したアプリケーションのビルドとターゲットボードでの実行 1. これで Linux がボード上で稼働するようになりました 次に CDMA を利用する Linux アプリケーションを作成します [File] [New] [Application Project] をクリックします 2. ウィザードの各ページで次の表の情報に基づいて設定を選択します ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name linux_cdma_app 3. [Finish] をクリックします New Project ウィザードが閉じ linux_cdma_app プロジェクトが作成されて [Project Explorer] ビューに表示されます 4. [Project Explorer] ビューで [linux_cdma_app] プロジェクトを展開して [src] ディレクトリを右クリックし [Import] をクリックして [Import] ダイアログボックスを開きます 5. [Import] ダイアログボックスで [General] を展開し [File System] を選択します 6. [Next] をクリックします Hardware Platform Processor OS Platform Language 7. linux_cdma_app.c ファイルを追加して [Finish] をクリックします <system_hw_platform> PS7_cortexa9_0 Linux Templates Available Templates Linux Empty Application アプリケーションがビルドされ linux_cdma_app.elf ファイルが生成されます コンソールウィンドウでステータスを確認します 注記 : システムのサンプルアプリケーションソフトウェアファイルは linux_cdma_app.c です このファイルは このガイドに付属の ZIP ファイルに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください 8. [linux_cdma_app] を右クリックし [Run As] [Run Configurations] をクリックして Run Configurations ウィザードを開きます C Zynq-7000 SoC: エンベデッドデザインチュートリアル 64

65 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 9. [Xilinx C/C++ application (System Debugger)] を右クリックして [New] をクリックします X-Ref Target - Figure [Connection] タブで [New] を選択し New Connection ウィザードを開きます 11. [New Target Connection] ページで 次のように設定します ( 図 5-11 も参照 ) a. [Target Name] フィールドで名前を指定します ここでは CDMALinux を使用します b. [Host] フィールドにターゲットボードの IP アドレスを入力します ターゲットボードの IP アドレスを確認するには シリアルターミナルの Zynq> プロンプトに ifconfig eth0 と入力します ターミナルにボードに割り当てられているターゲット IP アドレスが表示されます c. [Port] フィールドに 1534 と入力します 図 5-10: Run Configurations ウィザード X-Ref Target - Figure [OK] をクリックして接続を作成します 図 5-11: [Target Connection Details] ダイアログボックスの設定 Zynq-7000 SoC: エンベデッドデザインチュートリアル 65

66 第 5 章 : AXI CDMA IP での HP スレーブポートの使用 13. [Application] タブでアプリケーションデータを次ように設定します a. [Project Name]: linux_cdma_app b. [Local File Path]: Debug/linux_cdma_app.elf c. [Remote File Path]: /tmp/cdma.elf X-Ref Target - Figure 5-12 図 5-12: [Application] タブでのデバッグコンフィギュレーション設定 14. [Run] をクリックします アプリケーションが実行され コンソールウィンドウに次の図に示すように DATA Transfer is Successful というメッセージが表示されます X-Ref Target - Figure 5-13 図 5-13: データ転送メッセージ Zynq-7000 SoC: エンベデッドデザインチュートリアル 66

67 第 6 章 Linux のブートおよび SDK でのデバック この章では PetaLinux ツールを使用して Zynq SoC ボード上で Linux OS を設定およびビルドする手順を説明します JTAG インターフェイスを使用して Linux でコンパイル済みのイメージをターゲットメモリにダウンロードする方法も示します この章の後半では コンパイル済みのイメージで次の不揮発性メモリをプログラムする方法について説明します これらのイメージは ボードをオンにした後に Linux の自動ブートに使用されます オンボード QSPI フラッシュ SD カード この章では ザイリンクスソフトウェア開発キット (SDK) のリモートデバッグ機能を使用して ターゲットボード上で動作する Linux アプリケーションをデバッグする方法についても説明します SDK ソフトウェアツールは Windows ホストマシンで実行します アプリケーションのデバッグでは SDK によって Linux OS が実行されているターゲットボードへのイーサネット接続が確立されます 詳細は エンベデッドデザインツールウェブページ [ 参照 16] を参照してください 必要な環境 この章では ターゲットプラットフォームとして Zynq ボードを使用します ホストプラットフォームは Vivado ツールを実行する Windows マシンと Linux マシン ( 物理マシンまたは仮想マシン ) にインストールされた PetaLinux です 注記 : この章のチュートリアルには 一般的なブートローダーである Das U-Boot が必要です これは 次にダウンロードするコンパイル済みのイメージに含まれます ザイリンクスの資料サイトから このガイドに関連する ZIP ファイルをダウンロードしてください 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください この ZIP ファイルには 次のファイルが含まれています BOOT.bin: bootgen で生成された FSBL および U-Boot イメージを含むバイナリイメージ cdma_app.c: この章で作成するシステム用のスタンドアロンアプリケーションソフトウェア helloworld.c: 第 3 章で作成したシステム用のスタンドアロンアプリケーションソフトウェア linux_cdma_app: この章で作成するシステム用の Linux OS ベースのアプリケーションソフトウェア README.txt: ZIP ファイルに関する著作権およびリリースの情報 u-boot.elf: BOOT.BIN イメージの作成に使用する U-Boot ファイル Image.ub: PetaLinux ビルドイメージ ( カーネルイメージ Ramdisk および dtb を含む ) fsbl.elf: BOOT.BIN イメージの作成に使用する FSBL イメージ Zynq-7000 SoC: エンベデッドデザインチュートリアル 67

68 第 6 章 : Linux のブートおよび SDK でのデバック Zynq SoC ボード上での Linux のブート このセクションでは 67 ページの 必要な環境 でダウンロードしたコンパイル済みのイメージを使用して ターゲットボード上で Linux をブートするフローを説明します 注記 : カーネルイメージ U-Boot デバイスツリー ルートファイルなどのさまざまなイメージのコンパイルについては このガイドでは説明しません ブート方法 次のブート方法があります マスターブート方法 スレーブブート方法 マスターブート方法 マスターブート方法では QSPI NAND NOR フラッシュ および SD カードなどのさまざまな不揮発性メモリにブートイメージを保存します この方法では CPU で外部のブートイメージを不揮発性メモリからプロセッシングシステム (PS) にロードして実行します マスターブート方法は さらにセキュアモードと非セキュアモードに分類されます 詳細は Zynq-7000 SoC テクニカルリファレンスマニュアル (UG585) [ 参照 1] を参照してください ブートプロセスは プロセッシングシステム (PS) にある Arm Cortex-A9 CPU の 1 つによって開始され オンチップ ROM コードを実行します このオンチップ ROM コードが第 1 段階ブートローダー (FSBL) をロードします FSBL は次を実行します ハードウェアビットストリームがある場合は これで FPGA をコンフィギュレーションします MIO インターフェイスをコンフィギュレーションします DDR コントローラーを初期化します クロック PLL を初期化します Linux の U-Boot イメージを不揮発性メモリから DDR にロードして実行します U-Boot は カーネルイメージ ルートファイルシステムおよびデバイスツリーを不揮発性 RAM から DDR にロードし これらの実行を開始します ターゲットプラットフォームでの Linux のブートを終了させます スレーブブート方法 JTAG は スレーブブートモードでのみ使用可能です 外部ホストコンピューターがマスターとして機能し JTAG 接続を使用してブートイメージを OCM にロードします 注記 : ブートイメージをロードする間 PS の CPU はアイドルモードになります スレーブブート方法でのブートは常に非セキュアモードです JTAG ブートモードでは CPU はセキュリティ関連のすべてのアイテムへのアクセスを無効にし JTAG ポートを有効にした直後に停止モードに遷移します CPU の実行を再開させる前に ブートイメージを DDR メモリにダウンロードする必要があります Zynq-7000 SoC: エンベデッドデザインチュートリアル 68

69 第 6 章 : Linux のブートおよび SDK でのデバック JTAG からの Linux のブート 次のフロー図に ターゲットプラットフォームで Linux をブートするプロセスを示します X-Ref Target - Figure 6-1 図 6-1: ターゲットプラットフォームでの Linux のブートプロセス デバッグ用の PetaLinux ビルドの準備 tcf-agent を使用して Linux アプリケーションをデバッグするには PetaLinux RootFS で tcf-agent を手動で有効にする必要があります PetaLinux RootFS で dropbear-openssh-sftp サーバーが無効になっていることを確認します 注記 : ザイリンクス SDK の System Debugger では tcf-agent (TCF - Target Communication Framework) を使用した Linux アプリケーションのデバッグがサポートされます TCF エージェントは PetaLinux roofts パッケージの一部として提供されていますが 必要に応じて有効にする必要があります これらのコンポーネントを有効にする方法は PetaLinux ツール資料 : リファレンスガイド (UG1144) [ 参照 11] の TCF エージェントによるアプリケーションのデバッグ を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 69

70 第 6 章 : Linux のブートおよび SDK でのデバック JTAG モードを使用した Linux のブート 1. JTAG モードを使用して Linux をブートする際の次のボード接続および設定を確認します a. 26 ページの サンプルプロジェクト : Hello World アプリケーションの実行 の説明に従って ジャンパー J27 および J28 が設定されていることを確認します b. SW16 スイッチが次の図に示すように設定されていることを確認します c. イーサネットケーブルを Zynq SoC からネットワークに接続するか またはホストマシンに直接接続します d. Windows ホストマシンをネットワークに接続します e. 電源ケーブルをボードに接続します X-Ref Target - Figure ターゲットボードの SW10 スイッチを次の図に示すように設定し USB Micro ケーブルを使用して Windows ホストマシンとターゲットボードを接続します Bit-1 は 0 図 6-2: SW16 スイッチの設定 Bit-2 は 1 注記 : 0 は開 1 は閉です ユーザーインターフェイスに応じて 正しい JTAG モードを選択する必要があります JTAG モードは zc702 ではスイッチ SW10 zc706 ではスイッチ SW4 で設定します Zynq-7000 SoC: エンベデッドデザインチュートリアル 70

71 第 6 章 : Linux のブートおよび SDK でのデバック X-Ref Target - Figure 6-3 図 6-3: Digilent 社製 USB JTAG を使用するように設定された ZC706 の SW4 3. USB ケーブルを使用して Windows ホストマシンとターゲットボードのコネクタ J17 を接続します これは USB からシリアルへの転送に使用されます 4. イーサネットジャンパー J30 および J43 を次の図に示すように変更します X-Ref Target - Figure ターゲットボードに電源を投入します 図 6-4: ジャンパー J30 および J43 の変更 6. SDK を起動し 第 2 章および第 3 章で使用したワークスペースを開きます 7. シリアルターミナルが開いていない場合は ボーレートを に設定してシリアル通信ユーティリティを開きます 注記 : これは Zynq デバイスで UART に設定されているボーレートです 8. [Xilinx Tools] [Program FPGA] [Program] をクリックし ビットストリームをダウンロードします 9. [Xilinx Tools] [XSCT console] をクリックして Xilinx System Debugger (XSCT) ツールを開きます Zynq-7000 SoC: エンベデッドデザインチュートリアル 71

72 第 6 章 : Linux のブートおよび SDK でのデバック 10. XSCT プロンプトで次を実行します a. connect と入力して PS に接続します b. targets と入力してターゲットプロセッサのリストを取得します c. ta 2 と入力してプロセッサ CPU1 を選択します xsct% targets 1 APU 2 ARM Cortex-A9 MPCore #0 (Running) 3 ARM Cortex-A9 MPCore #1 (Running) 4 xc7z020 xsct% ta 2 xsct% targets 1 APU 2* ARM Cortex-A9 MPCore #0 (Running) 3 ARM Cortex-A9 MPCore #1 (Running) 4 xc7z020 d. source C:/designs/edt_tutorial/edt_tutorial.sdk/ tutorial_bd_wrapper_hw_platform_0/ps7_init.tcl と入力してから ps7_init と入力し PS ( クロック PLL MIO DDR など ) を初期化します e. ps7_post_config と入力して PS とプログラマブルロジック (PL) 間のレベルシフターを有効にし ファブリックポートリセットをクリアします f. dow <tutorial_download_path>/u-boot.elf と入力して PetaLinux U-Boot.elf をダウンロードします g. con と入力して U-Boot を実行します シリアルターミナルに 次のような自動ブートカウントダウンメッセージが表示されます Hit any key to stop autoboot: 3 h. Enter キーを押します U-Boot からの自動ブートが停止し シリアルターミナルにコマンドプロンプトが表示されます i. XSCT プロンプトに stop と入力します U-Boot の実行が停止します j. dow -data image.ub 0x と入力し Linux カーネルイメージを <tutorial_download_path>/image.ub にダウンロードします k. con と入力して U-Boot を実行します 11. シリアルターミナルのコマンドプロンプトに bootm 0x と入力します Linux OS が起動します 12. 必要に応じてシリアルターミナルに Zynq のユーザー名 root とパスワード root を入力し プロセッサのブートを完了させます ブートが完了すると シリアルターミナルに # prompt プロンプトが表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 72

73 第 6 章 : Linux のブートおよび SDK でのデバック 13. oot@plnx_arm:~# プロンプトで ボードのイーサネット接続が設定されていることを確認します a. Zynq> プロンプトに ifconfig eth0 と入力し ボードの IP アドレスを確認します このコマンドは 現時点でアクティブなすべてのインターフェイスの詳細を表示します 表示されるメッセージで inet addr 値は Zynq SoC ボードに割り当てられている IP アドレスを示します b. inet addr と netmask の値が存在しない場合 次のコマンドを使用してそれらを割り当てることができます root@plnx_arm:~# ifconfig eth0 inet root@plnx_arm:~# ifconfig eth0 netmask 重要 : ターゲットとホストを直接接続している場合は IP アドレスを設定する必要があります ターゲットとホストを LAN を介して接続している場合は DHCP によりターゲットの IP アドレスが取得されます ifconfig etho を使用して IP アドレスを表示してください Windows マシンの IP アドレス設定がボードの設定に一致していることを確認します ネットワーク接続を開いて ローカルエリア接続のプロパティを調整します i XC702 ボードに接続されているローカルエリア接続を右クリックして [Properties] をクリックします ii [Local Area Connection Properties] ダイアログボックスで リストから [Internet Protocol Version 4 (TCP/IPv4)] を選択し [Properties] をクリックします iii [Use the following IP address] をオンにし 次のように設定します [IP address]: ( 直接接続されている場合は ターゲットとホストが同じサブネットに存在する必要あり ) [Subnet mask]: Zynq-7000 SoC: エンベデッドデザインチュートリアル 73

74 第 6 章 : Linux のブートおよび SDK でのデバック X-Ref Target - Figure 6-5 図 6-5: IP アドレスの設定 c. [OK] をクリックして値を確定し ウィンドウを閉じます 14. Windows マシンのコマンドプロンプトに ping と入力し それに続いてボードの IP アドレスを入力して ボードとの接続を確認します ping 応答がループ内に表示されます この応答は Windows ホストマシンとターゲットボード間の接続が確立されていることを意味します 15. Ctrl + C キーを押して Windows ホストマシンのコマンドプロンプトでの ping 応答の表示を停止します ターゲットボードでの Linux のブートが終了し ホストマシンとターゲットボード間の接続が完了します 次のサンプルデザインでは SDK を使用して Linux アプリケーションをデバッグする方法を説明します Zynq-7000 SoC: エンベデッドデザインチュートリアル 74

75 第 6 章 : Linux のブートおよび SDK でのデバック サンプルデザイン : SDK を使用した Linux アプリケーションのデバッグ このセクションでは SDK を使用してデフォルトの Linux hello world アプリケーションを作成し Windows ホストマシンから Linux アプリケーションをデバッグする手順を実行します 1. SDK を開きます 2. [File] [New] [Application Project] をクリックします New Project ウィザードが開きます 3. 次の表の情報に基づいて ウィザード画面で選択操作を実行します 表 6-1: SDK でデバッグする場合の New Project ウィザードの設定 ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name HelloLinux 4. [Finish] をクリックします Use default location Hardware Platform Processor OS Platform Language New Project ウィザードが閉じ HelloLinux プロジェクトが作成されて [Project Explorer] ビューに表示されます また このプロジェクトが自動的にコンパイルされ HelloLinux.elf ファイルが生成されます 5. [HelloLinux] を右クリックし [Debug as] [Debug Configurations] をクリックしてデバッグ Configurations ウィザードを開きます 6. [System Debugger] をダブルクリックし 次の図に示すように [Debug Type] に [Linux Application Debug] を選択します オン <system_hw_platform> PS7_cortexa9_0 Linux Templates Available Templates Linux Hello World C X-Ref Target - Figure 6-6 図 6-6: デバッグタイプの選択 7. [Target Setup] タブで [Connection] フィールドの横にある [New] をクリックします Zynq-7000 SoC: エンベデッドデザインチュートリアル 75

76 第 6 章 : Linux のブートおよび SDK でのデバック 8. [Target Connection Details] ダイアログボックスで次のように設定します a. [Target Name] を選択します b. [Host] フィールドにターゲットの IP アドレスを入力します c. [Port] フィールドに 1534 と入力します X-Ref Target - Figure 6-7 図 6-7: デバッグのターゲット接続設定 Zynq-7000 SoC: エンベデッドデザインチュートリアル 76

77 第 6 章 : Linux のブートおよび SDK でのデバック 9. アプリケーションコンフィギュレーションの詳細を次のように設定します a. [Application] タブをクリックします b. [Project Name] の横にある [Browse] ボタンをクリックします [Project Selection] ダイアログボックスが表示されます c. HelloLinux プロジェクトを選択し [OK] をクリックします d. [Remote File] パス (/tmp/hellolinux.elf など ) を設定し [Apply] をクリックします X-Ref Target - Figure 6-8 図 6-8: デバッグのターゲットオプション 10. [Debug] をクリックします 注記 : [Confirm Perspective Switch] ダイアログボックスが表示されたら [Yes] をクリックします X-Ref Target - Figure 6-9 図 6-9: [Confirm Perspective Switch] ダイアログボックス Zynq-7000 SoC: エンベデッドデザインチュートリアル 77

78 第 6 章 : Linux のブートおよび SDK でのデバック [Debug] パースペクティブが開きます ( 図 6-10 を参照 ) このパースペクティブで 次を実行できます - 実行が main() で停止していることを確認します - アドレスへの逆アセンブリポイントを表示します - エディターペインで関数の左側を右クリックしてブレークポイントを設定します ( 下の図では helloworld.c を表示 ) - ブレークポイントを設定すると ブレークポイントリストに表示されます レジスタの内容を確認および変更できます [Registers] ビューに表示されている PC レジスタのアドレスと [Disassembly] ビューに表示されているアドレスは同じです ( 次の図を参照 ) - 次の図で緑色で示されている [step-into] (F5) [step-return] (F7) [step-over] (F6) [Resume] (F8) および [continue debugging] ボタンを使用します X-Ref Target - Figure 6-10 図 6-10: HelloLinux アプリケーションが表示された [Debug] パースペクティブ ヒント : Linux アプリケーションの出力は Linux を実行するために使用したターミナルウィンドウではなく SDK コンソールに表示されます 11. Linux アプリケーションのデバッグが終了したら SDK を閉じます Zynq-7000 SoC: エンベデッドデザインチュートリアル 78

79 第 6 章 : Linux のブートおよび SDK でのデバック サンプルプロジェクト : QSPI フラッシュからの Linux のブート このサンプルプロジェクトでは 次を実行します 1. 第 1 段階ブートローダー (FSBL) の実行ファイルを作成します 2. QSPI フラッシュ用に Linux のブータブルイメージを作成します PetaLinux を QSPI フラッシュブートモードに設定して際ビルドする必要があります デフォルトでは ブートオプションは SD ブートに設定されています ヒント : この資料に付属の ZIP ファイルに ビルド済みイメージが含まれています これらのファイルを使用して 85 ページの QSPI フラッシュからの Linux のブート または 86 ページの SD カードからの Linux のブート に進むこともできます 3. Linux マシンで次の手順を実行し ブートモードを QSPI に変更します a. PetaLinux プロジェクトのルートディレクトリに移動します $ cd <plnx-proj-root> b. 最上位のシステム設定メニューを起動します $ petalinux-config c. [Subsystem AUTO Hardware Settings] を選択します d. [Advanced Bootable Images Storage Settings] を選択します - [boot image settings] を選択します - [Image Storage Media] を選択します - [primary flash] としてブートデバイスを選択します e. [Advanced Bootable Images Storage Settings] サブメニューで 次の操作を実行します - [kernel image settings] を選択します - [Image Storage Media] を選択します - [primary flash] としてストレージデバイスを選択します f. 設定内容を保存し Configuration ウィザードを終了します g. Petalinux-build コマンドを使用して再構築します 注記 : 詳細は PetaLinux ツール資料 : リファレンスガイド (UG1144) [ 参照 11] を参照してください 4. JTAG および U-Boot コマンドを使用して QSPI フラッシュをブートイメージでプログラムします 5. QSPI フラッシュから Linux をブートします Zynq-7000 SoC: エンベデッドデザインチュートリアル 79

80 第 6 章 : Linux のブートおよび SDK でのデバック 第 1 段階ブートローダー (FSBL) の実行ファイルの作成 1. SDK を開きます 2. TCF (Target Communication Frame) (hw_server.exe) エージェントが Windows マシンで実行中であることを確認します 実行されていない場合は SDK で [Xilinx Tools] [XSCT Console] をクリックします 3. [XSDB Console] ウィンドウに Connect と入力します hw_server アプリケーションが開始したことを示すメッセージが表示されるか または開始して実行中の場合は次の図に示すように tcfchan# が表示されます X-Ref Target - Figure 6-11 図 6-11: XSCT コンソール : hw_server アプリケーションが開始したことを示すメッセージ 4. SDK で [File] [New] [Application Project] をクリックします New Project ウィザードが開きます Zynq-7000 SoC: エンベデッドデザインチュートリアル 80

81 第 6 章 : Linux のブートおよび SDK でのデバック 5. ウィザードの各ページで次の表の情報に基づいて設定を選択します 表 6-2: Linux プロジェクトをブートする場合の New Project ウィザードの設定 ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name [fsbl] 6. [Finish] をクリックします Use default location Hardware Platform Processor OS Platform Language New Project ウィザードが閉じます fsbl アプリケーションプロジェクトおよび fsbl_bsp ボードサポートパッケージ (BSP) プロジェクトが作成され [Project Explorer] ビューに表示されます また このプロジェクトが自動的にコンパイルされ fsbl.elf ファイルが生成されます オン <system_hw_platform> PS7_cortexa9_0 standalone Board Support Package [Create New] をオンにして fsbl_bsp と入力 Templates Available Templates Zynq FSBL C Zynq-7000 SoC: エンベデッドデザインチュートリアル 81

82 第 6 章 : Linux のブートおよび SDK でのデバック QSPI フラッシュ用の Linux ブータブルイメージの作成 1. SDK で [Xilinx Tools] [Create Boot Image] をクリックし Create Boot Image ウィザードを開きます X-Ref Target - Figure 6-12 図 6-12: Zynq デバイスのブートイメージの作成 2. [Architecture] ドロップダウンリストから [Zynq] を選択します 3. [Output BIF file path] フィールドの横にある [Browse] をクリックし output.bif ファイルを選択します 4. [Output path] フィールドの横にある [Browse] をクリックし BOOT.bin ファイルを選択します 注記 : QSPI ブートファイル BOOT.bin は このガイドに付属の ZIP ファイルに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 82

83 第 6 章 : Linux のブートおよび SDK でのデバック 5. [Add] をクリックして次のブートイメージパーティションを追加します fsbl.elf ( ブートローダー ) 注記 : fsbl.elf は <project dir>/project/project.sdk/sdk/sdk_export/fsbl/debug にあります 67 ページの 必要な環境 でダウンロードしたファイルに含まれる fsbl.elf を使用することもできます ビットストリームと U-Boot イメージ u-boot.elf を追加します PetaLinux 出力イメージ image.ub を追加し オフセット 0x を指定します image.ub は カーネルイメージ デバイスツリー blob および最小 rootfs で構成されます 6. [Create Image] をクリックして指定した出力パスフォルダーに BOOT.bin ファイルを作成します JTAG を使用した QSPI フラッシュのブートイメージでのプログラム JTAG を使用して QSPI フラッシュをブートイメージでプログラムできます 1. ZC702 ボードに電源を投入します 2. シリアルターミナルが開いていない場合は ボーレートを に設定してシリアルターミナルに接続します 注記 : これは Zynq デバイスで UART に設定されているボーレートです 3. [Xilinx Tools] [XSCT Console] をクリックして XSCT ツールを開きます 4. XSCT プロンプトで次を実行します a. connect と入力して PS に接続します b. targets と入力してターゲットプロセッサのリストを取得します c. ta 2 と入力してプロセッサ CPU1 を選択します d. source <Project Dir>/project_1/project_1.sdk/SDK/SDK_Export/<system_hw_platform>/ps7_init.tcl と入力してから ps7_init と入力し PS を初期化します e. ps7_post_config と入力して PS と PL 間のレベルシフターを有効にし ファブリックポートリセットをクリアします f. dow u-boot.elf と入力して Linux U-Boot を QSPI フラッシュにダウンロードします g. dow -data BOOT.bin 0x と入力し Linux のブータブルイメージをターゲットメモリのロケーション 0x にダウンロードします 注記 : バイナリ実行ファイルを DDR メモリにダウンロードしました バイナリ実行ファイルは DDR メモリのどのアドレスにもダウンロードできます h. con と入力して U-Boot を実行します U-Boot がブートを開始します シリアルターミナルに 次のような自動ブートカウントダウンメッセージが表示されます Hit any key to stop autoboot: 3 5. Enter キーを押します U-Boot からの自動ブートが停止し シリアルターミナルに U-Boot コマンドプロンプトが表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 83

84 第 6 章 : Linux のブートおよび SDK でのデバック 6. 次の手順に従って U-Boot をブータブルイメージでプログラムします a. プロンプトに sf probe と入力して QSPI フラッシュを選択します b. sf erase 0 0x と入力してフラッシュデータを消去します このコマンドにより 16 MB のオンボード QSPI フラッシュメモリが完全に消去されます c. sf write 0x xffffff と入力して QSPI フラッシュにブートイメージを書き込みます ブータブルイメージは既に DDR の 0x にコピーされています このコマンドは ブータブルイメージと同じサイズのデータを DDR から QSPI のロケーション 0x0 にコピーします この例では 16 MB のフラッシュメモリを使用しているので 16 MB のデータがコピーされます ブータブルイメージのサイズは引数を変更して調整できます 7. ボードの電源をオフにし 次のセクションのブート手順に従います SDK フラッシュプログラムツールを使用した QSPI フラッシュのプログラム 次の手順を使用すると SDK フラッシュプログラムツールを使用して QSPI フラッシュをプログラムできます 1. ZC702 ボードに電源を投入します 2. シリアルターミナルが開いていない場合は ボーレートを に設定してシリアルターミナルに接続します 注記 : これは Zynq デバイスで UART に設定されているボーレートです 3. [Xilinx Tools] [Program Flash] をクリックします 4. フラッシュにプログラムする BOOT.bin ファイルを選択し [Program] をクリックします ( 次の図を参照 ) X-Ref Target - Figure 6-13 図 6-13: フラッシュツールを使用した BOOT.bin ファイルのプログラム 正しくプログラムされると コンソールウィンドウに Flash Operation Successful というメッセージが表示されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 84

85 第 6 章 : Linux のブートおよび SDK でのデバック 5. ボードの電源をオフにし 85 ページの QSPI フラッシュからの Linux のブート または 86 ページの SD カードからの Linux のブート のブート手順に従います QSPI フラッシュからの Linux のブート 1. QSPI フラッシュをプログラムしたら ボードの SW16 スイッチを次の図に示すように設定します X-Ref Target - Figure のボーレート設定を使用してシリアルターミナルを接続します 注記 : これは Zynq デバイスで UART に設定されているボーレートです 3. ボードに電源を投入します 図 6-14: QSPI フラッシュから Linux をブートする際のジャンパー設定 シリアルターミナルに Linux ブートメッセージが表示されます ブートが完了すると root@plnx_arm:~# プロンプトが表示されます ページの JTAG モードを使用した Linux のブート の説明に従ってボード IP アドレスの接続を確認します Linux アプリケーションの作成およびデバッグについては 75 ページの サンプルデザイン : SDK を使用した Linux アプリケーションのデバッグ を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 85

86 第 6 章 : Linux のブートおよび SDK でのデバック SD カードからの Linux のブート 1. SW16 スイッチ設定を次の図に示すように変更します X-Ref Target - Figure 6-15 図 6-15: SD カードから Linux をブートする際のジャンパー設定 ページの JTAG モードを使用した Linux のブート の説明に従ってボードを設定します ページの 第 1 段階ブートローダー (FSBL) の実行ファイルの作成 の説明に従ってデザインの第 1 段階ブートローダー (FSBL) を作成します 注記 : デフォルトの FSBL イメージを変更する必要がない場合は このガイドの ZIP ファイルに含まれる fsbl.elf ファイルを使用できます 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください 4. SDK で [Xilinx Tools] [Create Boot Image] をクリックし Create Boot Image ウィザードを開きます 5. fsbl.elf BIT ファイル ( 存在する場合 ) および u-boot.elf を追加します 6. [Output folder] で出力フォルダーへのパスを指定します Zynq-7000 SoC: エンベデッドデザインチュートリアル 86

87 第 6 章 : Linux のブートおよび SDK でのデバック 7. [Create Image] をクリックします BOOT.bin ファイルが指定のフォルダーに生成されます X-Ref Target - Figure 6-16 図 6-16: Zynq ブートイメージの作成 8. BOOT.bin および image.ub を SD カードにコピーします 重要 : ファイル名は変更しないでください U-Boot は システムのブート中に SD カード内でこれらの名前でファイルを検索します 9. ボードに電源を投入し シリアルターミナルに表示されるメッセージを確認します ターゲットボードで Linux のブートが完了すると root@plnx_arm:~# プロンプトが表示されます ページの JTAG モードを使用した Linux のブート の説明に従ってボード IP アドレスを設定し 接続を確認します Linux アプリケーションの作成およびデバッグについては 75 ページの サンプルデザイン : SDK を使用した Linux アプリケーションのデバッグ を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 87

88 第 7 章 Linux 用のカスタム IP とデバイスドライバーの作成 この章では Create and Package New IP ウィザードを使用して IP を作成します また ザイリンクス Zynq SoC デバイス用に作成された IP を含むシステムを開発します この IP 用に 実行中のカーネルに動的にロード可能なモジュールとして Linux ベースのデバイスドライバーを開発します さらに Zynq SoC ZC702 ボード上のシステムで実行する Linux ベースのアプリケーションソフトウェアを開発します 要件 この章では ターゲットプラットフォームとして ZC702 ボードを使用します ホストプラットフォームは Vivado Design Suite ツールを実行する Windows マシンです Linux ベースのデバイスドライバーを開発し カーネルをコンパイルするための要件は次のとおりです Linux ベースのワークステーション : このワークステーションを使用して IP 用にカーネルおよびデバイスドライバーを構築します ターゲットアーキテクチャのクロス開発用に GNU ツールチェーンを導入した Eclipse ベースの統合開発環境 (IDE): ツールに関する情報およびインストール方法は ザイリンクスの Zynq ツール Wiki ページ [ 参照 17] を参照してください カーネルソースコードおよびビルド環境 : ザイリンクスの Zynq Linux Wiki ページ [ 参照 18] を参照してください このページには Zynq SoC FPGA 特有の Linux カーネルに関する詳細が記載されています カーネルソースファイルをダウンロードするだけでなく Zynq SoC FPGA 用に Linux カーネルを構築するための情報もここから入手できます 注記 : カーネルソースファイルおよび U-Boot ファイルは ザイリンクスの GitHub ウェブサイト [ 参照 22] からダウンロードできます デバイスドライバーソフトウェアファイル (blink.c) および対応するヘッダーファイル (blink.h): これらのファイルは このガイドに付属の ZIP ファイルに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください アプリケーションソフトウェア (linux_blinkled_apps.c) および対応するヘッダーファイル (blink.h): これらのファイルは このガイドに付属の ZIP ファイルに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 88

89 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 カーネルおよびデバイスドライバーのコンパイルをスキップする場合は このセクションで必要なコンパイル済みイメージを使用してください これらのイメージは このガイドに付属の ZIP ファイルに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください 注意 : ペリフェラル IP の LKM (Loadable Kernel Module) は ベースカーネルイメージを生成する同じカーネルビルドプロセスの一部として構築する必要があります カーネルまたは LKM のビルドプロセスをスキップする場合は このセクション用に既にコンパイルされているカーネルおよび LKM モジュールのイメージを使用してください これらのイメージは このガイドに付属の ZIP ファイルに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください ペリフェラル IP の作成 このセクションでは Create and Package New IP ウィザードを使用して AXI4-Lite 準拠のスレーブペリフェラル IP フレームワークを作成します また このペリフェラル IP フレームワークに機能を追加し ポートを割り当てます 作成するペリフェラル IP は AXI4-Lite 準拠のスレーブ IP です これには 28 ビットカウンターが含まれます このカウンターの 4 MSB ビットは ペリフェラル IP の 4 つの出力ポートを駆動します 次の図にブロック図を示します X-Ref Target - Figure 7-1 図 7-1: ペリフェラル IP のブロック図 上記のブロック図に示されているコンフィギュレーションレジスタの詳細は 次のとおりです レジスタ名相対アドレス幅アクセスタイプ説明 制御レジスタ 0x0000_ ビット読み出し / 書き込みカウンターの開始 / 停止 フィールド名ビットデータ型リセット値説明 制御ビット 0 R/W 0x0 1: カウンターを開始 2: カウンターを停止 Zynq-7000 SoC: エンベデッドデザインチュートリアル 89

90 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 サンプルプロジェクト : ペリフェラル IP の作成 このセクションでは AXI4-Lite 準拠のスレーブペリフェラル IP を作成します ページの サンプルプロジェクト : Zynq SoC の新規エンベデッドプロジェクトの作成 の説明に従って新しいプロジェクトを作成します 2. [Tools] [Create and New Package IP] をクリックします [Next] をクリックします 3. [Create a new AXI4 peripheral] をオンにし [Next] をクリックします 4. ペリフェラルの詳細を次のように入力します ウィザードページ システムプロパティ 設定または使用するコマンド Peripheral Details Name Blink 5. [Next] をクリックします Version 1.0 Display Name Description IP location Overwrite existing Blink_v1.0 My new AXI IP C:/designs/ip_repro 6. [Add Interfaces] ページで デフォルト設定のままにして [Next] をクリックします 7. [Create Peripheral] ページで [Edit IP] をオンにし [Finish] をクリックします 新規 IP の生成プロセスが完了すると 次の図に示す [Package IP] ウィンドウが開きます オフ X-Ref Target - Figure 7-2 図 7-2: [Package IP] ウィンドウ 8. [Sources] ウィンドウの [Hierarchy] タブで [Design Sources] の下にある [blink_v1_0] を右クリックし [Open File] をクリックします ZC702 ボードの外部 LED にマップするため 出力ポートを作成する Verilog コードを追加する必要があります //Users to add ports here の行に移動し その行の下に次のコードを追加します //Users to add ports here output wire [3:0] leds, //User ports ends Zynq-7000 SoC: エンベデッドデザインチュートリアル 90

91 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 9. AXI バスインターフェイスへのインスタンスのインスタンシエーションを見つけ 次のコードを追加してポート接続をマップします.S_AXI_RREADY(s00_axi_rready),.leds(leds) ); 10. blink_v1_0.v を保存して閉じます 11. [Sources] ウィンドウの [Hierarchy] タブで [Design Sources] [blink_v1_0] の下にある [blink_v1_0_s00_axi_inst - blink_v1_0_s00_axi] を右クリックし [Open File] をクリックします ZC702 ボードの外部 LED にマップするため 出力ポートを作成する Verilog コードを追加し レジスタ 0 が書き込まれたときに LED を点滅させるロジックコードも作成します 12. //Users to add ports here の行に移動し その行の下に次のコードを追加します //Users to add ports here output wire [3:0] leds, //User ports ends 13. AXI4Lite 信号のセクションを見つけ カウンターとして使用するカスタムレジスタを追加します 次に赤で示すコードを追加します // AXI4LITE signals reg [C_S_AXI_ADDR_WIDTH-1 : 0] axi_awaddr; reg axi_awready; reg axi_wready; reg [1 : 0] axi_bresp; reg axi_bvalid; reg [C_S_AXI_ADDR_WIDTH-1 : 0] axi_araddr; reg axi_arready; reg [C_S_AXI_DATA_WIDTH-1 : 0] axi_rdata; reg [1 : 0] axi_rresp; reg axi_rvalid; // add 28-bit register to use as counter reg [27:0] count; 14. I/O 接続割り当てを見つけます ここで カウンターの下位 4 ビットを LED に割り当てます 次に赤で示すコードを追加します // I/O Connections assignments assign S_AXI_AWREADY= axi_awready; assign S_AXI_WREADY= axi_wready; assign S_AXI_BRESP= axi_bresp; assign S_AXI_BVALID= axi_bvalid; assign S_AXI_ARREADY= axi_arready; assign S_AXI_RDATA= axi_rdata; assign S_AXI_RRESP= axi_rresp; assign S_AXI_RVALID= axi_rvalid; // assign MSB of count to LEDs assign leds = count[27:24]; Zynq-7000 SoC: エンベデッドデザインチュートリアル 91

92 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 15. ファイルの最後の方にある Add user logic here という行を見つけます この行の下に slv_reg0 が 0x1 に設定されているときにカウントをインクリメントする次のコードを追加します このレジスタが設定されていない場合 カウンターはインクリメントしません 次に赤で示すコードを追加します // Add user logic here // on positive edge of input clock posedge S_AXI_ACLK ) begin //if reset is set, set count = 0x0 if ( S_AXI_ARESETN == 1'b0 ) begin count <= 28'b0; end else begin //when slv_reg_0 is set to 0x1, increment count if (slv_reg0 == 2'h01) begin count <= count+1; end else begin count <= count; end end end // User logic ends 16. blink_v1_0_s00_axi.v を保存して閉じます 17. [Package IP - blink] ウィンドウを開きます [Packaging Steps] の下の [Ports and Interfaces] をクリックします 18. [Merge changes from Ports and Interfaces Wizard] リンクをクリックします X-Ref Target - Figure 7-3 図 7-3: [Merge changes from Ports and Interfaces Wizard] リンク Zynq-7000 SoC: エンベデッドデザインチュートリアル 92

93 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 19. ウィンドウが更新されて LED 出力ポートを含まれていることを確認します X-Ref Target - Figure [Packaging Steps] の下の [Review and Package] をクリックします [Review and Package] ページの下部にある [Re-Package IP] をクリックします パッケージが完了したことを示すダイアログボックスが開き プロジェクトを閉じるかどうかを指定できます 21. [Yes] をクリックします 図 7-4: [Package IP] ウィンドウ : [Ports and Interfaces] ページ 注記 : 実行したカスタムコア作成プロセスは IP 作成プロセスに含まれるサンプル Verilog を使用した単純なものです 詳細は GitHub Zynq Cookbook: BFM シミュレーションの実行方法ウェブページ [ 参照 23] を参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 93

94 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 PS の GP マスターポートを使用したペリフェラル IP の統合 このセクションでは ペリフェラル IP をスレーブとして Zynq SoC プロセッシングロジック (PL) にインスタンシエートして ZC702 ボード用のシステムを作成します その後 それをプロセッシングシステム (PS) の汎用 (GP) マスターポートを介して PS プロセッサに接続します 次の図にシステムのブロック図を示します X-Ref Target - Figure 7-5 このシステムにおける接続は次のとおりです 図 7-5: ブロック図 ペリフェラル IP は PS 汎用マスターポート 0 (M_AXI_GP0) に接続します この接続は ペリフェラル IP レジスタをコンフィギュレーションするために PS CPU により使用されます ペリフェラル IP の 4 つの出力ポートはオンボード LED (DS15 DS16 DS17 および DS18) に接続します このシステムでは アプリケーションコードを実行すると シリアルターミナルに LED の点滅を開始するか停止するかを尋ねるメッセージが表示されます 開始を選択すると 4 つの LED すべてが点滅し始めます 停止を選択すると 4 つの LED すべてが点滅を停止して以前の状態を保持します このセクションでは 90 ページの サンプルプロジェクト : ペリフェラル IP の作成 で作成した AXI4-Lite 準拠のカスタムスレーブペリフェラル IP を接続します ページの サンプルプロジェクト : Zynq SoC の新規エンベデッドプロジェクトの作成 で作成した Vivado プロジェクトを開きます 2. 既存のデザインにカスタム IP を追加します [Diagram] ウィンドウを右クリックして [Add IP] をクリックします 3. 検索ボックスに blink と入力します Blink_v1.0 が表示されます その IP をダブルクリックしてデザインに追加します 4. [Run Connection Automation] リンクをクリックしてポートを自動接続します Zynq-7000 SoC: エンベデッドデザインチュートリアル 94

95 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 5. [All Automation] がオンになっていることを確認し [OK] をクリックして接続を実行します 新しい IP は自動的に接続されますが LED 出力ポートは接続されません 6. leds ポートを右クリックして [Make External] をクリックします X-Ref Target - Figure 7-6 図 7-6: LED ポートを外部に設定 7. Flow Navigator で [RTL Analysis] [Elaborated Design] をクリックします 画面の上部に エラボレートされたデザインの更新が必要で デザインソースが変更されることを示すメッセージが表示されます 8. [Reload] をクリックします デザインに追加した 更新されているカスタム IP コアを含めるため デザインを再合成する必要があります 9. エラボレート済みデザインを開いたら [I/O Ports] ウィンドウをクリックして [All Ports] [leds] を展開します X-Ref Target - Figure 7-7 図 7-7: I/O Ports Zynq-7000 SoC: エンベデッドデザインチュートリアル 95

96 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 10. LED ポートを次のように設定します ポート名 I/O 規格 ([I/O Std]) サイト ([Site]) Leds[3] LVCMOS25 P17 Leds[2] LVCMOS25 P18 Leds[1] LVCMOS25 W10 Leds[0] LVCMOS25 V7 次の図に [I/O Ports] ウィンドウで完了した LED ポート設定を示します X-Ref Target - Figure [Generate Bitstream] をクリックします 図 7-8: LED ポート設定 12. [Save Project] ダイアログボックスが開きます チェックボックスがオンになっていることを確認して [Save] をクリックします 13. 合成を更新する必要があることを示すメッセージが表示された場合は [Yes] をクリックします 14. ビットストリームの生成が完了したら 23 ページの ハードウェアの SDK へのエクスポート の説明に従ってハードウェアをエクスポートしてザイリンクスソフトウェア開発キット (SDK) を起動します Linux ベースのデバイスドライバーの開発 Linux のモジュールは 必要に応じてカーネルにロード / アンロードできます このように追加するコードは LKM (Loadable Kernel Module) と呼ばれます これらのモジュールを使用すると システムをリブートせずにカーネルの機能を拡張できます これらのモジュールを使用しない場合は モノリシックカーネルをビルドしてカーネルイメージに直接新しい機能を追加する必要があります この場合 カーネルが大きくなるだけでなく 新しい機能を追加するたびにカーネルの再ビルドとリブートが必要となるという欠点もあります LKM は一般的に次のいずれかを指します デバイスドライバー : ハードウェア用に設計されます カーネルでデバイスドライバーを使用すると ハードウェアがどのように機能するかを詳細に把握していなくてもそのハードウェアと通信できます ファイルシステムドライバー : ファイルシステムの内容をファイルおよびディレクトリとして解釈します システムコール : ユーザー空間プログラムでカーネルにサービスを要求するために使用されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 96

97 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 Linux では 各ハードウェアはデバイスファイルとして指定されているファイルで表され デバイスファイルはハードウェアとの通信手段を提供します ほとんどのハードウェアデバイスは出力および入力の両方に使用されるため デバイスファイルはハードウェアとデータを送受信するための入力 / 出力制御 (ioctl) を提供します 各デバイスは 次のタイプの独自の ioctl コマンドを持つことができます 読み出し ioctl プロセスからカーネルに情報を送信します 書き込み ioctl プロセスに情報を返します 読み出しおよび書き込み両方の ioctl 読み出しでも書き込みでもない ioctl LKM の詳細は Linux Kernel Module Programming Guide [ 参照 24] を参照してください このセクションでは ペリフェラル IP のデバイスドライバーを 実行中のカーネルに動的にロード可能な LKM として開発します ペリフェラル IP の LKM は ベースカーネルイメージを生成するのと同じカーネルビルドプロセスの一部としてビルドする必要があります 注記 : デバイスドライバーをコンパイルしない場合は このセクションの例をスキップして 98 ページの 実行中のカーネルへのモジュールのロードとアプリケーションの実行 に進むことができます そのセクションでは blink.ko ( 付属の ZIP ファイルに含まれる image.ub) を含むカーネルイメージを使用します 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください カーネルのコンパイルおよびデバイスドライバーの開発には Linux ワークステーションを使用する必要があります デバイスドライバーの開発を開始する前に 次を実行する必要があります 1. Linux ワークステーションでツールチェーンパスを設定します 2. カーネルソースコードをダウンロードしてコンパイルします ダウンロードとコンパイルについては ザイリンクスの Zynq Linux Wiki ページ [ 参照 18] に記載されている手順を参照してください サンプルプロジェクト : デバイスドライバーの開発 このサンプルプロジェクトでは Linux ワークステーションを使用します デバイスドライバーソフトウェアは このガイドに付属の ZIP ファイルに含まれる LKM フォルダーにあります 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください 1. PetaLinux プロジェクトのディレクトリで 次のコマンドを使用してモジュールを作成します petalinux-create -t modules --name mymodule --enable モジュールが <plnx-project>/project-spec/meta-user/recipes-modules/ の下に作成されます 2. 次のコマンドを使用して blink モジュールを作成します petalinux-create -t modules --name blink --enable デフォルトのドライバー作成により makefile C ファイル および Readme ファイルが作成されます この演習では blink.c Makefile および README ファイルが作成されます ビットベークレシピ blink.bb も含まれています 3. ドライバーに合わせて C ファイル ( ドライバーファイル ) および makefile を変更します 4. LKM フォルダー ( リファレンスファイル ) を選択し blink.c および blink.h をこのディレクトリにコピーします 5. blink.bb レシピを開き SRC_URI に blink.h エントリを追加します Zynq-7000 SoC: エンベデッドデザインチュートリアル 97

98 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 6. 次のコマンドを実行します 'petalinux build' コンパイルが正常に完了すると.ko ファイルが次のディレクトリに作成されます <petalinux-build_directory>/build/tmp/sysroots/plnx_arm/lib/modules/4.9.0-xilinx/ex tra/blink.ko 7. modprobe コマンドを使用してドライバーをインストールできます このコマンドについては 次のセクションで詳細に説明します 実行中のカーネルへのモジュールのロードとアプリケーションの実行 このセクションでは Zynq SoC ボードで Linux をブートし ペリフェラル IP を LKM としてロードします システム用のアプリケーションを開発し ハードウェアで実行します モジュールのカーネルメモリへのロード LKM を挿入する基本的なプログラムは modprobe です modprobe コマンドは init_module システムコールを実行して LKM をカーネルメモリにロードします init_module システムコールは LKM をロードした直後に LKM の初期化ルーチンを開始します この初期化ルーチンの一部として insmod は init_module にサブルーチンのアドレスを渡します ペリフェラル IP のデバイスドライバーでは init_module はサブルーチンを登録するカーネル関数を呼び出すように設定されています これは カーネルの register_chrdev サブルーチンを呼び出し 駆動するデバイスのメジャー番号とマイナー番号 および独自のオープンルーチンのアドレスを引数間で渡します register_chrdev サブルーチンのカーネルのベーステーブルでは カーネルが特定デバイスを開くときにユーザーの LKM のオープンルーチンを呼び出すように指定されています アプリケーションソフトウェア アプリケーションソフトウェアの main() 関数は 実行のエントリポイントです この関数はペリフェラル IP のデバイスファイルを開いた後 シリアルターミナルでのユーザーの選択を待ちます 開始を選択すると 4 つの LED すべてが点滅し始めます 停止を選択すると 4 つの LED すべてが点滅を停止して以前の状態を保持します Zynq-7000 SoC: エンベデッドデザインチュートリアル 98

99 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 サンプルプロジェクト : モジュールのカーネルへのロードとアプリケーションの実行 ターゲットボートの Linux のブート 68 ページの Zynq SoC ボード上での Linux のブート の説明に従って Zynq SoC ZC702 ターゲットボードで Linux をブートします モジュールのロードおよびアプリケーションの実行 このセクションでは Windows マシンにインストールされている SDK ツールを使用します 1. SDK を開きます SDK では TCF (Target Communication Frame) エージェントをホストマシンで実行する必要があります 2. [XSCT] [connect] をクリックし Xilinx System Debugger (XSCT) に接続します 3. SDK で [File] [New] [Application Project] をクリックし New Project ウィザードを開きます 4. ウィザードの各ページで次の表の情報に基づいて設定を選択します ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name linux_blinkled_app 5. [Finish] をクリックします New Project ウィザードが閉じ linux_blinkled_app プロジェクトが作成されて [Project Explorer] ビューに表示されます 6. [Project Explorer] ビューで [linux_blinkled_app] プロジェクトを展開し [src] ディレクトリを右クリックして [Import] をクリックします [Import] ダイアログボックスが開きます 7. [Import] ダイアログボックスで [General] を展開し [File System] をクリックします 8. [Next] をクリックします Use default location Hardware Platform Processor OS Platform Language 9. linux_blinkled_app.c および blink.h ファイルを追加します 注記 : システム用のアプリケーションソフトウェアファイル名は linux_blinkled_app.c で ヘッダーファイル名は blink.h です これらのファイルは このガイドに付属の ZIP ファイルの LKM フォルダーに含まれています 詳細は 119 ページの このチュートリアルのデザインファイル を参照してください linux_blinkled_app.c および blink.h ファイルを追加します オン <system_hw_platform> PS7_cortexa9_0 Linux Templates Available Templates Linux Empty Application C Zynq-7000 SoC: エンベデッドデザインチュートリアル 99

100 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 10. [Finish] をクリックします アプリケーションがビルドされ linux_blinkled_app.elf ファイルが生成されます コンソールウィンドウでこの処理のステータスを確認します 11. ボードを接続します 12. PL ファブリックのビットストリームがあるので これをダウンロードする必要があります [Xilinx Tools] [Program FPGA] をクリックします [Program FPGA] ダイアログボックスが開きます Vivado からエクスポートされたビットストリームが表示されます 13. [Program] をクリックし ビットストリームをダウンロードして PL ファブリックをプログラムします 14. 第 6 章の手順に従って Linux イメージを読み込んで起動します カーネルが正常にブートしたら シリアルターミナルで /lib/modules/<kernel-version>/extra に移動し 次のコマンドを実行します modprobe blink.ko 次のメッセージが表示されます <1>Hello module world. <1>Module parameters were (0xdeadbeef) and "default" blink_init: Registers mapped to mmio = 0x Registration is a success the major device number is 245. デバイスドライバーと通信する場合は 次のコマンドを実行してデバイスファイルを作成します mknod /dev/blink_dev c 244 ioctl プログラムはデバイスファイル名に基づいて使用するファイルを判断するので デバイスファイル名は重要です 15. デバイスノードを作成します mknod コマンドを実行し 表示されたメッセージから文字列を選択します たとえば mknod /dev/blink_dev c というコマンドを実行すると /dev/blink_dev ノードが作成されます 16. [Windows] [Open] [Perspective] [Other] をクリックします パースペクティブのリストが表示されます 17. [Remote System Explorer] を選択して [OK] をクリックします SDK で Remote Systems Explorer が開きます Zynq-7000 SoC: エンベデッドデザインチュートリアル 100

101 第 7 章 : Linux 用のカスタム IP とデバイスドライバーの作成 18. Remote Systems Explorer で次を実行します a. 右クリックして [New] [Connection] をクリックし New Connection ウィザードを開きます b. [SSH only] をクリックし [Next] をクリックします c. [Host Name] にターゲットボード IP を入力します 注記 : ターゲット IP を確認するには シリアルターミナルの Zynq> プロンプトに ifconfig eth0 と入力します ボードに割り当てられているターゲット IP が表示されます d. 接続名を blink にし 説明を入力します e. [Finish] をクリックして接続を作成します f. [blink] [sftp Files] [Root] を展開します Enter Password ウィザードが開きます g. ユーザー ID およびパスワード (root/root) を入力し [Save ID] および [Save Password] をオンにします h. [OK] をクリックします Windows ホストマシンとターゲットボード間の接続が既に確立されているため ウィンドウにルートディレクトリの内容が表示されます i. パス名の / を右クリックし Apps という名前の新しいディレクトリを作成します j. Remote Systems Explorer を使用して linux_blinkled_app.elf ファイルを <project-dir>/project_1/project_1.sdk/sdk/sdk_export/linux_blinkleds_apps/debug フォルダーからコピーし [blink connection] の下の /Apps ディレクトリに貼り付けます 19. シリアルターミナルで Zynq> プロンプトに cd Apps と入力し /Apps ディレクトリを開きます 20. root@plnx_arm:~# Linux プロンプトで Apps ディレクトリに移動し chmod 777 Linux_blinkled_app.elf と入力して linux_blinkled_app.elf ファイルモードを実行ファイルモードに変更します 21. root@plnx_arm:~# プロンプトに./Linux_blinkled_app.elf と入力してアプリケーションを実行します 22. シリアルターミナルに表示される手順に従ってアプリケーションを実行します アプリケーションにより 1 または 0 を入力するよう指示が表示されます 1 と入力し LED DS15 DS16 DS17 および DS18 を観察します LED が点滅し始めます 0 と入力し 各 LED がそれぞれのステートで停止するのを観察します それ以上点滅しません 入力を繰り返して LED を観察できます 23. Linux アプリケーションのデバッグが終了したら SDK を閉じます Zynq-7000 SoC: エンベデッドデザインチュートリアル 101

102 第 8 章 SDK を使用したソフトウェアのプロファイル この章では 第 6 章で作成したスタンドアロンボードサポートパッケージ (BSP) と AXI CDMA 関連のアプリケーションに対してプロファイル機能を有効にします システムデバッガーを使用した SDK でのアプリケーションのプロファイル プロファイルは 各ルーチンのソフトウェア実行時間を計測する方法です この情報を使用して コードの重要な部分およびデザインでの最適なコード配置を判断できます 頻繁に呼び出されるルーチンは キャッシュメモリなどの高速メモリに配置するのが最適です プロファイル情報を使用すると コードをハードウェアに配置可能かどうかも判断でき 全体的なパフォーマンスを向上できます ザイリンクスソフトウェア開発キット (SDK) の System Debugger を使用して アプリケーションをプロファイルできます 1. プロファイルするアプリケーションを選択します 2. [Run] [Debug As] [Launch on Hardware (System Debugger)] をクリックします [Confirm Perspective Switch] ダイアログボックスが表示されたら [Yes] をクリックします [Debug] パースペクティブが開きます Zynq-7000 SoC: エンベデッドデザインチュートリアル 102

103 第 8 章 : SDK を使用したソフトウェアのプロファイル 3. アプリケーションが main で停止したら [Window] [Show View] [Other] [Debug] [TCF Profiler] をクリックして [TCF (Target Communication Frame) Profiler] ビューを開きます X-Ref Target - Figure 8-1 図 8-1: [TCF Profiler] ビュー 4. [Start] をクリックしてプロファイルを開始します または [Profiler Configuration] ダイアログボックスで [Aggregate Per Function] をオンにすることもできます プロファイルサンプル時間に応じて [View update interval] ( 表示更新間隔 ) を設定します 最短時間は 100 msec です X-Ref Target - Figure 8-2 図 8-2: [Profiler Configuration] ダイアログボックス Zynq-7000 SoC: エンベデッドデザインチュートリアル 103

104 第 8 章 : SDK を使用したソフトウェアのプロファイル 5. [Resume] をクリックして アプリケーションの実行を再開します [TCF Profiler] ビューにプロファイルデータを表示するには アプリケーションが停止する終了ブレークポイントを追加します X-Ref Target - Figure 8-3 図 8-3: [TCF Profiler] ビュー ヒント : ザイリンクス SDK では gprof プロファイルがサポートされます 詳細は SDK ヘルプ [ 参照 2] を参照してください 追加のデザインサポートオプション デザインの目標を達成するため システムパフォーマンス解析 (SPA) ツールボックスおよび SDSoC (Software-Defined System on Chip) 開発環境について学ぶと有益な場合があります システム性能解析 (SPA) ツールボックス パフォーマンス解析とベンチマークの必要性に対応して ソフトウェア開発キット (SDK) にはハードウェアおよびソフトウェアシステムを早期に検討するためのシステムパフォーマンス解析 (SPA) ツールボックスが含まれています このツールボックスは デザインプロセスで一貫した予測可能なパフォーマンスが得られるようにするため パフォーマンスを検証するのに使用できます SDK を使用した SPA ツールボックスの使用に関する詳細は 次の資料を参照してください ザイリンクスソフトウェア開発キット (SDK) ユーザーガイド : システムパフォーマンス解析 (UG1145) [ 参照 12] SoC のシステム性能解析 (XAPP1219) [ 参照 14] SDK ヘルプ ( ソフトウェアアプリケーションから またはこの資料のリンクからアクセス可能 ) [ 参照 2] Zynq-7000 SoC: エンベデッドデザインチュートリアル 104

105 第 8 章 : SDK を使用したソフトウェアのプロファイル SDSoC (Software-Defined System on Chip) SDSoC (Software-Defined System On Chip) 環境は Zynq SoC を使用してヘテロジニアスエンベデッドシステムをインプリメントするための Eclipse ベースの IDE です SDSoC 環境内のシステムコンパイラは C++ で記述されたアプリケーションからアプリケーション特定のシステムオンチップを生成します これを ターゲットアプリケーションを FPGA に拡張することにより実行します SDSoC 環境には アプリケーション開発用の多数のプラットフォーム およびザイリンクスパートナーから提供されるプラットフォームが含まれています ザイリンクスでは ツールのインストール 開発環境の説明 作成 実行 デバッグ およびパフォーマンス解析 デサイン最適化など SDSoC 環境に関するさまざまな内容の資料を提供しています SDSoC 開発環境の詳細は 次の資料を参照してください SDSoC 環境チュートリアル : 概要 (UG1028) [ 参照 9] SDSoC 環境ユーザーガイド (UG1027) [ 参照 8] SDSoC 環境プラットフォーム開発ガイド (UG1146) [ 参照 13] UltraFast エンベデッドデザイン設計手法ガイド (UG1046) [ 参照 10] 関連項目 ザイリンクスウェブサイトのソフトウェアゾーン [ 参照 19] SDSoC ヘルプ [ 参照 15] Zynq-7000 SoC: エンベデッドデザインチュートリアル 105

106 第 9 章 SDK を使用した Linux OS 認識デバッグ OS 認識デバッグ機能を使用すると タスクリスト 実行中のプロセス / スレッド プロセス / スレッド特定のスタックトレース レジスタ および変数表示など OS 特定の情報を可視化できます これをサポートするには デバッガーがターゲット上で実行中の OS を認識し OS の特徴を理解していることが必要です OS 認識デバッグでは プロセッサコア上で実行中の OS と OS 上で実行中のプロセス / スレッドを同時にデバッグできます SDK では Zynq SoC デバイス上で実行される Linux OS の OS 認識デバッグ機能がサポートされています Linux OS 認識デバッグの設定 このセクションでは Linux OS を実行する Zynq ボードで OS 認識デバッグを設定する方法を説明します Linux カーネルの設定 プロセスリストを読み出し プロセスまたはモジュールをデバッグできるようにするため Linux 認識ではカーネルシンボルを使用して内部カーネル構造にアクセスします そのためカーネルシンボルが使用可能であることが必要です カーネルシンボルがないと Linux 認識デバッグは不可能です 図 9-1 に示すように vmlinux ファイルをデバッグ情報を有効にしてコンパイルする必要があります 注記 : vmlinux ファイルは Linux カーネルと対応するデバッグ情報を含む 静的にリンクされた実行ファイルです PetaLinux では PetaLinux ツールビルドコンフィギュレーションコマンドを使用して Linux カーネルをコンパイルする前に 次のコンフィギュレーションオプションを有効にする必要があります CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO=y Zynq-7000 SoC: エンベデッドデザインチュートリアル 106

107 第 9 章 : SDK を使用した Linux OS 認識デバッグ 次の手順に従って Linux カーネルを設定し デバッグ情報を含めてビルドします 1. Linux マシンのターミナルウィンドウで PetaLinux プロジェクトのディレクトリに移動します $ cd <plnx-proj-root> 2. 最上位システム設定メニューを起動します $ petalinux-config -c kernel 3. [Kernel hacking] を選択します [Compile-time checks and compiler options] を選択します [Compile the kernel with debug info] を選択します X-Ref Target - Figure 9-1 図 9-1: Linux カーネルでデバッグ情報コンフィギュレーションオプションを有効化 4. 設定を保存して PetaLinux をビルドします これにより Linux カーネルコンフィギュレーションファイルのオプションが次のように設定されます CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_INFO=y コンフィギュレーションファイルでこれらのオプションが有効になっていることを確認できます 5. PetaLinux ビルドコマンド petalinux-build を使用して PetaLinux をビルドします 6. PetaLinux が正常にビルドされたら vmlinux ファイルをホストマシンにコピーします このファイルは デバッガーがすべての Linux カーネルシンボルを参照するために必要です vmlinux が <petalinux project file>/images/linux/vmlinux に作成されます 7. vmlinux をホストマシンにコピーし SDK と使用して Linux カーネルをデバッグします 8. Linux カーネルソースコードをデバッグ用にホストマシンにコピーします Linux カーネルは <petalinux-project>/build/tmp/work-shared/plnx_arm/kernel-source にあります 注記 : この資料は Windows ホストマシンを使用して書かれているので Linux ソースコードを Windows ホストマシンで実行中の SDK ツールでアクセス可能な場所にコピーする必要があります Zynq-7000 SoC: エンベデッドデザインチュートリアル 107

108 第 9 章 : SDK を使用した Linux OS 認識デバッグ Hello World Linux アプリケーションを作成して OS 認識デバッグを実行 1. SDK を開きます 2. [File] [New] [Application Project] をクリックします New Project ウィザードが開きます 3. ウィザードの各ページで次の表の情報に基づいて設定を選択します ウィザードページ システムプロパティ 設定または使用するコマンド Application Project Project name linux_hello 4. [Finish] をクリックします 5. [Project Explorer] ビューで linux_hello app プロジェクトを展開して [src] ディレクトリを右クリックし [Import] をクリックして [Import] ダイアログボックスを開きます 6. [Import] ダイアログボックスで [General] を展開し [File System] を選択します 7. [Next] をクリックします 8. [Browse] をクリックします Use default location Hardware Platform Processor OS Platform Language 9. デザインファイルフォルダーに移動し OSA フォルダーを選択して [OK] をクリックします 注記 : このチュートリアルのデザインファイルのダウンロードについては 119 ページの このチュートリアルのデザインファイル を参照してください 10. linux_hello.c ファイルを追加して [Finish] をクリックします アプリケーションが自動的にビルドされ コンソールウィンドウにステータスが表示されます 11. linux_hello.elf を SD カードにコピーします オン <system_hw_platform> PS7_cortexa9_0 Linux Templates Available Templates Empty Application C Zynq-7000 SoC: エンベデッドデザインチュートリアル 108

109 第 9 章 : SDK を使用した Linux OS 認識デバッグ OS 認識デバッグを使用した Linux プロセスおよびスレッドのデバッグ ページの SD カードからの Linux のブート の説明に従って Linux をブートします 2. デバッグコンフィギュレーションを作成します 3. [linux_hello] を右クリックして [Debug as] [Debug Configurations] をクリックします 次の図に示す Debug Configuration ウィザードが開きます X-Ref Target - Figure 9-2 図 9-2: Debug Configuration ウィザード 4. [Debug Type] ドロップダウンリストから [Attach to running target] を選択します 5. [Connection] ドロップダウンリストから [Local] を選択します 6. [Debug] をクリックします Zynq-7000 SoC: エンベデッドデザインチュートリアル 109

110 第 9 章 : SDK を使用した Linux OS 認識デバッグ 7. [Confirm Perspective Switch] ダイアログボックスが表示されたら [Yes] をクリックします 次の図に示すように [Debug] パースペクティブに linux_hello_debug が開きます X-Ref Target - Figure Linux カーネルシンボルファイルを設定し デバッグコンフィギュレーションで Linux OS 認識を有効にします SDK で Linux OS 認識機能を有効にしてアプリケーションをデバッグするためのオプションは複数あります [Symbol File] ダイアログボックスのオプションは 次のとおりです [Enable Linux OS awareness] OS 認識を有効にします [Auto refresh on exec] オンにすると 実行中のプロセスがすべて更新され [Debug] ビューに表示されます オフにすると 新しいプロセスは [Debug] ビューに表示されません [Auto refresh on suspend] 図 9-3: [Debug] パースペクティブ オンにすると プロセッサが停止するたびにすべてのプロセスが再同期化されます オフにすると 現在のプロセスのみが再同期化されます Zynq-7000 SoC: エンベデッドデザインチュートリアル 110

111 第 9 章 : SDK を使用した Linux OS 認識デバッグ 9. [Debug] ビューで [linux_hello Debug (Local)] を右クリックし [Edit Linux_hello Debug] をクリックします 10. [Symbol Files] タブをクリックします 11. [Debug Context] ドロップダウンリストから [/APU/ARM_Cortex_A9MPCore #0] を選択し [Add] をクリックします [Symbol File] ダイアログボックスが開きます 12. 参照ボタンをクリックします 13. 前のセクションで Windows ホストマシン上に保存した vmlinux ファイルのパスを指定し 次の図に示すように [Enable OS awareness- the file is an OS kernel] をオンにします X-Ref Target - Figure [Auto refresh on exec] および [Auto refresh on suspend] オプションをオンにして 現在のアプリケーションのデバッグ中にプロセスデータを更新できます 15. [OK] をクリックします [Symbol File] ダイアログボックスが閉じます 図 9-4: OS 認識の有効化 Zynq-7000 SoC: エンベデッドデザインチュートリアル 111

112 第 9 章 : SDK を使用した Linux OS 認識デバッグ 16. [Continue] をクリックします 次の図に示す [Debug] パースペクティブが開きます X-Ref Target - Figure 9-5 図 9-5: [Debug] パースペクティブ Linux カーネルとターゲット上で実行中のプロセスが表示されます 注記 : Linux カーネルはホストマシン (Windows マシン ) とは異なるシステム (Linux マシン ) でビルドし そこで Linux OS 認識アプリケーションデバッグを実行するので されるので シンボルファイルのパスマップ情報を追加する必要があります パスマップによりソースレベルのデバッグが可能になり スタックトレースや変数の表示 ソースレベルブレークポイントの設定などを実行できます Zynq-7000 SoC: エンベデッドデザインチュートリアル 112

113 第 9 章 : SDK を使用した Linux OS 認識デバッグ デバッガーはパスマップ設定を使用して システムに含まれるすべての実行ファイルおよび共有ライブラリのシンボルファイルを検索およびロードします X-Ref Target - Figure 9-6 図 9-6: パスマップ規則の設定 Zynq-7000 SoC: エンベデッドデザインチュートリアル 113

114 第 9 章 : SDK を使用した Linux OS 認識デバッグ 17. パスマップを設定します a. [Path Map] タブをクリックします b. [Add] をクリックします c. カーネルのソースパスは 前の図に示すように Linux マシンからのコンパイルディレクトリパスです たとえば <petalinux-project>/build/tmp/work-shared/plnx_arm/kernel-source です デスティネーションパスは 前の手順でカーネルをコピーしたホストロケーションです たとえば <local directory>/kernel-source です X-Ref Target - Figure 9-7 図 9-7: デバッグコンフィギュレーションのパスマップ Zynq-7000 SoC: エンベデッドデザインチュートリアル 114

115 第 9 章 : SDK を使用した Linux OS 認識デバッグ 18. Linux プロセスまたはスレッドをデバッグします 図 9-5 に示すように ターゲット上で実行中のプロセスが表示されます いずれかのプロセスを右クリックして [Suspend] をクリックします この方法を使用すると スタックトレースやレジスタの監視 ブレークポイントの追加などを実行できます 次の図では 一時停止されているプロセスは 1 init です X-Ref Target - Figure 9-8 図 9-8: プロセス / スレッドレベルのデバッグ注記 : このページに示されているアドレスは システムで表示されているものと若干異なる場合があります OS 認識デバッグを使用した linux_hello アプリケーションのデバッグ 1. mount /dev/mmcblk0p1/mnt を使用して SD カードをマウントします 2. 次の図に示すように ターミナルから /mnt/linux_hello.elf アプリケーションを実行します X-Ref Target - Figure 9-9 図 9-9: シリアルターミナル : Linux_hello アプリケーションの実行 Zynq-7000 SoC: エンベデッドデザインチュートリアル 115

116 第 9 章 : SDK を使用した Linux OS 認識デバッグ 3. OS 認識デバッグ機能を使用して前のセクションで作成した linux_hello アプリケーションをデバッグするには 109 ページの OS 認識デバッグを使用した Linux プロセスおよびスレッドのデバッグ の手順に従ってデバッグコンフィギュレーションでパスマップを設定します ソースパスは アプリケーションをコンパイルするコンパイルパスです たとえば <sdk_workspace/linux_hello/debug/linux_hello.elf> です デスティネーションパスは アプリケーションを実行しているターゲットパスです たとえば /linux_hello.elf を使用してターゲットボードで実行しているパスです X-Ref Target - Figure 9-10 図 9-10: デバッグコンフィギュレーションのパスマップ情報 4. [Debug] ビューで [linux_hello Debug (Local)] を右クリックし [Relaunch] をクリックします Zynq-7000 SoC: エンベデッドデザインチュートリアル 116

117 第 9 章 : SDK を使用した Linux OS 認識デバッグ 5. SDK デバッガーで 次を実行します a. カーネルのプロセス / スレッドの 1 つである実行中のアプリケーションを観察します b. linux_hello.elf スレッドを右クリックし [Suspend] をクリックしてアプリケーションを停止します c. ブレークポイントを追加します これらの操作を次の図に示します X-Ref Target - Figure 9-11 ブレークポイントに達すると [Debug] ビューが linux_hello.elf プロセスの情報で更新されます [Debug] ビューには ファイル 関数 およびブレークポイントの行の情報が表示されます スレッドがコア上で実行されている場合は スレッドラベルに CPU コア名が含まれます ステップイン ステップアウト 変数 スタックトレース およびレジスタの監視など ソースレベルのデバッグを実行できます ブレークポイントの挿入 ステップイン ステップアウト 変数 スタックトレース およびレジスタの監視など プロセス / スレッドレベルのデバッグを実行できます このプロセスに関して 次の追加情報があります 図 9-11: main () からプロセスをデバッグ このプロセスの 1 つの制限は バイナリパスのターゲット側パスにマウントポイントパスが含まれないことです たとえば linux_hello プロセスが /mnt にマウントされている SD カードに配置されている場合 デバッガーに /mnt/linux_hello.elf ではなく /linux_hello.elf が表示されます XSCT コマンドラインコマンドを使用して SDK で Linux OS 認識を有効にする方法もあります このコマンドの詳細は XSCT で osa コマンドヘルプを参照してください Zynq-7000 SoC: エンベデッドデザインチュートリアル 117

Zynq-7000 All Programmable SoC : エンベデッド デザイン チュートリアル (UG1165)

Zynq-7000 All Programmable SoC : エンベデッド デザイン チュートリアル (UG1165) Zynq-7000 All Programmable SoC : エンベデッドデザインチュートリアル 効率的なエンベデッドシステム構築をサポートするハンディガイド 本資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください

More information

Zynq UltraScale+ MPSoC: エンベデッド デザイン チュートリアル (UG1209)

Zynq UltraScale+ MPSoC: エンベデッド デザイン チュートリアル (UG1209) Zynq UltraScale+ MPSoC: エンベデッドデザインチュートリアル 効率的なエンベデッドシステムを構築するためのハンディガイド この資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください 改訂履歴 次の表に

More information

Zynq UltraScale+ MPSoC: エンベデッド デザイン チュートリアル (UG1209)

Zynq UltraScale+ MPSoC: エンベデッド デザイン チュートリアル (UG1209) Zynq UltraScale+ MPSoC: エンベデッドデザインチュートリアル 効果的なエンベデッドシステム構築をサポートするハンディガイド この資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください 改訂履歴 次の表に

More information

Zynq UltraScale+ MPSoC: エンベデッド デザイン チュートリアル (UG1209)

Zynq UltraScale+ MPSoC: エンベデッド デザイン チュートリアル (UG1209) Zynq UltraScale+ MPSoC: エンベデッドデザインチュートリアル 効率的なエンベデッドシステムを構築するためのハンディガイド この資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください 改訂履歴 次の表に

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

More information

Symantec AntiVirus の設定

Symantec AntiVirus の設定 CHAPTER 29 Symantec AntiVirus エージェントを MARS でレポートデバイスとしてイネーブルにするためには Symantec System Center コンソールをレポートデバイスとして指定する必要があります Symantec System Center コンソールはモニタ対象の AV エージェントからアラートを受信し このアラートを SNMP 通知として MARS に転送します

More information

ModelSim-Altera - RTL シミュレーションの方法

ModelSim-Altera - RTL シミュレーションの方法 ALTIMA Corp. ModelSim-Altera RTL シミュレーションの方法 ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. 目次 1. 2. 3. はじめに...3 RTL シミュレーションの手順...4 RTL シミュレーションの実施...5 3-1. 3-2. 新規プロジェクトの作成... 5 ファイルの作成と登録... 7 3-2-1. 新規ファイルの作成...

More information

(Microsoft Word - \214\264\215e B_\217\221\202\253\215\236\202\335\225\224.docx)

(Microsoft Word - \214\264\215e B_\217\221\202\253\215\236\202\335\225\224.docx) トランジスタ技術 2009 年 3 月号特集気軽にはじめる FPGA 第 5 章マルチチャネル信号発生器信号発生器の製作 ~はんだ付け不要ロジックの自在さを生かす~ ISE WebPACK を使って FPGA にソースを書き込むまでの手順 坂本三直 プロジェクトプロジェクトの新規生成 / 読み込み : CQ 出版社の HP より本スタータキット用のプロジェクトをダウンロードしてください. パソコン上にコピーできたら,Xilinx

More information

クラウド内の Java - 動画スクリプト 皆さん こんにちは Steve Perry です 私たちが作成した人事アプリケーションを覚えていますか? 今回は そのアプリケーションをクラウド内で実行しましょう コードは GitHub の

クラウド内の Java - 動画スクリプト 皆さん こんにちは Steve Perry です 私たちが作成した人事アプリケーションを覚えていますか? 今回は そのアプリケーションをクラウド内で実行しましょう コードは GitHub の クラウド内の Java - 動画スクリプト 皆さん こんにちは Steve Perry です 私たちが作成した人事アプリケーションを覚えていますか? 今回は そのアプリケーションをクラウド内で実行しましょう コードは GitHub の https://github.com/makotogo/javainthecloud からダウンロードでき この動画では 次の方法を説明し WebSphere Application

More information

Microsoft PowerPoint - Tutorial_2_upd.ppt

Microsoft PowerPoint - Tutorial_2_upd.ppt 2 Eclipse を使った Bluemix アプリケーション開発 1 ハンズオン手順 ハンズオンの概要 Eclipse から Java アプリをデプロイする 公開されているプロジェクトをインポートする インポートしたプロジェクトをBluemixにデプロイする ここでは PostgreSQL サービスを提供する ElephantSQL というサービスを使用します デプロイしたアプリケーションを確認する

More information

SAC (Jap).indd

SAC (Jap).indd 取扱説明書 機器を使用する前に本マニュアルを十分にお読みください また 以後も参照できるよう保管してください バージョン 1.7 目次 目次 について...3 ご使用になる前に...3 インストール手順...4 ログイン...6 マネージメントソフトウェアプログラムの初期画面... 7 プロジェクタの検索...9 グループの設定... 11 グループ情報画面... 12 グループの削除... 13

More information

939061j

939061j ブルームバーグ ソフトウエア インストールガイド日本語 2012 年 10 月 26 日バージョン : 9.0 目次ブルームバーグ ソフトウエアのダウンロード... 2 ブルームバーグ シリアル番号 < 新規 > のインストール. 9 正しくインストールされたかを確認... 13 アクセス権付与に関する注意... 15 1 ブルームバーグ ソフトウエアのダウンロード Internet Explorer

More information

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには プリントサーバー 設定 ガイド このガイドは以下のモデルに該当します TL-WR842ND TL-WR1042ND TL-WR1043ND TL-WR2543ND TL-WDR4300 目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定...7 4.1 TP-LINK

More information

付録

付録 Cisco HyperFlex ノードの設置 1 ページ Cisco UCS ファブリック インターコネクトのセット アップ 2 ページ WinSCP を使用してインストーラ VM に iso と img ファイルをアップロードするには 6 ページ DNS レコード 9 ページ HX サービス アカウント パスワードの更新 9 ページ Cisco HyperFlex ノードの設置 HyperFlex

More information

monologue Sound Librarian 取扱説明書

monologue Sound Librarian 取扱説明書 J 3 目次 はじめに... 2 monologue Sound Librarian とは?... 2 使用上のご注意... 2 動作環境... 2 インストール... 3 Mac へのインストール... 3 Windows へのインストール... 3 クイック スタート... 4 monologue Sound Librarian を起動する... 4 monologue Sound Librarian

More information

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›] 電子入札システムクライアント V4 インストール手順 平成 30 年 3 月 富山市財務部契約課 注意事項 平成 30 年 3 月以降は現在インストールしていただいている 電子入札システムクライアント V3 は使用できなくなります 本手順に従い必ず 電子入札システムクライアント V4 をインストールしてください Windows10 の標準ブラウザ Microsoft Edge は富山市電子入札システムを使用できません

More information

Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc

Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc ver. 1.0 2008 年 6 月 1. はじめに この資料では ホスト PC に存在する ハードウェアのコンフィギュレーション データ ファイルをホスト ファイルシステムの機能を使用して Nios II システム メモリへ転送し そのコンフィギュレーション データを Nios II を使って EPCS へプログラムする手法を紹介します この資料は Quartus II ver.7.2 SP3

More information

Microsoft iSCSI Software Targetを使用したクラスタへの共有ディスク・リソースの提供

Microsoft iSCSI Software Targetを使用したクラスタへの共有ディスク・リソースの提供 Microsoft iscsi Software Target を使用したクラスタへの共有ディスク リソースの提供 はじめに... 2 クラスタ ホスト エントリの作成... 3 イニシエータの設定... 7 クラスタ ノード 1 のイニシエータ... 7 クラスタ ノード 2 のイニシエータ... 7 iscsi 仮想ディスクのエクスポート... 8 iscsi デバイスの初期化... 11 Microsoft

More information

Microsoft Word - Android開発環境構築.doc

Microsoft Word - Android開発環境構築.doc JDK(Java Development Kit) のダウンロード インストール JDK のダウンロードサイト http://www.oracle.com/technetwork/java/javase/downloads/index.html を開き Java SE 6 Update 26(2011/07/29 現在 ) をダウンロードします ( ダウンロード対象は OS ごとに選択して下さい 例では

More information

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl NUCLEO-F401RE の TrueSTUDIO プロジェクト構築方法 V001 2014/09/24 Atollic TrueSTUDIO for ARM Lite を使用して NUCLEO-F401RE のプロジェクトを新規に作成する方法について説明します また ビルドとデバッグについても説明しています 目次 1. 新規プロジェクト作成の準備... 2 2. 新規プロジェクトの作成... 3

More information

Windows ログオンサービス インストールマニュアル 2018/12/21 1

Windows ログオンサービス インストールマニュアル 2018/12/21 1 Windows ログオンサービス インストールマニュアル 2018/12/21 1 目次 1. 注意事項... 3 2. インストール方法... 4 3. 設定ツールを起動する... 6 4. 利用者の情報を登録する... 7 4.1. 管理者メンバーの場合... 7 4.2. 一般メンバーの場合...10 5. アンインストール方法...11 6. その他...13 6.1. ソフトウェアバージョンの確認方法...13

More information

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます ダウンロードのページを開くと いく

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます  ダウンロードのページを開くと いく 2.1 Java の開発ツールを入手しよう Java の実行環境と 開発ツールの Eclipse Android 向けアプリケー ションの開発ツール Android SDK をダウンロードしましょう 本書では Windows パソコンへのインストール方法を説明します Javaをインストールしようまず 最新のJava 実行環境を入手しましょう Javaは Java 公式サイト (http://www.java.com/ja/)

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

More information

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張

Agileイベント・フレームワークとOracle BPELを使用したPLMワークフローの拡張 Agile イベント フレームワークと Oracle BPEL を使用した PLM ワークフローの拡張 チュートリアル Jun Gao Agile PLM Development 共著 2009 年 10 月 目次 概要... 4 このチュートリアルについて... 4 目的および範囲... 4 使用ソフトウェア... 4 はじめに... 5 必要な環境の準備... 5 Agile PLM ワークフロー機能の拡張...

More information

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以 No. ESC-APN-026-02 Document No.: ESC-APN-026-02 adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以下 本書 ) は adviceluna にて下記 Linux 環境をデバッグする手順を説明した文書です Application Shared Library Loadable

More information

目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ

目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ SATO BARCODE PRINTER All-In-One Tool 簡易説明書 (PW208,CL4NX-J,CL6NX-J) 2015 年 8 月 24 日第 3 版 株式会社サトー 目 次 1. All-In-One プリンタユーティリティ概要... 2 1.1. All-In-One プリンタユーティティについて... 2 1.2. 対応プリンタ機種... 2 1.3. システム要件...

More information

Nios II ハードウェア・チュートリアル

Nios II ハードウェア・チュートリアル Nios II ver. 7.1 2007 8 1. Nios II FPGA Nios II Quaruts II 7.1 Nios II 7.1 Nios II Cyclone II count_binary 2. 2-1. http://www.altera.com/literature/lit-nio2.jsp 2-2. Nios II Quartus II FEATURE Nios II

More information

ユーザーズガイド Brother Meter Read Tool JPN Version 0

ユーザーズガイド Brother Meter Read Tool JPN Version 0 ユーザーズガイド Brother Meter Read Tool JPN Version 0 著作権 Copyright 2017 Brother Industries, Ltd. All rights reserved. 本書の情報は予告なく変更されることがあります 本書に記載されているソフトウェアは 使用許諾契約書に基づいて提供されます 本ソフトウェアは 使用許諾契約書に従う場合に限り 使用または複製することができます

More information

GettingStartedTK2

GettingStartedTK2 T-Kernel 2.0 Getting Started T-Engine フォーラム ダウンロード T-Engine フォーラムの web ページから T-Kernel 2.0 Software Package をダウンロード 必要なソフトウェアや開発環境が全て含まれている 2 Copyright 2011 by T-Engine Forum, All Rights Reserved. 1 ReadMe.txt

More information

概要 Windows Embedded Standard 7 は Windows Embedded Standard ポートフォリオにおける次世代プラットフォームで Windows 7 オペレーティングシステムのパワー 使いやすさ 信頼性を備えており カスタマイズ可能なコンポーネント化された形で提供

概要 Windows Embedded Standard 7 は Windows Embedded Standard ポートフォリオにおける次世代プラットフォームで Windows 7 オペレーティングシステムのパワー 使いやすさ 信頼性を備えており カスタマイズ可能なコンポーネント化された形で提供 Windows Embedded Standard 7 の 使用によるアプリケーションの 開発 展開 デバッグ 目次 概要... 2 アプリケーション... 3 目的... 3 コードと環境... 3 Windows Embedded Standard 7 のイメージの準備... 6 HelloWorld アプリケーションを静的に分析... 6 1. 依存関係を解決します... 9 2. ターゲット機器の共有フォルダーを作成します...

More information

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )

More information

Corporate Document

Corporate Document ブルームバーグ ソフトウエア インストールガイド新ブルームバーグプロフェッショナルインストーラー (InstallAware) 日本語 2018 年 6 月 18 日バージョン : 1.0 1 目次ブルームバーグ ソフトウエアのダウンロード... 2 ブルームバーグ シリアル番号のインストール. 8 正しくインストールされたかを確認... 12 アクセス権付与に関する注意... 14 2 ブルームバーグ

More information

Windows Server 2012 および Windows Server 2008 のインストール

Windows Server 2012 および Windows Server 2008 のインストール Windows Server 2012 および Windows Server 2008 のインストール この章は 次の内容で構成されています 内部ドライブへの Windows Server 2012 または Windows Server 2008 のインストール, 1 ペー ジ ブート可能 SAN LUN への Windows Server 2012 または Windows Server 2008

More information

AP-RZA-1A シリアルFlashROMの書き込み方法

AP-RZA-1A シリアルFlashROMの書き込み方法 AP-RZA-1A (RZ/A1H CPU BOARD) シリアル FlashROM の書き込み方法 1 版 2015 年 11 月 9 日 1. 概要... 2 1.1 概要... 2 1.2 動作環境ついて... 2 1.3 書き込み手順の概要... 3 2. 準備... 4 2.1 ソフトウェアのダウンロード... 4 3. シリアル FLASHROM の書き込み方法... 5 3.1 microsd

More information

プリンタドライバのインストール. Windows で使用する場合 Windows プリンタドライバのインストール方法は 接続方法や使用するプリンタドライバによって異なります また コンピュータの OS によってインストール方法が異なります お使いのコンピュータの OS に合わせて 以下の参照ページを

プリンタドライバのインストール. Windows で使用する場合 Windows プリンタドライバのインストール方法は 接続方法や使用するプリンタドライバによって異なります また コンピュータの OS によってインストール方法が異なります お使いのコンピュータの OS に合わせて 以下の参照ページを プリンタドライバのインストール.1 プリンタドライバの種類と対応 OS 本プリンティングシステムを使用するためには プリンタドライバのインストールが必要です プリンタドライバとは 出力するデータの処理などを制御するプログラムで 使用する前に付属の CD からコンピュータにインストールします 付属の CD に含まれるプリンタドライバと 対応しているコンピュータの OS は以下のとおりです 必要なプリンタドライバをインストールしてください

More information

PowerPoint Presentation

PowerPoint Presentation 製品ソフトウェアのセットアップ手順 UNIX/Linux 編 1. セットアップファイルの選択開発環境 / 実行環境 / バージョン /Hotfix/ インストール先 OS 2. 対象セットアップファイルのダウンロード開発環境の場合は 2 つのファイルが対象 3. ソフトウェア要件の確認 4. ソフトウェアのインストール 5. ライセンスの認証 1 1. セットアップファイルの選択 選択項目選択肢該当チェック

More information

Microsoft Word - NW2013_Installation_Guide_English_no_screenshots_JPN.doc

Microsoft Word - NW2013_Installation_Guide_English_no_screenshots_JPN.doc Nintex Workflow 2013 インストールガイド support@nintex.com www.nintex.com 2013 目次に戻る Nintex. All rights reserved. 書き損じ 脱漏を除きます 1 目次 システム必要条件... 2 1. Nintex Workflow 2013 のインストール... 4 1.1 インストーラーの実行... 4 1.2 ソリューションパッケージの展開...

More information

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN ST-LINK/V2-1 への Upgrade V003 2014/10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LINK/V2-1 の Upgrade を行う必要があります STMicroelectronics 社の NUCLEO

More information

Eclipse&gcc install and tutorial

Eclipse&gcc install and tutorial Eclipse & Blackfin Toolchain(gcc) インストール & チュートリアル 第 1 版 ご注意 : このドキュメントは旧版となりました 下記 URL から最新版を参照ください http://kaneko-sys.co.jp/support/ 金子システム株式会社 1 ご注意 1. 本資料に記載されている内容は本資料発行時点のものであり 予告なく変更することがあります 当社製品のご購入およびご使用にあたりましては

More information

DWR-S01D Updater 取扱説明書 発行日 :2011/2/28

DWR-S01D Updater 取扱説明書 発行日 :2011/2/28 DWR-S01D Updater 取扱説明書 発行日 :2011/2/28 目次 概要概要...3 機能機能...3 準備準備するものするもの...3 本ソフトウェアソフトウェアについてについて...3 インストールインストール手順手順...4 USB ドライバーのインストールインストール手順手順...8 デバイスマネージャーデバイスマネージャーからの USB ドライバーのインストールインストール手順手順...11

More information

Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V /06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明しま

Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V /06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明しま Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V001 2016/06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明します 目次 1. Ac6 System Workbench for STM32 のダウンロード... 2

More information

Microsoft Word - DWR-S01D_Updater_取扱説明書_120514A.doc

Microsoft Word - DWR-S01D_Updater_取扱説明書_120514A.doc DWR-S01D Updater 取扱説明書 発行日 :2012/5/14 目次 概要...3 機能...3 準備するもの...3 本ソフトウェアについて...3 インストール手順...4 USBドライバーのインストール手順...8 デバイスマネージャーからのUSBドライバーのインストール手順...11 アップデート手順...16 アップデート後の確認...17 アップデートに失敗した場合...17

More information

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド インテル Parallel Studio XE 2019 Composer Edition for Fortran Windows インストール ガイド エクセルソフト株式会社 Version 1.0.0-20180918 目次 1. はじめに....................................................................................

More information

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 InstallShield のインストーラは DIFX(Microsoft Windows Driver Install Framework) に準拠したデバイスドライバーのインストールをサポートしています

More information

FTDI USB-Serial Converter デバイスドライバのインストール(Rev.1.01)

FTDI USB-Serial Converter デバイスドライバのインストール(Rev.1.01) FTDI USB-Serial Converter デバイスドライバの インストール / アンインストール (Rev.1.10) 年 月 日 合同会社クラッグ電子 (1/19) 目次 1. 初めに... 3 2. デバイスドライバのインストール... 3 2-1. インターネットに接続されている環境... 4 2-2. インターネットに接続されていない環境 ( 自動 )... 6 2-3. インターネットに接続されていない環境

More information

A 既製のプロジェクトがある場合

A 既製のプロジェクトがある場合 2008 年 7 月 15 日 ワゴジャパン株式会社 1 使用機器 -Siemens S7-300:CPU315F-2 PN/DP プロセッサ /PROFINET スキャナ -Siemens SIMATIC Manager STEP 7 ソフトウェア バージョン V5.4-750-333 GSD ファイル :B754_V30.GSD(FW Ver.7 以降 ) -WAGO I/O ノード構成ノード

More information

開発環境構築ガイド

開発環境構築ガイド 開発環境構築ガイド RM-922/RM-92A/RM-92C LoRa/FSK/GFSK 通信モジュール Ver2.5 目次 1. はじめに 2. 開発環境の準備 2.1 開発に必要な環境 2.2 開発キット同胞内容 2.3 開発環境構築の流れ 2.4 方法 1の環境構築例 2.5 方法 2の環境構築例 2.6 ドライバのインストール 2.7 シリアル通信ソフトの設定 2.8 FTDI(UART/USB

More information

ARES 2018

ARES 2018 本ガイドをご参考に ARES 2018 の インストール と アクティベーション を完了してください ARES 2018 [ インストールガイド ] スタンドアロン版 株式会社グレバートジャパン 2018/03/30 目次 1. ARES 2018 の動作環境... 1 動作環境... 1 2. ARES 2018 のインストール... 2 3. ARES 2018 のアクティベーション... 4

More information

CentreCOM VT-Kit2 plus リリースノート

CentreCOM VT-Kit2 plus リリースノート VT-Kit2 plus この度は をお買いあげいただき 誠にありがとうございます このは 付属のマニュアルに記載されていない内容や ご使用の前にご理解いただきたい注意点など お客様に最新の情報をお知らせするものです 最初にこのをよくお読みになり 本製品を正しくご使用ください 1 取扱説明書の補足 ユーザーマニュアル (J613-M0617-00 Rev.A) の補足事項です 1.1 USB ドライバーのインストールについて

More information

Phaser 6250 カラーレーザープリンタ リファレンスガイド

Phaser 6250 カラーレーザープリンタ リファレンスガイド ここでは次の項目について説明します 動作要件 (3-36 ページ ) EtherTalk の使用可能設定と使用 (3-36 ページ ) TCP/IP の使用可能設定と使用 (3-37 ページ ) Mac OS 9.x のクィックインストール手順 (3-37 ページ ) Mac OS X バージョン10.1 のクィックインストール手順 (3-40 ページ ) Mac OS X バージョン10.2 のクィックインストール手順

More information

ARES 2018

ARES 2018 本ガイドをご参考に ARES 2018 の インストール と アクティベーション を完了してください ARES 2018 [ インストールガイド ] スタンドアロン版 2018/07/02 目次 1. ARES 2018 の動作環境... 1 動作環境... 1 2. ARES 2018 のインストール... 2 3. ARES 2018 のアクティベーション... 4 はじめに... 4 通常のアクティベーション...

More information

アラートの使用

アラートの使用 CHAPTER 7 この章は 次の項で構成されています (P.7-2) アラートプロパティの設定 (P.7-4) アラートの一時停止 (P.7-6) アラート通知用電子メールの設定 (P.7-7) アラートアクションの設定 (P.7-7) 7-1 次のを実行して [Alert Central] へのアクセス アラート情報のソート アラートの有効化 無効化 削除 アラートのクリア アラートの詳細の表示などのタスクを実行できます

More information

使用する前に

使用する前に この章では Cisco Secure ACS リリース 5.5 以降から Cisco ISE リリース 2.4 システムへのデー タ移行に使用される Cisco Secure ACS to Cisco ISE Migration Tool について説明します 移行の概要 1 ページ Cisco Secure ACS から データ移行 1 ページ Cisco Secure ACS to Cisco ISE

More information

AN1609 GNUコンパイラ導入ガイド

AN1609 GNUコンパイラ導入ガイド GNU コンパイラ導入ガイド 2 版 2017 年 04 月 20 日 1. GNU コンパイラの導入... 2 1.1 はじめに... 2 1.2 必要なプログラムとダウンロード... 3 1.2.1 GNU ツールチェインのダウンロード... 3 1.2.2 e 2 studio のダウンロード... 5 1.3 GNU ツールチェインのインストール... 7 1.4 e 2 studio のインストール...

More information

Zynq + Synthesijer 入門 わさらぼ 三好 健文

Zynq + Synthesijer 入門 わさらぼ 三好 健文 Zynq + Synthesijer 入門 わさらぼ 三好 健文 2015.3.16 この資料について この資料はZynqとSynthesijerを組み合わせたシステム設計の とっかかりにしてもらことを目的にしています ターゲットボードは ZedboardおよびZyboです Linuxでの実行を想定しています Windowsではコマンドを多少読み違える必要があります Java8が必要です 例題および流れは

More information

prologue Sound Librarian 取扱説明書

prologue Sound Librarian 取扱説明書 目次 はじめに... 2 prologue Sound Librarian とは?... 2 使用上のご注意... 2 動作環境... 2 インストール... 3 Mac へのインストール... 3 Windows へのインストール... 3 クイック スタート... 4 prologue Sound Librarian を起動する... 4 prologue Sound Librarian の画面と操作方法...

More information

        ALTIRIS Client Management Suite Upgrade Guide                                 Rev 年6月30日  

        ALTIRIS Client Management Suite  Upgrade Guide                                 Rev 年6月30日   ALTIRIS Client Management Suite 7 Server Management Suite 7 Quick Startup Guide Rev. 1.1 2009 年 7 月 7 日 目次 1. はじめに----------------------------------------------------------------------------------------------3

More information

ZVH_VIEWER

ZVH_VIEWER R&S FSH4View 操作手順書 Rev 1 ローデ シュワルツ ジャパン株式会社 1 ローデ シュワルツ ジャパン FSH4View 操作手順書 1 FSH4View 操作手順 1.FSH4Viewの起動 2.FSHとPCの接続 3.FSHメモリ内データの転送 4. 測定画像の操作 5. 測定データを数値データへ変換 6. クイック ネーミング機能の設定 2 ローデ シュワルツ ジャパン FSH4View

More information

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂 Arduino IDE 環境 設定手順書 Windows/Mac 用 2014/11/01 作成 2018/01/22 改訂 改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

More information

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5) ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5) 目次 はじめに... 1 インストールガイドについて... 1 ArcGIS Runtime SDK for WPF とは... 1 対象の製品バージョン... 1 ArcGIS Runtime SDK for WPF のライセンス形態... 2 インストールのための前提条件... 3 サポートされる開発環境の準備...

More information

内容 Softimage のスタンドアロンライセンスのインストールとライセンス取得 Softimage セットアッププログラムを実行 エンドユーザ使用許諾契約 (EULA) に同意 インストール先のパスを指定 パッケージの選択... 6

内容 Softimage のスタンドアロンライセンスのインストールとライセンス取得 Softimage セットアッププログラムを実行 エンドユーザ使用許諾契約 (EULA) に同意 インストール先のパスを指定 パッケージの選択... 6 Autodesk Softimage 2010 スタンドアロンおよび Autodesk Softimage 2010 マルチシートスタンドアロンインストールガイド Windows 搭載システム対応 2009 年 9 月 オートデスク株式会社 プロダクトサポート本部 1 内容 Softimage のスタンドアロンライセンスのインストールとライセンス取得... 3 1. Softimage セットアッププログラムを実行...

More information

プリンタードライバーインストールガイド - Windows 10/8.1 - 本ガイドは 複合機 bizhub C368 を例に説明をしています 他の機種の場合も操作 法は同じです 本書では Windows 10 および 8.1 で複合機を利 するために必要なプリンタードライバーのインストール 法を

プリンタードライバーインストールガイド - Windows 10/8.1 - 本ガイドは 複合機 bizhub C368 を例に説明をしています 他の機種の場合も操作 法は同じです 本書では Windows 10 および 8.1 で複合機を利 するために必要なプリンタードライバーのインストール 法を プリンタードライバーインストールガイド - Windows 10/8.1 - 本ガイドは 複合機 bizhub C368 を例に説明をしています 他の機種の場合も操作 法は同じです 本書では Windows 10 および 8.1 で複合機を利 するために必要なプリンタードライバーのインストール 法を説明します 他の OS の場合は ユーザーズガイド を参照してください 1. インストールする前に 1.

More information

Nios II 簡易チュートリアル

Nios II 簡易チュートリアル Nios II Ver. 7.1 2007 10 1. Nios II Nios II JTAG UART LED 8 PIO LED < > Quartus II SOPC Builder Nios II Quartus II.sof Nios II IDE Stratix II 2S60 RoHS Nios II Quartus II http://www.altera.com/literature/lit-nio2.jsp

More information

VPN 接続の設定

VPN 接続の設定 VPN 接続の設定 AnyConnect 設定の概要, 1 ページ AnyConnect 接続エントリについて, 2 ページ ハイパーリンクによる接続エントリの追加, 2 ページ 手動での接続エントリの追加, 3 ページ ユーザ証明書について, 4 ページ ハイパーリンクによる証明書のインポート, 5 ページ 手動での証明書のインポート, 5 ページ セキュアゲートウェイから提供される証明書のインポート,

More information

MotionBoard Ver. 5.6 パッチ適用手順書

MotionBoard Ver. 5.6 パッチ適用手順書 MotionBoard Ver. 5.6 パッチ適用手順書 目次 目次 目次... 2 本パッチ適用手順書について... 3 1. パッチ適用手順... 4 1-1. MotionBoard サーバー インメモリ OLAP エンジン MotionBoard RC Service の適用手順... 5 1-2. MotionBoard Agent の適用手順... 7 1-3. +Mobile アプリケーション

More information

1 開発ツールのインストール 最初に JDK をインストールし 次に IDE をインストールする という手順になります 1. JDK のインストール JDK のダウンロードとインストール JDK は次の URL でオラクル社のウェブページからダウンロードします

1 開発ツールのインストール 最初に JDK をインストールし 次に IDE をインストールする という手順になります 1. JDK のインストール JDK のダウンロードとインストール JDK は次の URL でオラクル社のウェブページからダウンロードします 1 開発ツールのインストール 最初に JDK をインストールし 次に IDE をインストールする という手順になります 1. JDK のインストール JDK のダウンロードとインストール JDK は次の URL でオラクル社のウェブページからダウンロードします http://www.oracle.com/technetwork/java/javase/downloads/index.html なお

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Ceylon( セイロン ) について 佐野尚之 1 OS 開発環境 Android などの対象バージョン OS Windows 7 Home Premium(32bit 版 ) 動作確認環境 EPSON Endeaver NP12( メモリ 1GB) 開発環境 Eclipse 3.7.2 Indigo SR2 Windows 32bit ベース / Pleiades All in One 3.7.2.v20120225

More information

TF Series with Tio1608-D System Setup Guide

TF Series with Tio1608-D System Setup Guide システムセットアップガイド 第 1 版 : 2016 年 6 月 このガイドでは ヤマハデジタルミキシングコンソール TF シリーズ と I/O ラック Tio1608-D を使用したミキシングシステムのセットアップ手順や Tio1608-D の台数に応じたシステム例を紹介します TF シリーズは単体でも使用することができますが Tio1608-D を併用することで簡単にシステムを拡張することができ

More information

Maser - User Operation Manual

Maser - User Operation Manual Maser 3 Cell Innovation User Operation Manual 2013.4.1 1 目次 1. はじめに... 3 1.1. 推奨動作環境... 3 2. データの登録... 4 2.1. プロジェクトの作成... 4 2.2. Projectへのデータのアップロード... 8 2.2.1. HTTPSでのアップロード... 8 2.2.2. SFTPでのアップロード...

More information

修正履歴 NO バージョ 修正内容 修正日 ン 1 Ver1.0 新規作成 2014/04/13 この文書の情報は 文書を改善するため 事前の通知なく変更されることがあります 最新版は弊社ホームページからご参照ください ( 株 ) の書面による許可のない複

修正履歴 NO バージョ 修正内容 修正日 ン 1 Ver1.0 新規作成 2014/04/13 この文書の情報は 文書を改善するため 事前の通知なく変更されることがあります 最新版は弊社ホームページからご参照ください   ( 株 ) の書面による許可のない複 XC6SLX16 FPGA 開発ボード快速入門ガイド 株式会社 http://www.csun.co.jp info@csun.co.jp 作成 更新日 2014/04/13 copyright@2014 ホームページ :http://www.csun.co.jp メール :info@csun.co.jp 1 修正履歴 NO バージョ 修正内容 修正日 ン 1 Ver1.0 新規作成 2014/04/13

More information

AcronisUniversalRestore_userguide_en-US

AcronisUniversalRestore_userguide_en-US Acronis Universal Restore ユーザーガイド 目次 1 Acronis Universal Restore について...3 2 Acronis Universal Restore のインストール...3 3 ブータブルメディアの作成...3 4 Acronis Universal Restore の使用...4 4.1 Windows における Universal Restore...

More information

マルチ VRFCE PE-CE リンクのプロビジョ ニング

マルチ VRFCE PE-CE リンクのプロビジョ ニング CHAPTER 26 この章では Prime Fulfillment のプロビジョニングプロセスで MPLS VPN マルチ VRFCE PE-CE リンクを構成する方法を説明します MPLS VPN MVRFCE PE-CE リンクの概要 この項の内容は 次のとおりです ネットワークトポロジ (P.26-2) 前提タスク (P.26-2) Prime Fulfillment で MPLS VPN

More information

データ移行ツール ユーザーガイド Data Migration Tool User Guide SK kynix Inc Rev 1.01

データ移行ツール ユーザーガイド Data Migration Tool User Guide SK kynix Inc Rev 1.01 データ移行ツール ユーザーガイド Data Migration Tool User Guide SK kynix Inc. 2014 Rev 1.01 1 免責事項 SK hynix INC は 同社の製品 情報および仕様を予告なしに変更できる権利を有しています 本資料で提示する製品および仕様は参考情報として提供しています 本資料の情報は 現状のまま 提供されるものであり 如何なる保証も行いません

More information

SetupVerup_dl_M

SetupVerup_dl_M 最新版プログラムのダウンロード EX-TREND 武蔵 Ver.18 シリーズ FC コンシェルジュの 最新版へのアップグレード サービスを利用して お使いの EX-TREND 武蔵シリーズ を EX-TREND 武蔵 Ver.18 シリーズ にバージョンアップする方法を解説します 1. プロテクトの更新は お済みですか? プログラムをバージョンアップした場合は プロテクトの更新が必要です まだ更新していない場合は

More information

Hik-Connect アカウントにデバイスを追加する方法ユーザーは Hik-Connect APP ウェブポータル ivms4500 アプリまたは ivms クライアント経由で Hik-Connect 機能を有効にすることができます 注 : iv

Hik-Connect アカウントにデバイスを追加する方法ユーザーは Hik-Connect APP   ウェブポータル ivms4500 アプリまたは ivms クライアント経由で Hik-Connect 機能を有効にすることができます 注 : iv 概要 Hik-Connect は 動的ドメイン名サービスとアラームプッシュ通知サービスを統合した Hikvision によって導入された新しいサービスです これは デバイスがインターネットに接続するための簡単な方法を提供します このマニュアルは Hik-Connect サービスを追加する方法をユーザーに示すためのガイドです 注 :: ユーザーエクスペリエンスを向上させるために ルーターとデバイスの両方で

More information

音声認識サーバのインストールと設定

音声認識サーバのインストールと設定 APPENDIX C 次のタスクリストを使用して 音声認識ソフトウェアを別の音声認識サーバにインストールし 設定します このタスクは Cisco Unity インストレーションガイド に記載されている詳細な手順を参照します ドキュメントに従って 正しくインストールを完了してください この付録の内容は Cisco Unity ライセンスに音声認識が含まれていること および新しい Cisco Unity

More information

C1Live

C1Live C1Live 2014.01.30 更新 グレープシティ株式会社 Copyright GrapeCity, Inc. All rights reserved. C1Live 目次 i 目次 ComponentOne Studio Live 更新ユーティリティの概要 1 Studio Live について 2 Studio Live 製品グリッド... 3 Studio Live メニュー... 4 Studio

More information

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x Base_STM32F4_Discovery の説明 2013/09/05 STM32F4 Discovery 基板の CPU STM32F407VG の FlashMemory 0x08010000 番地に書き込んで実行させる ユーザープログラムのためのプロジェクトの雛形です 本プロジェクトを元にユーザープログラムを作成して USB 経由で CPU に書き込みます USB 経由で CPU にプログラムを書き込むためには

More information

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定

LEAP を使用して Cisco ワイヤレス クライアントを認証するための Funk RADIUS の設定 LEAP を使用して Cisco ワイヤレスクライアントを認証するための Funk RADIUS の設定 目次 概要前提条件要件使用するコンポーネント表記法設定アクセスポイントまたはブリッジの設定 Funk ソフトウェアの Inc. Product 設定 Steel-Belted Radius Steel-Belted Radius のユーザの作成関連情報 概要 このドキュメントでは 340 および

More information

プリンタドライバインストールガイド <OPS645>-Windows Vista(32bit 版 )/ Windows 7(32bit 版 )/ Windows 8(32bit 版 )/ Windows 8.1(32bit 版 )- プリンタドライバインストールガイド <OPS645> Window

プリンタドライバインストールガイド <OPS645>-Windows Vista(32bit 版 )/ Windows 7(32bit 版 )/ Windows 8(32bit 版 )/ Windows 8.1(32bit 版 )- プリンタドライバインストールガイド <OPS645> Window Windows Vista / Windows7 / Windows8 / Windows8.1 環境 本ガイドは グラフテックのホームページよりドライバをダウンロードして コンピュータにインストールする手順を説明したものです 内容をご確認のうえ ご使用のコンピュータに正しくインストールをおこなってください 本ガイドでは Windows 7(32bit 版 ) 環境にプリンタドライバ

More information

『テクノス』V2プログラムインストール説明書

『テクノス』V2プログラムインストール説明書 土木積算システム テクノス V2 プログラム インストール説明書 ( 第 3 版 ) 目 次 1. テクノス V2 プログラム インストールの概要...3 2. テクノス V2 のプログラム ドライバ インストール...4 3. テクノス V2 の初期起動...10 4. アンインストール...11 5. 補足 ( 動作環境 )...11 2. 1. テクノス V2 プログラム インストールの概要

More information

Studuinoライブラリ環境設定Mac編

Studuinoライブラリ環境設定Mac編 Studuino ライブラリセット 環境設定手順書 Mac 編 本資料は Studuino ライブラリのセットアップ手順書になります 以下の作業の前に 本資料を参考に Arduino 言語開発環境を設定して下さい Arduino 言語で加速度センサーを制御する Studuino プログラミング環境で Arduino 言語に変換したソースを編集する もくじ 1. Arduino IDE のインストール...

More information

目次 1. HLA Fusion 3.0 がインストール可能な環境 HLA Fusion 3.0 のインストール HLA Fusion 3.4 のインストール 初期設定用データベース接続 ( 初めての方のみ ) 既存データベースのUpg

目次 1. HLA Fusion 3.0 がインストール可能な環境 HLA Fusion 3.0 のインストール HLA Fusion 3.4 のインストール 初期設定用データベース接続 ( 初めての方のみ ) 既存データベースのUpg 目次 1. HLA Fusion 3.0 がインストール可能な環境... 1 2. HLA Fusion 3.0 のインストール... 2 3. HLA Fusion 3.4 のインストール... 4 4. 初期設定用データベース接続 ( 初めての方のみ )... 5 5. 既存データベースのUpgrade 方法 (HLA Fusion 3~3.3 を既に使用の方 )... 7 6. インストールが成功したかの確認...

More information

MENU 키를 누르면 아래의 화면이 나타납니다

MENU 키를 누르면 아래의 화면이 나타납니다 Stand-Alone Digital Video Recorder Advanced MPEG-4 DVR 16 Channel Models クライアントソフト 再インストールマニュアル くまざわ書店専用 日本語版 1 V1.07-n307 This document contains preliminary information and subject to change without notice.

More information

Hyper-V 仮想マシンの設定

Hyper-V 仮想マシンの設定 この章の内容は 次のとおりです Microsoft Hyper-V マネージャでの VM の作成, 1 ページ VF ドライバのインストール, 3 ページ ポートプロファイルの接続, 3 ページ Microsoft Hyper-V マネージャでの VM の作成 この手順は Microsoft Hyper-V マネージャの [New Virtual Machine Wizard] を使用して VM を作成します

More information

(Veritas\231 System Recovery 16 Monitor Readme)

(Veritas\231 System Recovery 16 Monitor Readme) Veritas System Recovery 16 Monitor Readme この README について Veritas System Recovery 16 Monitor でサポートされなくなった機能 Veritas System Recovery 16 Monitor について システムの必要条件 ホストコンピュータの前提条件 クライアントコンピュータの前提条件 Veritas System

More information

図 1.SDK でインストールするパッケージ選択ができたら [Install] ボタンをクリックしますダウンロードとインストールが始まります インストールが終わると [close] ボタンが表示されるので クリックしてとじて下さい Google USB Driver package, revisio

図 1.SDK でインストールするパッケージ選択ができたら [Install] ボタンをクリックしますダウンロードとインストールが始まります インストールが終わると [close] ボタンが表示されるので クリックしてとじて下さい Google USB Driver package, revisio NyARToolKit の環境構築について 森岡克典 手順 1. JDKの環境構築まず Java の実行環境ともいえる ランタイムをインストールします http://www.oracle.com/technetwork/java/javase/downloads/index.html Java Platform,Standard Edition の[Download JRE] からダウンロードここで

More information

Nios II Flash Programmer ユーザ・ガイド

Nios II Flash Programmer ユーザ・ガイド ver. 8.0 2009 年 4 月 1. はじめに 本資料は Nios II 開発環境においてフラッシュメモリ または EPCS へのプログラミングを行う際の参考マニュアルです このマニュアルでは フラッシュメモリの書き込みの際に最低限必要となる情報を提供し さらに詳しい情報はアルテラ社資料 Nios II Flash Programmer User Guide( ファイル名 :ug_nios2_flash_programmer.pdf)

More information

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx 最終更新日 :2017 年 8 月 23 日 バーチャルクラス (ILO) ログイン方法 (Blackboard) 株式会社アイ ラーニング 1 1. 受講環境の確認手順バーチャルクラスにログインする前に 以下の URL にアクセスして お使いの環境がバーチャルクラスを受講できる OS であるかどうか JavaVM がインストールされているかどうか確認してください 動作環境 OS:Windows7

More information

OKI Universal Hiper-C プリンタドライバ ユーザーズマニュアル ( セットアップと使い方編 ) 最終更新日 2012 年 9 月第 2 版

OKI Universal Hiper-C プリンタドライバ ユーザーズマニュアル ( セットアップと使い方編 ) 最終更新日 2012 年 9 月第 2 版 OKI Universal Hiper-C プリンタドライバ ユーザーズマニュアル ( セットアップと使い方編 ) 最終更新日 2012 年 9 月第 2 版 目次 1. プリンタドライバの動作環境... 3 2. プリンタドライバのセットアップ... 4 2.1 Windows 7 / Windows Server 2008 R2 でのセットアップ... 5 2.1.1 プリンターの追加でセットアップします...

More information

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2) Oracle Enterprise Manager システム監視プラグイン インストレーション ガイド for Juniper Networks NetScreen Firewall 10g リリース 2(10.2) 部品番号 : B28468-01 原典情報 : B28041-01 Oracle Enterprise Manager System Monitoring Plug-in Installation

More information

HDWS Update Instruction Guide

HDWS Update Instruction Guide シリーズ ノンリニア編集ワークステーション OS アップデート手順書 年 月版 はじめに 本書では HDWS シリーズに搭載の Windows 10 OS をアップデートする手順について説明しています 本書をよくお読みの上 アップデートを行っていただきますようお願いいたします アップデート対象機種 Windows 10 OS 搭載の HDWS シリーズで OS バージョンが 1809 より前のバージョンが対象機種になります

More information

ユーザ デバイス プロファイルの ファイル形式

ユーザ デバイス プロファイルの ファイル形式 CHAPTER 34 CSV データファイルの作成にテキストエディタを使用する場合 デバイスフィールドと回線フィールドを CSV データファイル内で識別するファイル形式を使用する必要があります このファイル形式には次のオプションがあります Default User Device Profile: ユーザデバイスプロファイルのデバイスフィールドと回線フィールドの事前決定済みの組み合せを含む Simple

More information

Autodesk Softimage 7.5 スタンドアロン インストール ガイド

Autodesk Softimage 7.5 スタンドアロン インストール ガイド Autodesk Softimage 7.5 スタンドアロンおよび Autodesk Softimage 7.5 マルチシートスタンドアロンインストールガイド Windows 搭載システム対応 2009 年 2 月オートデスク株式会社プロダクトサポート本部 1 内容 Softimage のスタンドアロンライセンスのインストールとライセンス取得... 3 1. Softimage セットアッププログラムを実行...

More information

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降)

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降) クイックスタートガイド Cisco ViewMail for Microsoft Outlook クイックスタートガイド ( リリース 8. 以降 ) Cisco ViewMail for Microsoft Outlook( リリース 8. 以降 ) Cisco ViewMail for Microsoft Outlook の概要 Outlook 010 および Outlook 007 での ViewMail

More information

Veritas System Recovery 16 Management Solution Readme

Veritas System Recovery 16 Management Solution Readme Veritas System Recovery 16 Management Solution Readme この README について Veritas System Recovery 16 のソフトウェア配信ポリシーのシステム要件 Veritas System Recovery 16 Management Solution のシステム要件 Veritas System Recovery 16 Management

More information

HP Device Manager4.7インストール・アップデート手順書

HP Device Manager4.7インストール・アップデート手順書 Technical white paper HP Device Manager4.7 インストール アップデート手順書 目次 はじめに 2 HPDM の構成の概要 3 1. インストール先のサーバーの準備 4 2.HPDM Softpaq の入手と展開 6 3.HPDM の新規インストール 9 4. マスターリポジトリの設定 17 5.HPDM のアップデート 20 1 はじめに 本資料では HP

More information

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

Microsoft Word - CBSNet-It連携ガイドver8.2.doc (Net-It Central 8.2) 本ガイドでは ConceptBase Search Lite.1.1 と Net-It Central 8.2 の連携手順について説明します 目次 1 はじめに...2 1.1 本書について...2 1.2 前提条件...2 1.3 システム構成...2 2 ConceptBase のインストール...3 2.1 インストールと初期設定...3 2.2 動作確認...3

More information

変更履歴 日付 バージョン 内容 2017/3/ ver.2.x.x.x を WHQL 対応版とする初版リリース ( ベースバージョン統合の為 2004 からとする ) 2017/3/ x64 とx86 の区別など誤記修正 目次修正 i

変更履歴 日付 バージョン 内容 2017/3/ ver.2.x.x.x を WHQL 対応版とする初版リリース ( ベースバージョン統合の為 2004 からとする ) 2017/3/ x64 とx86 の区別など誤記修正 目次修正 i インストール操作説明書 USB ドライバインストール操作説明 WHQL Driver 対応版 Windows 10 対応 NOTE: バージョン :2.0.0.5 受領印欄 パナソニックモバイルコミュニケーションズ株式会社 REF No. REV A 日付 発行 2017.03.27 確 認 変更履歴 日付 バージョン 内容 2017/3/10 2.0.0.4 ver.2.x.x.x を WHQL

More information

ch2_android_2pri.indd

ch2_android_2pri.indd Android SDK をインストールしよう Android Developers サイトから Android SDK をダウンロードして インストールします 1 インターネットブラウザのアドレスバーに http://dl.google.com/android/ installer_r20-windows.exe と入力して g キーを押す 1 ファイルを保存するメッセージが表示される 2 [ 保存

More information