組込み現場の「C」プログラミング 基礎からわかる徹底入門
2007年3月29日紙版発売
SESSAME 編
A5判/296ページ
定価2,838円(本体2,580円+税10%)
ISBN 978-4-7741-3069-9
書籍の概要
この本の概要
組込み開発が,日本メーカーが世界で生き残るための切り札ともなっていることは周知の事実です。ケータイをはじめとする家電のデジタル化や高機能化,またモデルチェンジ周期の短縮傾向などもあって,新規プログラムの需要は増すばかり。こういった状況からして,ここでの情報ニーズが高まっていることも明らかでしょう。
本書は,その道の達人たちが,組込み開発ならではの実用的なノウハウや勘所,落とし穴に対する注意などを重点的に伝授するものです。取り扱っているのが組込み開発では間違いなく主流のC言語であることもポイント。
こんな方におすすめ
- 組込み現場で配属されたプログラマー
- C言語の初歩はわかるが現場での実践経験には乏しいという方
- 組込みプログラミングに特有の作法を知りたい方
この書籍に関連する記事があります!
- 組込みエンジニアが学ぶべきこととは何か?
- 携帯用機器や家電製品から自動車の制御用にも用いられる組込みプログラムの開発が脚光を浴びるようになったのは,それほど昔の話ではありません。もちろん,こういったプログラムで何らかの制御を行うしくみそのものは,ずいぶん前から使われています。
目次
第1章 組込みソフトウェアとは?
- 1.1 組込みソフトウェア=メジャーなソフトウェア
- 1.2 組込みソフトウェアとC言語
- 1.3 組込みソフトウェアの特徴
- 1.3.1 ハードウェアとの関連
- 1.3.2 信頼性などの品質
- 1.3.3 制約
- 1.3.4 クロスプラットフォーム
- 1.3.5 移植性への配慮
- 1.4 組込みソフトウェアを構成する要素
- 1.5 組込みソフトウェア開発の工程
第2章 組込みプログラムの品質
- 2.1 C言語一般の特徴/ポイント
- 2.1.1 低レベルの処理を記述できる高級言語
- 2.1.2 フリーフォーマット
- 2.1.3 プリプロセッサ
- 2.1.4 ポインタ
- 2.1.5 データの型変換
- 2.1.6 演算子の優先順位
- 2.1.7 独自拡張
- 2.2 品質を上げるには?―「品質」のさまざまな側面を知ろう
- 2.2.1 「品質」の定義
- 2.2.2 機能性品質
- 2.2.3 効率性品質
- 2.2.4 信頼性品質
- 2.2.5 保守性品質/移植性品質
- 2.2.6 使用性品質
- 2.3 品質を上げるには?―きちんと設計しよう
- 2.3.1 モジュール間の構造を設計しよう
- 2.3.2 モジュール凝集度を考えよう
- 2.3.3 モジュール結合度を考えよう
- 2.3.4 モジュール分割の指針を意識しよう
- 2.3.5 インクルードファイル分割の指針を意識しよう
- 2.3.6 シンプルなモジュール内部構造を設計しよう
- 2.4 品質を上げるには?―レビューをしよう
- 2.4.1 なぜレビュー?
- 2.4.2 レビューでチェックする視点の例
- 2.4.3 レビュー結果への対処
- 2.4.4 レビューでしてはいけないこと
- 2.4.5 静的解析ツールはレビューの代わりになるか?
- 2.5 品質を上げるには?―良いコードを書こう
- 2.5.1 良いコードとは?
- 2.5.2 C言語で陥りやすい罠
- 2.5.3 良いコード―信頼性についての例
- 2.5.4 良いコード―効率性についての例
- 2.5.5 良いコード―保守性/移植性についての例
- 2.6 品質を上げるには?―良い再利用をしよう
- 2.6.1 モジュール単位の再利用
- 2.6.2 クラス継承による再利用
- 2.6.3 コピー&ペーストによる再利用
- 2.6.4 再利用と知的所有権
- 2.7 品質を確認するには?―テストをしよう
- 2.7.1 テストの進め方
- 2.7.2 網羅とピンポイント
- 2.7.3 モジュール単体テスト
- 2.7.4 モジュール結合テスト(関数の結合)
- 2.7.5 状態遷移のテスト
- 2.7.6 テストしやすいプログラムを書こう
- 2.8 品質を上げるには?―原理を知ろう
- 2.9 品質を上げるには?―構成を管理しよう
- 2.10 品質を上げるには?―変更を管理しよう
- 2.11 品質を上げるには?―不具合を管理しよう
第3章 Cプログラム実行の裏
- 3.1 CPUはプログラムをどのように実行するのか?
- 3.2 メモリとCプログラム
- 3.2.1 メモリマップ
- 3.2.2 スタック
- 3.2.3 関数の呼び出し
- 3.2.4 変数の配置
- 3.2.5 コードの配置とポインタ
- 3.2.6 I/Oポート
- 3.3 割り込みの仕掛け
- 3.3.1 割り込みとは?
- 3.3.2 割り込みの仕掛け
- 3.3.3 割り込み処理の前後で必要なソフトウェア処理
- 3.3.4 多重割り込みと割り込みの優先度
- 3.3.5 割り込み処理を記述するときの注意点
- 3.4 スタートアップルーチン
- 3.5 コンパイルとリンク
- 3.5.1 コンパイラの仕事
- 3.5.2 リンケージエディタの仕事
- 3.5.3 コンパイラを信頼するな?
- 3.6 ハードウェアとのお付き合い
- 3.6.1 ハードウェアへのアクセスはどのようになっているか?
- 3.6.2 プログラムからハードウェアにアクセスするには?
- 3.6.3 メモリの種別とアクセススピード
- 3.6.4 入出力に関する回路要素の知識
- 3.6.5 ハードウェアの特性
- 3.7 リアルタイムOS
第4章 組込みプログラムの慣用句
- 4.1 ビット制御
- 4.2 バッファ制御
- 4.3 メモリ配置
- 4.4 ポインタ
- 4.5 ポートへのアクセス
第5章 組込みプログラムのサンプル
- 5.1 組込みプログラムサンプルの仕様について
- 5.1.1 プログラムの仕様
- 5.1.2 ハードウェアの仕様
- 5.2 プログラム例 ―1
- 5.3 プログラム例 ―2
この本に関連する書籍
-
組込み現場の「C」言語 基礎からわかる徹底入門 《重点学習+文法編》
組込みプログラマーはニーズも従事者も増加しているという現実があります。C++の利用も増えてきたとは言え,現状,相変わらず主流はC言語です。組込みプログラマーの経...
-
組込み現場の「C++」プログラミング 明日から使える徹底入門
組込み開発におけるプログラムは,年々その規模が拡大しています。プログラムの行数も,最近3年の間に,10万行を超えるものの割合が全体の3割から6割以上へと倍増してい...
-
標準テキスト 組込みプログラミング 《ソフトウェア基礎》
組込みエンジニアの人材不足が問題となっています。資料によれば,2006年の時点でも94,000人ものエンジニアが不足,とされていました。言うまでもなく,こういった人材...
-
標準テキスト 組込みプログラミング 《ハードウェア基礎》
組込みエンジニアの人材不足が問題となっています(2007年の時点でも、9万人以上ものエンジニアが不足とされていました)。こういった人材の育成は急務となっており、企...
-
【実践】C言語による組込みプログラミングスタートブック
ソフトウェアエンジニアにとって,「組込み」の敷居が低くなってきています。本書は,ソフトウェアエンジニアのための「組込み」プログラミングの入門書です。付属のDVD...
-
現場の仕事がバリバリ進むソフトウェアテスト手法
今日,テストという技術・学問は非常に大きな分野になってきています。しかし,その重要性はまだきちんと理解されていません。そこで,製品を開発してからテストを行う...