【実践】C言語による組込みプログラミングスタートブック
2006年10月7日紙版発売
鳥海佳孝 著
B5変形判/336ページ
定価3,718円(本体3,380円+税10%)
ISBN 4-7741-2915-1
ただいま弊社在庫はございません。
書籍の概要
この本の概要
ソフトウェアエンジニアにとって,「組込み」の敷居が低くなってきています。本書は,ソフトウェアエンジニアのための「組込み」プログラミングの入門書です。付属のDVD-ROMにはXilinx ISE WebPACK 8.1iを,CD-ROMにはImpulse C CoDeveloperを収録。これで,C言語によるハードウェア設計を体験することができます。
Cの仕様がわかっていれば十分。ハードウェア設計の第一歩として大いに活用できる1冊です。
こんな方におすすめ
- 組込み技術者や制御機器設計技術者等を目指す方
- ハードウェア設計に興味を持つソフトウェアエンジニア
- WindowsプログラマでCの知識を有する方
目次
第1章 C言語によるハードウェア設計
- 1−1 ハードウェア設計の現状
- 1−1−1 ハードウェア設計の現状
- 1−1−2 FPGAとは
- 1−2 ハードウェア設計フロー
- 1−3 Cベース設計の現状
- 1−3−1 Cベース設計による問題の解決
- 1−3−2 Cベース設計の環境
- 1−4 なぜImpulse Cなのか
- 1−5 ソフトエンジニアへのハードウェア設計の勧め
第2章 ソフトウェアのインストールとFPGAボード
- 2−1 ハードウェア設計の基礎
- 2−1−1 ハードウェア設計フロー
- 2−1−2 Impulse Cの関数
- 2−1−3 FPGAデバイスの容量
- 2−1−4 負論理
- 2−1−5 FPGAのピン固定
- 2−1−6 C言語のコーディングの違い
- 2−1−7 作成されたハードウェアに対する評価
- 2−1−8 HDL(ハードウェア記述言語)は必要ないのか?
- 2−2 開発環境の準備
- 2−2−1 CoDeveloperのインストール
- 2−1−2 Xilinx社の開発環境(Webpack)のインストール
- 2−3 FPGAボード
- 2−3−1 ボードの選択
- 2−3−2 USBドライバのインストール
- 2−3−3 ダウンロードプログラムの設定
第3章 Impulse Cをはじめてみよう
- 3−1 Impulse CとCoDeveloper
- 3−1−1 Impulse CとCoDeveloperの違い
- 3−2 Hello Worldの実行
- 3−2−1 Hello World実行のイメージ
- 3−2−2 Hello Worldの実行
- 3−2−3 生成されたHDLの格納場所
- 3−3 Hello Worldのソースコード解説
- 3−3−1 main関数部分のソース(HelloWorld.c)
- 3−3−2 ハードウェア部分のソース(HelloWorld_hw.c)
- 3−3−3 ソフトウェア部分のソース(HelloWorld_sw.c)
- 3−3−4 Monitorウィンドウ
- 3−4 カウンタの実行
- 3−5 カウンタのソースコード解説
- 3−5−1 ハードウェア部分のソース(MyCounter.c)
- 3−5−2 ソフトウェア部分のソース(MyConsumer.c)
- CHALLENGE問題(1) Hello World
第4章 FPGAで動作させてみよう
- 4−1 カウンタの値をLEDに出力させる
- 4−1−1 カウンタの記述の追加とハードウェア生成
- 4−1−2 HDLラッパー
- 4−1−3 Webpackの起動と新規プロジェクトの作成
- 4−1−4 Impulseライブラリの登録
- 4−1−5 論理合成・配置配線・FPGAデータの生成の実行
- 4−1−6 FPGAデータのダウンロード
- CHALLENGE問題(2) カウンタ
- Column 回路図を見てみよう
- 4−2 カウンタの値を7セグメントLEDに出力させる
- 4−2−1 7セグメントLEDの追加
- 4−2−2 7セグメントLED用HDLラッパーとピン固定ファイル
- 4−2−3 bitファイルの生成(7セグメントLED版)
- CHALLENGE問題(3) 7セグメント付き
- Column FPGAのピン固定
- 4−3 Cの記述からカウンタ動作を遅らせる
- 4−3−1 co_signalによる時間制御
- 4−3−2 co_signal用HDLラッパー
- 4−3−3 bitファイルの生成(co_signal版)
- CHALLENGE問題(4) Cによる時間遅延
第5章 入力スイッチを使用してみよう
- 5−1 7セグメントLED付きアップダウンカウンタの作成
- 5−1−1 アップダウンカウンタへの仕様変更
- 5−1−2 bitファイルの生成(入力スイッチ付き版)
- Column プロジェクトのクリーンアップ
- 5−2 ロード付きアップダウンカウンタの作成
- 5−2−1 ロードボタン付きアップダウンカウンタへの仕様変更
- 5−2−2 bitファイルの生成(ロード入力版)
- 5−3 ロード付き10進アップダウンカウンタの作成
- 5−3−1 ロード付き10進アップダウンカウンタへの仕様変更
- 5−3−2 bitファイルの生成(10進カウンタ版)
- CHALLENGE問題(5) 10進アップダウンカウンタ
第6章 24時間時計を動かす
- 6−1 なぜ24時間時計の設計なのか?
- Column 商品を意識して設計することが大切
- 6−2 24時間時計の作成(その1)
- 6−2−1 24時間時計のコーディング仕様と作成
- 6−2−2 bitファイルの生成(24時間時計:その1)
- 6−3 なぜエラーになったのか!?
- 6−3−1 ツールのレポートと他のボードでの結果
- 6−3−2 回路的に大きな部分はないか?
- 6−4 24時間時計の作成(その2)
- 6−4−1 24時間時計のコーディング仕様と作成
- 6−5 24時間時計の作成(その3)
- 6−5−1 ダイナミック点灯部分のCでの記述
- 6−5−2 ハードウェアの比較
- Column スライスの話
- 6−6 24時間時計の作成(その4)
- 6−6−1 ダイナミック点灯部分の変更
- 6−6−2 ハードウェアの比較
- 6−7 7セグメントLEDのデコード
- 6−7−1 デコードの記述をif文に戻す
- 6−7−2 配列によるデコードの実現方法
- CHALLENGE問題(6) 24時間時計
- 6−8 24時間時計の作成(すべてHDL版)
- 6−8−1 HDLで記述
- 6−8−2 ハードウェアの比較
- CHALLENGE問題7 24時間時計アドバンスド問題
第7章 Impulse Cによる画像エッジ検出
- 7−1 Impulse Cと組込みのFPGAボードによる画像エッジ検出
- 7−1−1 開発環境
- 7−2 操作手順とハードウェア化の流れ
- 7−2−1 概要
- 7−2−2 アルゴリズム検討とソース分析
- 7−2−3 CoDeveloperによるハードウェア生成
- 7−2−4 ISEでの既存の環境の設定
- 7−2−5 EDKによる設定と実行
- 7−2−6 ISEによるハードウェア生成とMCSファイルの作成
- 7−2−7 SUZAKUによるフィルタの実行
第8章 今後のC言語設計を使われ方
- 8−1 Cベース設計の方向性
- 8−1−1 どんなところに使うべきか?
- 8−1−2 アセンブラとコンパイラ?
付録
- 付録1 その他のFPGAボード
- 付録2 iMPACTによるダウンロード
- 付録3 Webpackのアップデート
- 付録4 本書で使用したImpulse Cの関数
- 付録5 Impulse Cのデータタイプ
- 付録6 CoBuilder Cのpragmaについて
- 付録7 ハードウェアプリミティブ関数について
- 付録8 新規プロジェクトの作成
この本に関連する書籍
-
よくわかるSystemCによるシステムデザイン入門
本書は,C++ベースのハードウェア記述言語であるSystemCを使ってハードウェア設計を行うための入門書です。 ソフト・ハードの協調設計にこれから挑戦したいという方には...
-
C言語によるPICプログラミング入門
C言語の基礎からPICへの応用まで,C言語を駆使してのPICプログラム構築技法を徹底的に解説。PICを手軽に,そして,さらに高度に使ってみたい方にお勧めの1冊です。