Arm® Cortex®-M33 ソフトウェア開発トレーニングコース(オンライン)
- 日程:調整中
※進行状況により終了時間は少し変動の可能性があります
コースの概要
本コースは、Arm®v8-M MainlineアーキテクチャをベースとするベースとするArm® Cortex®-M33で動作するソフトウェアを開発するエンジニア向けに作成されています。
Arm®v8-Mアーキテクチャ概要と、例外処理およびArm®v8-Mの特徴とも言えるセキュリティ環境について学習します。
最後にArm® Cortex®-M33の機能の特徴についても紹介します。
受講対象者
- Arm® Cortex®-M33コア向けの組込みソフトウェア開発時に必要になる知識を習得したいソフトウェアエンジニア
- マイコンについて基礎的な理解があること
- Cプログラミングについて知識があること
- 組込みシステムのソフトウェアに関する基礎的な知識があること
オンライン開催にあたり
- Web会議サービス(Zoom)で開催します。
- ブラウザでのご参加は「Google Chrome」のみ対応しています。
※Google Chromeの使用ができない場合は、Zoomアプリのインストールが必要になります。
※Zoomのアカウントの取得は必須ではございません。
お申し込み方法
「Arm® テクニカル・トレーニングコースのお申込について」
受付終了:調整中
受講料:50,000円(税抜き)
お問い合わせ先
Arm®トレーニングセンタ
TEL : 03-6756-9405
E-mail : arm_training@dts-insight.co.jp
コース内容
1 Arm®v8-M Mainlineプログラマーズモデル
- 1.1 イントロダクション
Arm®v8-Mプロファイルの概要 - 1.2 データタイプ
データタイプ - 1.3 コアレジスタ
Arm®v8-M Mainlineレジスタ / スタックポインタ(SP) / リンクレジスタ(LR) / プログラムカウンタ(PC) / Program Status Register / CONTROLレジスタ / スタックポインタリミットレジスタ / その他の特殊用途レジスタ - 1.4 モード、特権、スタック
特権実行 / スタック / モードの概要 - 1.5 例外
例外処理 - 1.6 命令セットの概要
命令セットサポート / Armv8-M命令セット / 命令セット例 - 1.7 プログラミング標準規格
Arm Procedure Call Standard / Cortex Microcontroller Software Interface Standard / CMSIS-Coreの概要 / CMSIS-Coreの例
2 Arm®v8-M Mainline例外ハンドリング
- 2.1 学習の目標
- 2.2 イントロダクション
概要 / マイクロコード化された割り込みメカニズム / 割り込みのオーバーヘッド / セキュリティ拡張-TrustZone for Arm®v8-M - 2.3 例外モデル
例外タイプ / プロセッサモードの使用例 / 外部割込み / プリエンプション / 例外ハンドリングの例 / 例外モデル / 例外のプロパティ / Arm®v8-M Mainlineのベクタテーブル / Vector Table Offset Register(VTOR) / リセット動作 / 例外動作 / 例外優先度の概要 / 例外の状態
2.3.1 例外エントリとリターンの動作
(例外エントリの動作 / 例外エントリ時のスタック / RETPSR / ReturnAddressの値 / 例外からのリターン / EXC_RETURN / NMI例外エントリの例 / NMI例外リターンの例 / ネストの例 / テイルチェインの例 / 後着の例 / 状態復元中の例外)
2.3.2 優先度付けと制御
(例外優先度と優先度の引き上げ / 優先度引き上げの例-PRIMASK / 特殊用途のマスクレジスタ / 優先度引き上げ命令 / Arm®v8-M Mainline優先度グループ化 / グループ優先度 / サブ優先度の選択 / 割り込み制御とステータスビット / 割り込みイネーブルレジスタ / 割り込みペンディングレジスタ / 割り込みアクティブレジスタ / 割り込み優先度レジスタ)
2.3.3 割り込み感度
(割り込み感度 / パルス割り込み-1パルス / パルス割り込み-複数パルス / レベル割り込み / 同一割り込みの再ペンディング) - 2.4 ベクタテーブルの記述と割り込みハンドラ
CMSIS-CORE:ベクタテーブル / 割り込みハンドラの記述 / 割り込みの管理 - 2.5 内部例外とRTOSサポート
内部例外 / Supervisor Call(SVC) / SVCハンドラ / Pended system call(PendSV) / 優先度エスカレーション / 内部割込みレジスタ - 2.6 フォールト例外
Arm®v8-Mのフォールト例外 / フォールトエスカレーション / フォールトのハンドリング / ロックアップ状態 / ロックアップ状態の動作 / ロックアップ状態からの復帰 / 同期例外 / 非同期例外
3 Arm®v8-M Mainlineセキュリティ拡張
- 3.1 概要
学習の目標 / Arm® TrustZone テクノロジ-セキュリティ基盤 / IoT はどこででも使われるようになるでしょう / TrustZone for Armv8-M の概要 / セキュリティ状態間での呼び出し / 汎用レジスタのバンク化 / 特殊用途レジスタのバンク化 - 3.2 メモリコンフィギュレーション
メモリのセキュリティ / セキュアメモリのルール / メモリセキュリティの決定 / Memory Protection Unit / SCS のセキュアビュー / SCS の非セキュアビュー / SAU レジスタ / ブートセキュリティマップ-コンフィギュレーションの例 / ランタイムセキュリティマップのコンフィギュレーションの例 / SAU 領域のコンフィギュレーション / SAU の有効化 / CMSIS 使用時のSAU コンフィギュレーション - 3.3 関数呼び出しとツールチェインサポート
セキュアと非セキュア間の分岐 / 分岐命令を使用した関数呼び出し / Arm C Language Extensions (ACLE) / セキュアコードからの非セキュアコード呼び出し / 非セキュアコードからのセキュアコード呼び出し / Arm® Compiler 6 によるインポートライブラリの作成 / インポートライブラリの使用 / セキュアゲートウェイべニア / Arm® Compiler 6 のNSC べニア / TT 命令 / ソフトウェアによるセキュリティ状態の変更 - 3.4 例外
割り込みと例外 / 例外優先度の概要 / システムハンドラの優先度 / セキュア例外の優先度付け / NVIC の設定 / Arm®v7-M での例外 / EXC_RETURN / 例外の受け付け / セキュア→非セキュアの例外 / セキュアおよび非キュア例外のチェイン / スタックフレームのレイアウト (FP なし) / コンテキストスイッチ後のレジスタ値 (FP なし) / Integrity signature / 浮動小数点拡張を伴うスタックフレームのレイアウト / セキュアスタックの初期化
4 Arm® Cortex®-M33の概要
- Cortex®-M33プロセッサ / アーキテクチャ機能とプログラマーズモデル / プロセッサコア / Arm®v8-Mプログラマーズモデルのレジスタビュー / 操作と実行のモード / メモリマップ/バスマスタインターフェイス / コプロセッサのエンコーディング空間 / 外部コプロセッサインターフェイス / CDE/FPCDE命令 / 割り込みと例外 / メモリ保護 / セキュリティ属性 / 電力管理 / 低電力機能 / システムタイマ / 浮動小数点ユニット / デバッグ / トレース / コンフィギュレーション:合成と融合性 / RTLコンフィギュレーション / インテグレーションの例 / Cortex®-M33ドキュメンテーション