講座テキストの目次はこちら

-目次-
第1章 組込みシステムとC言語
第4章 プログラム例
1
2
3
4
5
39
40
41
42
43
44
45
46
47
48
49
組込みシステムとは
組込みシステムの開発言語
動作環境の違い‥UNIX vs. 組込みシステム
組込み向けC言語の特徴(1)
組込み向けC言語の特徴(2)
第2章 組込みシステムの基本ハードウエア
7
8
9
10
11
12
13
アドレスとデータ
メモリとI/Oポート
アドレスマップ
レジスタとは
CPUによるハードウエア制御
組込み向けCPUの構造
演習環境
第3章 C言語の文法と記述(1)
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
プログラムの基本構造
変数宣言
変数の型と名前
定数
配列
文字と文字列
演算子と優先順位
インクリメント、デクリメント
シフト演算
ビット演算
関係演算と論理演算
代入演算
if文(1)
if文(2)
switch文
for文
while文
do~while文
breakとcontinue
関数の基礎(1)
関数の基礎(2)
ポインタの基礎(1)
ポインタの基礎(2)
配列の総和
最大値検出
最大値検出(プログラム)
最大値検出による並び替え
最大値検出による並び替え(プログラム)
レジスタのアドレス設定
レジスタへの書き込みと読み出し
「hello」プログラムの詳細 ‥ 基本構造
「hello」プログラムの詳細 ‥ 代入とループ構造
「hello」プログラムの詳細 ‥ 変数とレジスタ
「hello」プログラムの詳細 ‥ 変数の値の変化
第5章 CPUインターフェースとプログラム
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
CPUと周辺回路
各種バス
周辺回路のレジスタ構造
アドレスデコーダ
アドレスデコーダの回路例
書き込みタイミング
レジスタへの書き込み制御
読み出しタイミング
レジスタの読み出し制御
レジスタの実際
レジスタへのアドレス割り当て
レジスタ書き込みプログラムとバスの動作
レジスタ読み出しプログラムとバスの動作
プログラムによる任意波形生成
代入演算によるビット制御
第6章 C言語の文法と記述(2)
文法の補足
67
68
69
70
71
72
73
74
75
76
77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
プログラムの構造
関数の引数と戻り値
引数の仕組みと種類
ポインタと配列(1)
ポインタと配列(2)
ポインタと引数
ポインタの演算
構造体
共用体
プリプロセッサ
変数の宣言場所による可視性
第7章 組込みプログラムの実際
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
組込みCプログラムの特徴
プログラム起動の流れ
ベクタテーブル
起動ルーチン
内蔵周辺回路の初期化
プログラムはROM、変数はRAM
変数領域の初期化
プログラムと変数のメモリ配置
内部レジスタの構造体宣言
内部レジスタのアクセス
volatileの必要性
ポーリングと割り込み
ベクタテーブルの詳細
割り込みの初期化処理
割り込み処理
ビッグエンディアンとリトルエンディアン
変数の型
識別子
多次元の配列
変数の初期値
条件演算
演算優先順位に関する注意点
文と式(1)
文と式(2)
if文の注意点
プロトタイプ宣言
ライブラリ関数(1)
ライブラリ関数(2)
型の定義と列挙型
型変換
変数の宣言場所による記憶領域の違い
その他の文法
プログラムとファイル構造
誤りやすい記述
ポインタ使用例 ‥ 文字列のコピー(1)
ポインタ使用例 ‥ 文字列のコピー(2)
ポインタ使用例 ‥ エンディアン
補足資料 ・・ ASCⅡコード表
演習
・演習の進め方
・演習1~演習12
補足資料
第8章 テストプログラムによるデバッグ
96
97
98
99
100
101
102
ハードウエア設計時の検証
バスモデル(書き込み)
バスモデル(読み出し)
テストベンチからテストプログラムへ移植
メモリテスト演習 ‥ 2種類の故障
メモリテスト演習 ‥ Stuck-at-0故障の発見
メモリテスト演習 ‥ セル間ショートの発見
・ソフトウエアツール簡易マニュアル
・Quartus II 操作ガイド