実習・Cortex-M3ボードで学ぶ,マイコンとアセンブリ言語基礎 [教材基板付き]
実習・Cortex-M3ボードで学ぶ,マイコンとアセンブリ言語基礎 [教材基板付き]
|
|
【開催日】2015年2月11日(水) 10:00-17:00 1日コース
【セミナNo.】ES14-0155 【受講料】29,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
【セミナNo.】ES14-0155 【受講料】29,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
ARMアーキテクチャの1つであるCortex-M3マイコンを題材にして,組み込み系ソフトウェア技術者にとって重要な基礎知識である,マイクロ・コンピュータの仕組みや動作原理,高速化技術などを解説する.また,プロセッサの内部構造や動作を理解するために,アセンブリ言語(アセンブラ)で記述された複数のプログラムの動作を解説する.従って,本セミナでは,どのプロセッサやCPUにも共通する普遍的な知識に加えて,Cortex-M3の特徴や,アセンブリ言語の基礎を学ぶ事になる.
アセンブリ言語を学ぶと,C言語などの高級言語の内部構造を詳しく理解できるため,プログラミングのレベルを高めることにつながる.また,アセンブリ言語の知識は,高級言語で組み込みソフトウェアを作成する場合においても必要になることがある.例えば,スタートアップ・ルーチンのカスタマイズ,コンパイラの性能評価,コンパイラの能力を超えた最適化,コンパイラのバグ解析などを行なう際に,アセンブリ言語の知識は必須となる.
アセンブリ言語を学ぶと,C言語などの高級言語の内部構造を詳しく理解できるため,プログラミングのレベルを高めることにつながる.また,アセンブリ言語の知識は,高級言語で組み込みソフトウェアを作成する場合においても必要になることがある.例えば,スタートアップ・ルーチンのカスタマイズ,コンパイラの性能評価,コンパイラの能力を超えた最適化,コンパイラのバグ解析などを行なう際に,アセンブリ言語の知識は必須となる.
1. 単純なマイクロコンピュータの基本要素とその動作
1.1 内部構成,メモリの内部構造,CPUの内部構造
1.2 汎用レジスタ,コントロール・レジスタ
1.3 その他
2. プログラム実行の原理
2.1 CPUの基本動作
2.2 プログラムの実行イメージ
2.3 ノイマン型コンピュータ
3. CPU の高速化技術
3.1 システム・クロックと動作速度
3.2 データ・バスの本数と実行速度の関係
3.3 メモリの構成とアラインメント
3.4 アドレス・バスの本数と最大記憶容量の関係
3.5 パイプラインとパイプライン・ハザード
3.6 スーパー・パイプライン
3.7 スーパー・スカラ(スーパー・スケーラ)
4. ARM Cortex-M3の解説
4.1 レジスタ・セット(汎用レジスタ,スタック・ポインタ.リンク・レジスタ等)
4.2 命令体系(Load/Store,Thumb-2命令,16/32bit命令の選択)
4.3 メモリ・マップ,アラインメント,エンディアン
4.4 その他の特徴
5. 利用するマイコン・ボードの解説
6. 開発環境の解説およびインストール手順
7. アセンブリ言語プログラムによる解説
7.1 データ転送命令,演算命令
7.2 分岐命令
7.3 サブルーチン呼出し命令と高速化の工夫
7.4 if-then-else分岐
7.5 条件付き実行プリフィックス
7.6 AUTO変数のスタック領域への配置
7.7 スタック領域を利用した関数への引数渡し
7.8 ランタイム・ライブラリの呼び出し
7.9 その他の命令と補足
8. 割り込み処理プログラムの例
使用する教材基板(予定)
●対象聴講者
・さまざまなプロセッサに共通する知識を体系的に学びたい/整理したい方
・アセンブリ言語に興味がある方
・ARMマイコンの特徴や内部構造を知りたい方
●講演の目標
・さまざまなプロセッサに共通する知識を体系的に学ぶことができる
・アセンブリ言語の基本が理解できる
・ARMマイコンの特徴や内部構造が分かる
●参考文献
・Joseph Yiu;『ARM Cortex-M3システム開発ガイド』,CQ出版社,2009年6月.
・川内 康雄;『STM32マイコン徹底入門』,CQ出版社,2010年12月.
・島田 義人/永原 柊;『世界の定番ARMマイコン 超入門キット STM32ディスカバリ』,CQ出版社,2011年12月.
●受講者が持参するもの
・Windows OS(2000/XP/Vista/7)を搭載したノート・パソコン
・USBケーブル(A-ミニBタイプ)
1.1 内部構成,メモリの内部構造,CPUの内部構造
1.2 汎用レジスタ,コントロール・レジスタ
1.3 その他
2. プログラム実行の原理
2.1 CPUの基本動作
2.2 プログラムの実行イメージ
2.3 ノイマン型コンピュータ
3. CPU の高速化技術
3.1 システム・クロックと動作速度
3.2 データ・バスの本数と実行速度の関係
3.3 メモリの構成とアラインメント
3.4 アドレス・バスの本数と最大記憶容量の関係
3.5 パイプラインとパイプライン・ハザード
3.6 スーパー・パイプライン
3.7 スーパー・スカラ(スーパー・スケーラ)
4. ARM Cortex-M3の解説
4.1 レジスタ・セット(汎用レジスタ,スタック・ポインタ.リンク・レジスタ等)
4.2 命令体系(Load/Store,Thumb-2命令,16/32bit命令の選択)
4.3 メモリ・マップ,アラインメント,エンディアン
4.4 その他の特徴
5. 利用するマイコン・ボードの解説
6. 開発環境の解説およびインストール手順
7. アセンブリ言語プログラムによる解説
7.1 データ転送命令,演算命令
7.2 分岐命令
7.3 サブルーチン呼出し命令と高速化の工夫
7.4 if-then-else分岐
7.5 条件付き実行プリフィックス
7.6 AUTO変数のスタック領域への配置
7.7 スタック領域を利用した関数への引数渡し
7.8 ランタイム・ライブラリの呼び出し
7.9 その他の命令と補足
8. 割り込み処理プログラムの例
使用する教材基板(予定)
●対象聴講者
・さまざまなプロセッサに共通する知識を体系的に学びたい/整理したい方
・アセンブリ言語に興味がある方
・ARMマイコンの特徴や内部構造を知りたい方
●講演の目標
・さまざまなプロセッサに共通する知識を体系的に学ぶことができる
・アセンブリ言語の基本が理解できる
・ARMマイコンの特徴や内部構造が分かる
●参考文献
・Joseph Yiu;『ARM Cortex-M3システム開発ガイド』,CQ出版社,2009年6月.
・川内 康雄;『STM32マイコン徹底入門』,CQ出版社,2010年12月.
・島田 義人/永原 柊;『世界の定番ARMマイコン 超入門キット STM32ディスカバリ』,CQ出版社,2011年12月.
●受講者が持参するもの
・Windows OS(2000/XP/Vista/7)を搭載したノート・パソコン
・USBケーブル(A-ミニBタイプ)
【講師】
成田 佳應 氏〔(有)情報技研 代表取締役,技術士(情報工学部門)〕
2002年より情報技研 代表取締役として,主に組み込みソフトウェア関連の業務に従事している.元IPA/SEC組込みソフトウェア開発力強化推進委員会・ETSS教育部会委員.
成田 佳應 氏〔(有)情報技研 代表取締役,技術士(情報工学部門)〕
2002年より情報技研 代表取締役として,主に組み込みソフトウェア関連の業務に従事している.元IPA/SEC組込みソフトウェア開発力強化推進委員会・ETSS教育部会委員.