Nios II IDE によるソフトウェア開発 - セクション 1



Similar documents
ファイルサーバー(NFS) 構築ガイド

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

Nios II ソフトウェア開発ハンドブック Version 1.2 第4章. HALを使用したプログラムの開発 ver.1.2

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

CSV_Backup_Guide

HTG-35U ブルーバック表示の手順書 (2014年12月改定)

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

ーがサーバーにファイルをアップロードしたり ファイルを 電 子 メールで 送 信 したために) 利 用 できるようになった 場 合 手 動 で 転 送 されたこれらのファイルにアクセスするユーザーまたはデバイスに CAL は 必 要 ありません 以 下 の 例 では 特 定 の 製 品 について 説

1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた 以 下 の 税 関 手 続 き( 以 下 輸 出 申 告 等

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

<4D F736F F D208DE3905F8D8291AC8B5A8CA48A948EAE89EF8ED0208BC696B18BA492CA8E64976C8F BD90AC E378C8E89FC92F994C5816A>

XML形式の電子報告書作成に当たっての留意事項

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

(Microsoft PowerPoint -

あいち電子調達共同システム

<4D F736F F D B796EC8CA7835C F815B E646F63>

AGT10 ( Android(TM) 4.1) ファームウェア更新方法

01_07_01 データのインポート_エクスポート_1

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

<4D F736F F D2095CA8E A90DA91B18C9F93A289F1939A8F D8288B3816A5F E646F63>

技術報告会原稿フォーマット

迷惑メールフィルタリングコントロールパネル利用者マニュアル

データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面

Microsoft Word - 参考資料:SCC_IPsec_win8__リモート設定手順書_

Microsoft Word - 【事務連絡】居所情報の登録申請が間に合わなかった場合の取扱いの周知について.docx

健康食品データベース入力操作説明書

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

奨学事業戦略部個人情報ファイル簿

購買ポータルサイトyOASIS簡易説明書 b

HDC-EDI BaseのAny変換における閏年の取り扱いに関する重要なお知らせ

端 末 型 払 い 出 しの 場 合 接 続 構 成 図 フレッツ グループから 払 出 されたIPアドレス /32 NTT 西 日 本 地 域 IP 網 フレッツ グループ フレッツ グループから 払 出 されたIPアドレス /

文科省様式3-2集計オプションマニュアル

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

はじめに この 資 料 は データ デデュプリケーション 機 能 を 検 討 いただくにあたり ディス ク 使 用 率 とバックアップ パフォーマンスについて データ デデュプリケーション デバイス( 以 降 DDD と 記 述 )とファイル システム デバイス ( 以 降 FSD と 記 述 )

Nios II IDE によるソフトウェア開発 セクション 2

Transcription:

ALTIMA Corp. Nios II IDE によるソフトウェア 開 発 セクション 1 ver.1.0 2010 年 8 月 ELSENA,Inc.

目 次 1. はじめに... 3 2. HAL を 用 いたプログラミング... 3 2-1. HAL (Hardware Abstraction Layer)... 3 2-2. Nios II IDE プロジェクトの 構 造... 4 2-3. HAL API の 使 用 例... 5 2-3-1. システム クロック... 6 2-3-2. アラーム 機 能... 7 2-3-3. システムスタンプ タイマ... 8 2-4. HAL ファイル システム... 9 2-4-1. HAL ファイル システム API... 9 2-4-2. アプリケーション 例... 10 2-4-3. ファイル アクセス 関 数... 11 2-4-4. デバイスへのダイレクト アクセス... 11 3. ペリフェラルへのアクセス 方 法... 12 3-1. データ キャッシュのバイパス... 12 ver. 1.0 2010 年 8 月 2/14 ALTIMA Corp. / ELSENA,Inc.

1. はじめに この 資 料 では Nios II IDE を 用 いたソフトウェア 開 発 について 紹 介 します Nios II の HAL を 用 いたプログラミング HAL (Hardware Abstraction Layer) Nios II IDE プロジェクト 構 造 HAL API の 例 (タイマとアラームの 設 定 について) HAL ファイル システム ペリフェラルへのアクセス 方 法 2. HAL を 用 いたプログラミング この 章 では Nios II プログラムで 使 用 する HAL について 説 明 します 2-1. HAL (Hardware Abstraction Layer) HAL システム ライブラリはデバイス ドライバ インターフェースを 提 供 します プログラムはこのインター フェースを 使 用 してハードウェアにアクセスすることができます HAL システム ライブラリは 以 下 のサービスを 提 供 します 標 準 のインターフェースを 使 用 可 能 にする HAL を 使 用 することによって デバイス ドライバが 抽 象 化 されますので アプリケーションとデバイ ス ドライバ ソフトウェアを 明 確 に 区 別 することができ ハードウェアに 依 存 しない 標 準 関 数 によるア クセスを 提 供 します newlib ANSI C 標 準 ライブラリとの 統 合 HAL アプリケーション プログラム インターフェース(API)は ANSI C 標 準 ライブラリと 統 合 されて いるため printf() や fopen() 等 の 一 般 的 な C 標 準 関 数 を 使 用 することができます デバイス ドライバ HAL システム ライブラリは 特 定 の SOPC システム 上 に 構 築 されます PTF ファイルにしたがっ て 生 成 され SOPC システム 内 に 組 み 込 まれているペリフェラルのデバイス ドライバ ソフトウェアを リンクし 構 成 されます HAL API デバイス アクセス 割 り 込 み 処 理 アラーム 機 能 などの HAL サービスへの 標 準 インターフェース を 提 供 します ver. 1.0 2010 年 8 月 3/14 ALTIMA Corp. / ELSENA,Inc.

HAL ベースシステムのレイヤ 標 準 C ライブラリ ユーザ アプリケーション HAL API Nios II プロセッサ システム ハードウェア デバイス ドライバ デバイス ドライバ デバイス ドライバ デバイス ドライバ HAL API _exit() sbrk() open() ioctl() close() isatty() opendir() stat() closedir() kill() read() usleep() fstat() lseek() readdir() wai() getpid() write() rewinddir() settimeofday() 2-2. Nios II IDE プロジェクトの 構 造 HAL システム ライブラリをベースとしたソフトウェア プロジェクトの 作 成 と 管 理 は Nios II 統 合 開 発 環 境 (IDE)に 統 合 されています 下 図 は HAL システム ライブラリの 組 み 込 み 方 法 に 重 点 を 置 いた Nios II プログラム ブロックを 示 しま す HAL ベースのシステムは 図 に 示 すように 2 つの Nios II IDE プロジェクトから 成 ります ユーザが 開 発 するすべてのプログラムはユーザ アプリケーション プロジェクトに 含 まれ もう 一 方 のシステム ライブラリ プロジェクト(HAL システム ライブラリ プロジェクト)には プロセッサ ハードウェアとのインターフェースに 関 連 するすべての 情 報 が 含 まれます HAL ベースのソフトウェア アプリケーション ユーザ アプリケーション プロジェクト 種 別 ファイル 種 別 作 成 者 ユーザのプログラムやプロジェクト.c.s.h ファイル ユーザ HAL システム ライブラリ プロジェクト 種 別 ファイル 種 別 作 成 者 HAL system library プロジェクト Nios II IDE プロジェクト 設 定 ファイル Nios II IDE SOPC Builder システム 種 別 Nios II プロセッサ システム ハードウェア ファイル 種 別.ptf ファイル 作 成 者 SOPC Builder ver. 1.0 2010 年 8 月 4/14 ALTIMA Corp. / ELSENA,Inc.

2-3. HAL API の 使 用 例 タイマを 例 にして HAL API の 使 用 方 法 を 説 明 します SOPC Builder 内 の Interval timer コアを 使 用 しま す HAL API は 2 種 類 のタイマ デバイス ドライバを 提 供 します システム 内 に 複 数 のタイマ ペリフェラルを 組 み 込 むことが 可 能 です ひとつのタイマ ペリフェラルはどちらか 一 方 のみ 動 作 可 能 で 両 方 同 時 に 動 作 す ることはできません Nios II IDE の System Library Properties のページで 使 用 するタイマ ペリフェラルを 選 択 します システム クロック タイマ : アラーム 機 能 を 実 現 します タイムスタンプ タイマ : 高 精 度 の 時 間 測 定 を 可 能 にします SOPC Builder Nios II IDE System Library Properties ページ ver. 1.0 2010 年 8 月 5/14 ALTIMA Corp. / ELSENA,Inc.

2-3-1. システム クロック システム クロック タイマはシステム 時 刻 の 基 本 単 位 ティック を 提 供 します ティックで 指 定 した 単 位 時 間 ごとにシステム クロックをカウントアップし 指 定 した 時 間 に 関 数 の 実 行 や 時 間 の 測 定 を 行 うことができま す 下 記 の 関 数 HAL API を 使 用 して 制 御 することが 可 能 です alt_nticks() : リセット 以 降 の 経 過 時 間 をシステム クロックのティック 数 で 取 得 します alt_ticks_per_second() : システム クロック レート(ティック/ 秒 )を 取 得 します 下 記 の 例 では 測 定 したい 部 分 (func() 関 数 )の 前 後 で alt_nticks() 関 数 を 使 用 して ティックのカウント 数 を 取 得 し ティック 数 の 差 分 から 実 行 時 間 を 測 定 しています 例 ) 簡 易 的 な 時 間 計 測 方 法 alt_nticks () リセット 後 からのティック 数 を 取 得 alt_ticks_per_second () システム カウンタのカウントのレート を 取 得 差 分 でモニタしたい 部 分 の 実 行 時 間 を 測 定 ver. 1.0 2010 年 8 月 6/14 ALTIMA Corp. / ELSENA,Inc.

2-3-2. アラーム 機 能 HAL アラーム 機 能 を 利 用 して 指 定 した 時 間 に 実 行 する 関 数 を 登 録 することができます アラームは 下 記 HAL を 使 用 して 登 録 キャンセルを 行 います alt_alarm_start() : アラームの 登 録 int alt_alarm_start ( alt_alarm* alarm, // アラームを 表 す 構 造 体 へのポインタ alt_u32 nticks, // callback を 呼 ぶまでの 時 間 (ティック 数 で 指 定 ) alt_u32 (*callback) (void* context), // callback 関 数 へのポインタ void* context ); // callback 関 数 への 入 力 引 数 alarm はこのアラームを 表 す 構 造 体 へのポインタです このポインタはユーザが 作 成 する 必 要 があ り 作 成 した 構 造 体 はアラームが 有 効 になっている 間 よりも 長 い 間 有 効 である 必 要 があります alarm が 指 し 示 す 構 造 体 の 内 容 をユーザが 初 期 化 する 必 要 はありません alt_alarm_stop() : 以 前 に 登 録 されたアラームのキャンセル void alt_alarm_stop (alt_alarm* alarm); // 引 数 は 呼 び 出 しに 使 用 したアラーム 構 造 体 へのポインタ 例 ) 周 期 的 なアラーム コールバック 関 数 の 使 用 コールバック 関 数 戻 り 値 で 次 回 callback 呼 び 出 しまでのティック 数 を 指 定 この 場 合 は 5 秒 間 隔 で my_alarm_callback 関 数 が 呼 び 出 される コールバック 関 数 の 登 録 callback 関 数 を 呼 び 出 すまでの 時 間 この 場 合 は 10 秒 ver. 1.0 2010 年 8 月 7/14 ALTIMA Corp. / ELSENA,Inc.

2-3-3. システムスタンプ タイマ HAL システム クロックのティックで 得 られるサンプリング 周 期 以 上 の 精 度 での 時 間 間 隔 の 測 定 が 必 要 な 場 合 には タイムスタンプ タイマを 使 用 することができます タイムスタンプ タイマは 単 調 に 増 加 するカウン タを 提 供 するため このカウンタをサンプリングして 時 間 計 測 に 使 用 することができます HAL はシステム 内 に 1 つのタイムスタンプ タイマのみサポートします タイムスタンプ タイマは alt_timestamp.h ファイルで 定 義 されます タイムスタンプ ドライバを 使 用 する 場 合 には 必 ず Nios II IDE システム ライブラリ プロパティのページ にて Timestamp Timer が 設 定 されている 必 要 があります デフォルトでは 設 定 されていません タイムスタンプ タイマが 存 在 すれば 下 記 の HAL API を 使 用 することができます alt_timestamp () : カウンタが 動 作 を 開 始 します この 関 数 を 呼 び 出 すたびにタイムスタンプ タイマの 値 はゼロにリセットされます タイマ コアは 32 ビット もしくは 64 ビット(コアのオプション 設 定 にて 変 更 可 能 )がサポートされ カウンタの 値 は 2 32-1 もしくは 2 64-1 までカウントすることができ それ 以 降 は 0 で 停 止 します alt_timestamp() : タイムスタンプ タイマの 現 在 の 値 を 返 します alt_timestamp_freq() : タイムスタンプ カウンタの 増 加 レートを 取 得 します このレートは Timestamp timer に 指 定 した Interval Timer の 動 作 周 波 数 です 例 ) コード 実 行 時 間 を 測 定 するためのタイムスタンプ タイマの 使 用 alt_timestamp_start () でタイムスタンプ タイマを 起 動 alt_timestamp () でカウント 値 を 取 得 し 差 分 でモニタ したい 部 分 の 実 行 時 間 を 測 定 alt_timestamp_freq () でタイムスタンプ タイマのカウントの レートを 取 得 します ver. 1.0 2010 年 8 月 8/14 ALTIMA Corp. / ELSENA,Inc.

2-4. HAL ファイル システム HAL はキャラクタ モードのデバイスおよびデータ ファイル システムを 扱 うためにファイル システムの 概 念 を 持 ちます newlib が 提 供 する C 標 準 ライブラリのファイル I/O 関 数 ( fopen() fread() 等 ) または HAL システム ライブラリが 提 供 する UNIX 形 式 のファイル I/O を 使 用 して キャラクタ デバイスにアクセ スできます / /dev /mnt /dev/jtag_uart0 /dev/lcd0 /mnt/rozip /mnt/rozip/myfile1 /mnt/rozip/myfile2 ファイル システムは 自 身 をグローバル HAL ファイル システム 内 のマウント ポイントとして 登 録 します マウント ポイントの 下 にあるファイルにアクセスを 試 みると アクセスはそのファイル サブシステムに 対 して 実 行 されます 例 えば zip ファイル サブシステムが / mnt / rozip として 登 録 されている 場 合 / mnt / rozip / myfile1 を 対 象 とした fopen() のコールは 関 連 付 けされた zipfs ファイル サブシステムによって 処 理 さ れます 同 様 にキャラクタ モード デバイスは HAL ファイル システム 内 のノードとして 登 録 します 慣 例 的 に system.h ファイル 内 では デバイス ノード 名 は プリフィックス / dev に 続 いて SOPC Builder でハードウェ ア コンポーネントに 割 り 当 てられた 名 前 を 付 加 して 定 義 されます 例 えば SOPC Builder での JTAG UART ペリフェラルが jtag_uart0 という 名 前 で 割 り 当 てられていると system.h ファイルでは /dev/jtag_uart0 と 定 義 されます HAL ファイル システムではカレント ディレクトリという 概 念 はなく すべてのファイルは 絶 対 パスを 通 して アクセスする 必 要 があります 2-4-1. HAL ファイル システム API Newlib 標 準 C ライブラリ I/O 関 数 を 用 いたファイル システム デバイス(ファイル)へのアクセス fopen() fclose() fread() etc HAL UNIX スタイルのファイル I/O close() open() fstat() read() ioctl() stat() isatty() write() lseek() ver. 1.0 2010 年 8 月 9/14 ALTIMA Corp. / ELSENA,Inc.

2-4-2. アプリケーション 例 標 準 入 力 標 準 出 力 標 準 エラー シンプルなコンソール I/O を 実 装 するには 標 準 入 出 力 ( stdin stdout stderr )を 使 用 する 方 法 がもっ とも 簡 単 な 方 法 です HAL システム ライブラリは 背 後 で stdin stdout stderr を 管 理 するため ファイ ル ディスクリプタを 明 示 的 に 管 理 することなく これらのチャンネルを 介 してキャラクタを 送 信 受 信 するこ とが 可 能 になります Nios II IDE のシステム ライブラリ プロパティにて 特 定 のハードウェア デバイスへの 関 連 付 けを 行 いま す Nios II IDE System Library Properties ページ 例 ) Hello World 定 番 の Hello World プログラム Nios II IDE でビルドした 際 に stdout に 関 連 付 けられるデバイスにキャラク タが 送 信 されます キャラクタ デバイスへの 汎 用 アクセス キャラクタ モード デバイス( stdin stdout stderr を 除 く)へのアクセスは ファイルを 開 いたり ファイル に 書 き 込 んだりするのと 同 様 です 例 ) JTAG UART へのキャラクタの 書 き 込 み Hello World の 文 字 を JTAG UART に 送 信 します デバイスは SOPC Builder でのコンポーネント 名 で 定 義 されます system.h ファイル 内 で #define JTAG_UART_NAME "/dev/jtag_uart" のように 定 義 されています ver. 1.0 2010 年 8 月 10/14 ALTIMA Corp. / ELSENA,Inc.

2-4-3. ファイル アクセス 関 数 使 い 慣 れたファイル アクセス 関 数 を HAL / Newlib が 提 供 します ANSI C fd = fopen ( / dev / lcd0, w ); fprintf ( fp, %s, msg ); UNIX スタイル fd = open ( / dev / / lcd0, 0_WRONLY ); write ( fd, msg, strlen ( msg ) ); Newlib は C++ ストリームもサポート ofstream ofp ( / dev / lcd0 /, ios ; : out ); ofp <<,sg ; その 他 の UNIX スタイル 関 数 int usleep ( int us ); int settimeofday ( const struct timeval *t, const struct timezone *tz); int gettimeofday ( struct timeval *ptimeval. struct timezone *ptimezone ); 2-4-4. デバイスへのダイレクト アクセス 特 定 のデバイスには 汎 用 API では 補 足 できない 使 用 条 件 を 持 つハードウェア 固 有 の 機 能 があります HAL システム ライブラリは UNIX 形 式 の ioctl () 関 数 を 提 供 することによって ハードウェア 固 有 の 機 能 に 対 応 しています ハードウェアの 機 能 はペリフェラルごとに 異 なるため 各 ペリフェラルがサポートする ioctl 機 能 の 詳 細 は ペリフェラルのドキュメントを 確 認 する 必 要 があります ver. 1.0 2010 年 8 月 11/14 ALTIMA Corp. / ELSENA,Inc.

3. ペリフェラルへのアクセス 方 法 この 章 では Nios II から 接 続 されている 各 ペリフェラルへのアクセスについて 説 明 します 3-1. データ キャッシュのバイパス Nios II プロセッサ コアはインストラクション キャッシュとデータ キャッシュを 搭 載 することができます イ ンストラクション キャッシュのみを 持 つのか インストラクション キャッシュとデータ キャッシュ 両 方 持 つのか はそれぞれのコアによって 異 なります Nios II / Fast コアはインストラクション キャッシュとデータ キャッシュ Nios II / Standard コアはインストラクション キャッシュ Nios II / Economy コアはキャッシュを 搭 載 すること はできません Nios II のアドレス 空 間 は 2GByte のミラーリングになっています 下 位 2GByte がキャッシュ 領 域 上 位 2GByte は 非 キャッシュ 領 域 で 最 上 位 の Bit 31 が 制 御 ビットとなっています Fast コアを 使 用 した 場 合 すべての 変 数 データはデフォルトでキャッシュされます データ キャッシュはダイレクト マップ ライト バック 方 式 です ハードウェアへアクセスする 場 合 には ソフトウェアでキャッシュをバイパスする 操 作 が 必 要 です データ キャッシュをバイパスするためのマクロが 用 意 されています IOWR IORD を 使 用 してハードウェ アに 直 接 アクセスする 記 述 をします 使 用 方 法 は 以 下 のようになります IOWR は stwio に IORD は ldwio 命 令 のアセンブリ 命 令 に 展 開 されます マクロ IORD (BASE, REGNUM) IOWR (BASE, REGNUM, DATA) IORD_32DIRECT (BASE, OFFSET) IOWR_32DIRECT (BASE, OFFSET, DATA) IORD_16DIRECT (BASE, OFFSET) IOWR_16DIRECT (BASE, OFFSET, DATA) IORD_8DIRECT (BASE, OFFSET) IOWR_8DIRECT (BASE, OFFSET, DATA) 用 途 ベース アドレス BASE のデバイス 内 部 のオフセット REGNUM のレジスタの 値 を 読 み 込 みます レジスタはバスのアドレス 幅 だけオフセットされていると 仮 定 されます ベース アドレス BASE のデバイス 内 部 のオフセット REGNUM のレジスタに DATA の 値 を 書 き 込 みます レジスタはバスのアドレス 幅 だけオフセットされて いると 仮 定 されます アドレス BASE+OFSET の 位 置 で 32 ビットの 読 み 込 みアクセスを 行 います アドレス BASE+OFSET の 位 置 で 16 ビットの 読 み 込 みアクセスを 行 います アドレス BASE+OFSET の 位 置 で 8 ビットの 読 み 込 みアクセスを 行 います アドレス BASE+OFSET の 位 置 で 32 ビットの 書 き 込 みアクセスを 行 います アドレス BASE+OFSET の 位 置 で 16 ビットの 書 き 込 みアクセスを 行 います アドレス BASE+OFSET の 位 置 で 8 ビットの 書 き 込 みアクセスを 行 います IOWR IORD マクロと volatile 宣 言 ポインタを volatile として 宣 言 し この volatile ポインタを 使 用 してアクセスしてもデータ キャッシュ をアクセスできないことに 注 意 してください volatile 宣 言 はコンパイラに 対 してアクセスを 最 適 化 しな いようにするための 指 示 です IORD / IOWR マクロは データ キャッシュのバイパスと volatile 宣 言 を 両 方 行 ったものと 同 様 の 効 果 です ver. 1.0 2010 年 8 月 12/14 ALTIMA Corp. / ELSENA,Inc.

SOPC Builder に 提 供 されているコンポーネントにはハードウェア インターフェースを 定 義 するヘッダ ファ イルが 提 供 されています 各 ヘッダ ファイルは<コンポーネント 名 >_regs.h の 名 前 で 各 コンポーネントの inc ディレクトリに 保 存 されています 例 えば PIO のコンポーネントの 場 合 には 以 下 のファイルが 保 存 されてい ます <インストールパス> ip altera sopc_builder_ip altera_avalon_pio inc に altera_avalon_pio_regs.h <コンポーネント 名 >_regs.h ファイル 内 では 以 下 の 内 容 が 定 義 されています 各 レジスタにアクセスするための 読 み 取 りマクロや 書 き 込 みマクロ IOWR_<コンポーネント 名 >_<レジスタ 名 > IORD_<コンポーネント 名 >_<レジスタ 名 > レジスタ 内 の 個 々ビット フィールドへのアクセスを 可 能 にする ビット フィールド マクロとオフセット フィールド ビット マスク <コンポーネント 名 >_<レジスタ 名 >_<フィールド 名 >_MSK フィールド 先 頭 のビット オフセット <コンポーネント 名 >_<レジスタ 名 >_<フィールド 名 >_OFST ペリフェラル 用 ヘッダ ファイルの 例 altera_avalon_dma.h ver. 1.0 2010 年 8 月 13/14 ALTIMA Corp. / ELSENA,Inc.

免 責 及 び ご 利 用 上 の 注 意 弊 社 より 資 料 を 入 手 されましたお 客 様 におかれましては 下 記 の 使 用 上 の 注 意 を 一 読 いただいた 上 でご 使 用 ください 1. 本 資 料 は 非 売 品 です 許 可 無 く 転 売 することや 無 断 複 製 することを 禁 じます 2. 本 資 料 は 予 告 なく 変 更 することがあります 3. 本 資 料 の 作 成 には 万 全 を 期 していますが 万 一 ご 不 明 な 点 や 誤 り 記 載 漏 れなどお 気 づきの 点 がありましたら 本 資 料 を 入 手 されました 下 記 代 理 店 までご 一 報 いただければ 幸 いです 株 式 会 社 アルティマ : 222-8563 横 浜 市 港 北 区 新 横 浜 1-5-5 マクニカ 第 二 ビル TEL: 045-476-2155 HP: http://www.altima.co.jp 技 術 情 報 サイト EDISON : https://www.altima.jp/members/index.cfm 株 式 会 社 エルセナ : 163-0928 東 京 都 新 宿 区 西 新 宿 2-3-1 新 宿 モノリス 28F TEL: 03-3345-6205 HP: http://www.elsena.co.jp 技 術 情 報 サイト ETS : https://www.elsena.co.jp/elspear/members/index.cfm 4. 本 資 料 で 取 り 扱 っている 回 路 技 術 プログラムに 関 して 運 用 した 結 果 の 影 響 については 責 任 を 負 いかねますのであらかじめご 了 承 ください 5. 本 資 料 は 製 品 を 利 用 する 際 の 補 助 的 な 資 料 です 製 品 をご 使 用 になる 場 合 は 英 語 版 の 資 料 もあわせてご 利 用 ください ver. 1.0 2010 年 8 月 14/14 ALTIMA Corp. / ELSENA,Inc.