pptファイル

割込み処理の諸概念
割込みハンドラ:割込み要因ごとに定義された
処理ルーチン
 デフォルトハンドラ:汎用的な割込みハンドラ
(最低限の処理のみ実行)
 割込みベクタ:割込み要因を表す番号
 割込みベクタテーブル:割込み要因ごとにその
ハンドラの先頭アドレスを格納した表

プログラマブル割込みコントローラ
最高優先度
エアバック
センサ
高優先度
コアCPU
PIC
割込み
ブレーキセンサ
中優先度
割込み
ハンドラ
燃料レベル
センサ
低優先度
実時間
クロック
ハードタイマとソフトタイマ
PIT
コアCPU
割込み
周期設定
タイマ
割込み
サービス
ルーチン
起動
ワーカ
タスク
カウント
ダウン
ソフトタイマ
テーブル
カウント
処理
カウント
処理
カウント
処理
タイマテーブルのソート
ソートされていないタイマテーブル
18 17 12 23 5
9 14 6 11 30 2
7
8
ソートされたタイマテーブル
2
5
6
7
8
9 11 12 14 17 18 23 30
2
3
1
1
1
1
2
1
2
3
1
5
7
タイミングホイール
クロック
ダイアル
タイムスロット
タイムスロット
タイムスロット
タイムスロット
起動
起動
処理
起動
処理
タイムスロット
タイムスロット
処理
タイムスロット
処理
タイムスロット
処理
処理
階層的タイミングホイール
0
クロック
100m秒
ダイアル
200m秒 切替え
0
1秒
2秒
クロック
ダイアル
切替え
0
1分
2分
300m秒
3分
400m秒
4分
500m秒
分単位
タイムスロット
600m秒
700m秒
800m秒
58秒
900m秒
59秒
100m秒単位
タイムスロット
秒単位
タイムスロット
内部断片化と外部断片化
ブロックサイズ=32
A= malloc(120)
free(D)
B= malloc(20)
E=malloc(40)
割り当て失敗
C= malloc(50)
D= malloc(32)
free(B)
コンパクション(外部断片化の解消)
E= malloc(40)
⇒ コンパクション起動(移動ブロックへのアクセス不可)
メモリブロックの割当て
メモリプール方式
32
50
128
通常のソフトウェアの開発環境
コンパイラ
エディタ
デバッガ
標準ライブラリ
汎用オペレーティングシステム
開発環境
汎用CPU
開発ソフトウェア
標準ライブラリ
汎用オペレーティングシステム
実行環境
サーバーCPU
組込みソフトウェアの開発環境
コンパイラ
エディタ
デバッガ
標準ライブラリ
汎用オペレーティングシステム
開発環境
汎用CPU
開発ソフトウェア(ROM)
特化されたライブラリ
リアルタイム組込みOS
実行環境
専用CPU(開発中?)
テストとデバグ
テスト開始
テスト実行
OK?
Yes
No
原因究明
対策実施
テストへの反映
十分?
デ
バ
グ
Yes
テスト終了
No
ターゲットデバグエージェント
クロスプラットフォーム開発環境
e.g. 開発ホスト: Linux
ターゲットシステム: Andoroid
ホストシステム上でのソースレベルデバッグに必要な情
報を提供するターゲットデバグエージェント
・メモリ、レジスタのR/W
・ブレークポイントの設定・削除
・シングルステップ実行
・ホストデバッガとの通信
ターゲットデバグエージェント
ターゲットプログラム
・実行制御のための書換え
デバグエージェント
・参照、変更
・ホストとの通信
ホストデバッガ
・デバッガインタフェース
・高級言語インタフェース
・ユーザインタフェース