Arm® Cortex®-M3/M4/M0 ソフトウェアトレーニングコース(オンライン)
- 日程:※オンライン開催のため、2日間にて開催致します
- UNIT1:2021年02月18日(木)13:00〜17:00 (Armv7-M プログラマモデル/Arm Cortex-M3_M4 概要/Armv7-M メモリモデル)
- UNIT2:2021年02月19日(金)13:00〜17:00 (ARM Cortex-M3/M4 プロセッサコア/Armv7-M 例外処理)
※進行状況により終了時間は少し変動の可能性があります
コースの概要
本コースは、Arm® Cortex®-M3/M4/M0 コアをベースにしたプラットフォームでソフトウェアを開発するエンジニアのために作成されています。
Arm®v7-Mのアーキテクチャ、例外、メモリシステムに関する知識を講義で習得します。Arm® Cortex®-M3/M4の違いも習得できます。
※必要に応じてv6-Mのアーキテクチャ、Cortex-M0については補足します。
コースは2つのUNITから構成されており、習熟度や習得したい内容にあわせてご受講いただけます
受講対象者
- Arm® Cortex®-M3/M4/M0 を使用したシステムのソフトウェア開発を行う予定のある ソフトウェアエンジニア
- マイコンに関する一般的な知識
- 既存のArm®プロセッサの知識は問いませんが、あれば役に立ちます。
オンライン開催にあたり
- Zoomのウェビナー機能で開催します。
- ブラウザでのご視聴は「Google Chrome」のみ対応しています。
※Google Chromeの使用ができない場合は、Zoomアプリのインストールが必要になります。
※Zoomのアウントの取得は必須ではございません。
お申し込み方法
「Arm® テクニカル・トレーニングコースのお申込について」
受付終了: 2021年02月10日(水)18:00まで
定員: UNIT1:20名 UNIT2:20名
受講料: UNIT1:20,000円(税抜き) UNIT2: 20,000円(税抜き) セット(UNIT1+UNIT2)価格: 36,000円(税抜き)
お問い合わせ先
Arm®トレーニングセンタ
TEL : 03-6756-9405
E-mail : arm_training@dts-insight.co.jp
コース内容
UNIT1
1 Arm®v7-M プログラマモデル
- 1.1 イントロダクション
Arm®v7-M プロファイル概要 - 1.2 データタイプ
データタイプ - 1.3 コアレジスタ
Arm®v7-M プロファイルレジスタセット / 浮動小数点拡張レジスタ / プログラムカウンタ(PC) / リンクレジスタ (LR) / スタックポインタ(SP) / Program Status Register / CONTROLレジスタ / その他の専用レジスタ - 1.4 モード、特権、スタック
モードの概要 / 特権実行 / スタック - 1.5 例外
例外処理 - 1.6 命令セット概念
命令セット サポート / バイナリの上位互換性 / 命令セット例
2 Arm® Cortex®-M3_M4 概要
- 2.1 Arm® Cortex®-M3_M4 概要
Arm® Cortex®-M3/M4 プロセッサ / Arm® Cortex®-M3 & Arm® Cortex®-M4 特徴 / Arm® Cortex®-M4 / M-プロファイル 命令 / サイクルカウント/ 他のArm®プロセッサとの違い / コアレジスタセット / プログラムステータスレジスタ / プロセッサ パイプライン / メモリマップ / ビット幅のメモリアクセス / ビットバンディング / モード、特権、スタック / メモリ保護ユニット (MPU) / 割り込みと例外 / 電力管理 / コア デバッグ / システムタイマ - SysTick / 実装オプション / Arm® Cortex®-M4 浮動小数点ユニット
3 Arm®v7-M メモリモデル
- 3.1 イントロダクション
イントロダクション - 3.2 メモリ アドレス空間
システム アドレス マップ / メモリ セグメント / アドレスマップ概要 / システムセグメント / Private Peripheral Bus (PPB) / System Control Space (SCS) / System Control Block (SCB) / SCB レジスタ概要 - 3.3 メモリ タイプと属性
メモリ タイプと属性 - 3.4 アライメントとエンディアン
命令とデータ アライメント / エンディアン / エンディアン設定の影響 - 3.5 バリア
メモリバリア命令 / データメモリバリア ( DMB ) / データ同期バリア ( DSB ) / 命令同期バリア ( ISB ) / メモリバリアのさらなる使用 - 3.6 付録
アラインされたデータとアラインされていないデータ / アラインされていないアクセス / システムキャッシュ / キャッシュ ヒットとミス / リード アロケート / ライト アロケート / ライトバック キャッシング / ライトスルー キャッシング / Arm® Cortex®-M3/M4 ライトバッファ / 密結合メモリ(TCM) / ノーマル メモリ / ノーマル メモリ - 共有属性 / ノーマル メモリ - キャッシュ属性 / デバイス メモリ / デバイス メモリ - 共有属性 / ストロングリオーダ メモリ / メモリアクセスの順序は重要か? / メモリアクセス順序 / アクセス順序の規定
UNIT2
4 Arm Cortex-M3/M4 プロセッサコア
- 4.1 Arm Cortex-M3/M4 プロセッサコア
プロセッサブロック図/プロセッサパイプライン/フェッチステージ/最適化されたパイプライン/分岐用語/分岐命令のパイプラインの例/フラッシュ/直接分岐先のプリフェッチ/フォールディング/LDR のパイプラインの例/イトバッファ/STR のパイプラインの例/STR-STR のパイプラインの例/命令サイクルタイミング
5 Arm®v7-M 例外処理
- 5.1 イントロダクション
概要 / マイクロコード化された割り込みのメカニズム / 割り込みオーバーヘッド - 5.2 例外モデルと割り込みレジスタ
例外タイプ / プロセッサのモードの使用例 / 外部割り込み / プリエンプション(実行権の横取り) / 例外モデル / 例外プロパティ / 例外の優先順位付けの例 / ベクタ テーブル / ベクタ テーブル オフセット レジスタ / リセットの動作 / 例外の動作 / 例外優先度の概要 / 例外の状態 - 5.3 例外開始の動作 / 例外開始時のスタッキング / 割り込み感度
割り込み サービス ルーチン(ISR)の開始 / 割り込み時のスタッキング / 割り込みの開始タイミング / ReturnAddress 値 / 例外からのリターン / EXC_RETURN / NMI 例外開始の例/NMI 例外からのリターン例 / ネストの例 / テールチェインの例 / 後着の例 / ステート復元中に新しい割り込みが発生した場合 / 例外優先度と優先度の引き上げ / 優先度の引き上げ例-PRIMASK / 特殊用途のマスクレジスタ / 優先度を引き上げる命令 / v7-M優先度のグループ分け / グループ優先度、サブ優先度の選択 / 割り込み制御とステータス ビット / 割り込みイネーブルレジスタ / 割り込みペンディング レジスタ / 割り込みアクティブレジスタ / 割り込みプライオリティ レジスタ / 割り込み感度 / パルス割り込み / レベル割り込み / 再び同じ割込みを保留する例 - 5.4 ベクタテーブルと割り込みハンドラの記述
CMSIS-CORE: vector table / 割り込みハンドラの記述 / 割り込みの管理 - 5.5 内部例外とRTOSサポート
内部例外 / SysTickタイマ / SVC / SVCハンドラ / PendSV / 優先度エスカレーション / 内部例外レジスタ - 5.6 フォールト例外
v7-Mのフォールト例外 / フォールト エスカレーション / フォールトの処理 / ロックアップ状態 / ロックアップ状態の動作 / ロックアップからの復旧/正確な(同期)例外 / 不正確な(非同期)例外 - 5.7 付録
割り込み終了時のタイミング / テールチェインのタイミング / 後着のタイミング / コアサイズに対する割り込みの影響 / Arm® Cortex®-Mプロファイル機能比較 / Cで記述するベクタテーブル / コンフィギュレーションおよび制御レジスタ(CCR)