徹底図解 マイコンの機能を100%引き出すプログラム作成のための
TRSP No.106 Cプログラミング はじめの一歩
トランジスタ技術SPECIAL編集部 編
B5判 144ページ
定価1,980円(税込)
JAN9784789849067
2009年4月1日発行
好評発売中!
今日,たくさんのマイコン・プログラムがC言語で書かれています.それらのプログラムは,パソコン上で動かすプログラムとは違います.C言語で組んだプログラムをマイコン上で動かすには,マイコンゆえにしなければならないことがたくさんあります.本書は,マイコン上で動かすプログラムを作るための「はじめの一歩」となるように,C言語の解説を基礎編で行ったあと,実践編で応用例をもとにデバッグの実際に触れていきます.
基礎編でのC言語の解説は,パソコン・プログラムでは必須のファイル入出力関数の使いかたには触れず,ハードウェアとの関連を重視して構成しました.実践編では,基礎編で得たC言語の知識が生かせるよう,簡単なハードウェア(H8/3664Fマイコン・ボードと液晶表示モジュール)のためのCプログラムを,統合開発環境HEWで作成して動作確認することから始めます.
◆基礎編
C言語とコンパイラとターゲットと…
第1章 マイコン・プログラム作成のための基礎知識
1-1 「hello, world」を表示するプログラム
パソコン用のプログラムはOSとのインターフェースをもっている
1-2 マイコン用のプログラムの生成
パソコン上でクロス・コンパイルを行う
1-3 マイコン装置とプログラムのデバッグ方法
ハードウェアの不具合なのかソフトウェアの不具合なのか
1-4 「デバッグ力」が完成度を左右する
トレースやモニタを利用する
Appendix A 「LSI C-86試食版」のインストールと実行例
Windowsの「コマンド プロンプト」でhello, worldを試してみる
コラム
・コンパイラとCISC/RISC
・ソフトウェア・ブレークとハードウェア・ブレーク
・データの表示と修正機能をプログラムに忍ばせておく
複数のファイルを使ってプログラム作成の効率を上げる
第2章 C言語プログラムの概要
2-1 #includeと#define
ファイル構成や文字列定義を制御するディレクティブ
2-2 コンパイルのためのファイル管理
複数のソース・ファイルなどからプログラムを生成する
2-3 条件付きコンパイル
コンパイル動作を条件によって制御する
2-4 C言語のキーワードとコメント
変数名や関数名には使えない
コラム
・列挙子
・JISコードとASCIIコード
C言語でプログラムを作成する際の約束事
第3章 変数と演算
3-1 C言語は関数の集まり
文とブロックとサブルーチンと関数
3-2 変数の型
データの長さや種類を型で分けて扱う
3-3 定数
数値や文字の扱いかた
3-4 演算子
一般的な加減乗除から条件式まで多様に使える
3-5 プログラムにおける変数の宣言と型変換
変数の型との扱いによって処理の結果に違いが出ることの注意
3-6 関数の宣言
関数の引き数と戻り値にも型がある
3-7 内部変数と外部変数
使える場所がかぎられている変数がある
3-8 静的変数
プログラムの終了まで使える変数がある
コラム
・暗黙のうちに行われる型変換
・命令処理中の信号変化
・ビッグ・エンディアンとリトル・エンディアン
処理の内容を変更したり繰り返したりするしくみ
第4章 Cプログラムの制御構造
4-1 if文とelse,else if文
条件が成立するかどうかで処理の流れを分ける
4-2 switch文
条件を表す変数の値によって分岐する
4-3 繰り返し文
同じ処理を回数や条件が成立するまで続ける
4-4 goto文
無条件でラベルに分岐する
コラム
・最適化とその落とし穴
・注意! ミス多発文
・ミニ用語解説(1)
・switch文を使って肥大しきったプログラム
配列とポインタと構造体と…
第5章 Cプログラムのデータ構造
5-1 配列の使いかた
同じ型のデータを並べて扱う
5-2 ポインタの使いかた
データや関数のアドレスを扱う
5-3 構造体の使いかた
いろいろな型のデータをまとめて扱う
5-4 共用体の使いかた
記憶領域を共用するデータ構造
5-5 構造体の応用
ビット操作からオブジェクト指向プログラミングまで
5-6 オブジェクト指向プログラミング
C++への橋渡しとして
コラム
・大きな配列を扱うプロクラム
・共用体を使って2バイト・データの上下を入れ替える
・ミニ用語解説(2)
・間接アドレッシング
・DOSウィンドウでのポインタのポインタ
大きなプログラムを効率的に作成するために
第6章 ファイルの分割とライブラリの利用
6-1 複数のソース・ファイルにまたがる宣言
extern宣言と型をそろえることが必要
6-2 ファイル分割の例
プログラムを階層化して処理を分ける
6-3 ライブラリ化
何度も使う汎用的な関数を作成しておく
6-4 ターゲットに合わせたライブラリを構成する
ソース・コードをカスタマイズして利用する
コラム
・アセンブリ言語における変数/関数の外部参照
・ドキュメント作成に役立つツール
Appendix B おもなライブラリ関数
マイコン応用で使えるものを中心に
割り込み処理やアセンブリ言語プログラムとのリンク
第7章 C言語だけでは手が届かない部分
7-1 絶対番地でデータを配置する領域
マイコンのメモリ・マップで制限されるデータ
7-2 割り込み関数
変数の扱いかたに注意して記述する
7-3 アセンブリ言語プログラムとのリンク
C言語だけでは記述できない処理に対応する
コラム
・ソースとデスティネーション
・鏡の中の鏡…再帰呼び出し
◆実践編
H8/3664FとHEWを使って液晶表示器にhello, worldを表示する
第8章 マイコンにCプログラムを書き込んで実行する
8-1 使用するマイコンはH8/3664F
フラッシュROM内蔵でプログラムの実験に便利
8-2 書き込み器の製作
パソコンのシリアル・ポートとマイコン・ボードをつなぐ
8-3 液晶モジュールの接続
マイコンから制御して文字や図形を表示する
8-4 H8/3664Fの初期設定
マイコンの端子の機能を設定する
8-5 液晶モジュールの初期設定
文字表示のまえにコマンドを送る
8-6 統合開発環境HEWを使ってコンパイルする
使用するマイコンに合わせた設定を行ってソース・プログラムを作成する
8-7 マイコンにプログラムを転送する
フラッシュ・ファミリ用開発ツール・キットFDTを使って書き込む
8-8 ハードウェアと初期化のチェック
hello, world…そのまえに
8-9 ライブラリ関数を書き換えて画面制御を行う
より本格的なディスプレイ・ライブラリへ
コラム
・ミニ用語解説(3)
・ミニ用語解説(4)
・ミニ用語解説(5)
・H8/3664のメモリ構成
・H8/3664のスリープ時の動作
HEWから書き込みとデバッグを操作する
第9章 H8/3664FボードにE8aエミュレータを接続する
9-1 E8aエミュレータの概要
統合開発環境から操作する
9-2 E8aエミュレータとキーボードを接続する
液晶モジュール基板に回路を追加して製作する
9-3 HEWからデバッグを行うための準備
エミュレータを接続して実行プログラムをダウンロードする
9-4 プログラムをステップ実行で追う
ソフトウェア・ブレーク・ポイントの利用
9-5 キーボード入力の処理を行うプログラム
タイマ割り込みの設定と割り込み処理関数
9-6 動作確認とデバッグ
ハードウェアの不具合を取り除いてから
コラム
・キー入力を取り込む仕組み
Appendix C マイコン・トレーニング・ボードMT-R300
USBインターフェースでパソコンと接続する