1. 横河ディジタルコンピュータ ホーム > 
  2. 製品・サービス情報 > 
  3. ARM社純正 開発ツール > 
  4. ARMテクニカルトレーニング
ARM社純正開発ツール
  • 統合開発環境
  • デバッグハードウェア
  • 開発ボード
  • 製品一覧表
  • ARMトレーニング
  • ARM認定試験対策トレーニング
  • ARM純正製品 無料テクニカル相談会
  • ARMサポート
  • MDK-ARM MPU対応製品検索
  • DS-5評価版
  • MDK-ARM評価版
  • Linuxシステムチューニングのヒント MP3エンコーダをNEONで高速化!
  • CycloneVスタートアップガイド
  • お問い合わせ
  • お見積りのご依頼

ARMテクニカルトレーニング

ARMトレーニング

オープンコース

NEWARM Cortex-R4/M3 ソフトウェアトレーニング

日程:ARM Cortex-R4/M3 ソフトウェアトレーニング
UNIT1 : 2017年1月17日 東京開催 ( Cortex-R4コース )
UNIT2 : 2017年1月18日 東京開催 ( Cortex-M3コース )


時間:東京開催 9:00〜18:30

その他の開催日程は、開催日程表をご覧下さい。

コースの概要 ※各UNIT単体での受講が可能です。
ARM Cortex-R4コアおよびCortex-M3コアをベースにした組込みソフトウェアを開発する技術者向けに設計されています。
コースは2つのユニットから構成されており、習熟度や習得したい内容にあわせて、自由に組み合わせて御受講頂けます。
◆ UNIT1 ARM Cortex-R4コース
ARMの基本アーキテクチャを理解し、コンパイラ(ARM純正ツールをリファレンス)を使用して、効率の良い組込みプログラムを開発する手法を習得します。
Cortex-R4コアの特徴を理解し、キャッシュ、TCM、MPU、例外処理を理解します。
マルチコアを利用するシステムを設計・開発時の注意点を習得します。

◆ UNIT2 Cortex-M3コース
Cortex-M3コアの特徴を理解し、ARMv7-Mのアーキテクチャ、例外、メモリシステムに関する知識を習得します。
受講対象者 Cortex-R4/M3 を使用したシステムのソフトウェア開発を行う予定のあるソフトウェアエンジニア
履修条件 ・UNIT1、UNIT2:マイコンに関する一般的な知識
・UNIT1、UNIT2:既存のARMプロセッサの知識は問いませんが、あれば役に立ちます。
会場 東京会場(横河ディジタルコンピュータ株式会社 会議室)
東京都渋谷区代々木4-30-3 新宿MIDWESTビル6F
  ・JR線「新宿駅」南口より徒歩16分
  ・京王新線「初台駅」より徒歩6分
  ・小田急線「参宮橋駅」より徒歩10分
  ・大江戸線「都庁前駅」より徒歩14分
※アクセスはこちらをご覧下さい
お申し込み方法 「ARM テクニカル・トレーニングコースのお申込について」
受付終了: コース開催の1週間前まで
定員:   16名
受講料: 
 UNIT1 : 47,600円(税抜き)
 UNIT2 : 47,600円(税抜き)
※受講料につきましてご不明な点がありましたらお問い合わせください。
お問い合わせ先 ARMトレーニングセンタ
TEL : 03-6756-9405
E-mail : arm_training@dts-insight.co.jp
コース内容 UNIT1 ARM Cortex-R4コース
1 ARM アーキテクチャイントロダクション
  • 1.1 ARM アーキテクチャ
  • ARM 株式会社について/ARMベースのシステム例/ ARMアーキテクチャの開発経緯/ARM アーキテクチャ v7 プロファイル/このプロセッサはどのアーキテクチャなのか/データサイズと命令セット/プロセッサモード/ARM レジスタセット/プログラムステータスレジスタ/プログラムカウンタ/命令とデータのアラインメント/例外処理/コプロセッサ/TrustZone セキュリティ拡張/ARM 命令セット/Thumb 命令セット/Thumb-2 命令セット/その他の命令セット/M プロファイルアーキテクチャ
2 C/C++ コンパイラヒントと情報
  • 2.1 基本的なコンパイル
  • 言語サポート/サポートしている変数のデータ型/最適化レベル/アーキテクチャ/プロセッサの選択
  • 2.2 コンパイラの最適化
  • 自動最適化/「volatile」の使用/テイルコール最適化/命令スケジューリング/言語認識/関数のインライン化/インラインの例/ループの変形
  • 2.3 コーディングの考慮点
  • コンパイラのレジスタの使用/パラメータの渡し方/ループの終了/除算/リアルタイム除算/コンパイル時の定数での除算/剰余-モジュロ演算/C++のサポート
  • 2.4 ローカル/グローバルデータ
  • 変数タイプ/ローカル変数のサイズ/グローバルなRW・ZI データ/グローバルデータの配置/非整列アクセス/構造体のパック/構造体のアラインメント/ポインタの整列/memcpy()の最適化/ベースポインタの最適化/ベースポインタの最適化
3 例外処理 v6 & v7
  • 3.1 概要
  • 割り込みの流れの例/例外処理/例外優先順位/例外の設定/ベクタテーブルの例/ベクタテーブルの位置/状態を切り替える命令/リンクレジスタの調整/例外ハンドラでのレジスタ使用/ CP15コントロールレジスタの例外設定
  • 3.2 割込みハンドラ
  • 割り込みの処理/FIQ vs IRQ/シンプルな割り込みの例/再許可割り込みの問題/スタックに関する問題点/ネストする割り込みの例/ベクタ割り込みコントローラ/ベクタ割り込みの例/分散割り込みコントローラ
  • 3.3 アボートハンドラ
  • プリフェッチアボートとデータアボート/データアボートタイプ/アボートソースの識別/データアボートハンドラの例
  • 3.4 SVCハンドラ
  • スーパーバイザコール(SVC) の用途は/SVCの使用/SVCハンドラの例/ OSでのSVC使用例
  • 3.5 未定義ハンドラ
  • 未定義命令/未定義ハンドラの例
  • 3.6 リセットハンドラ
  • リセット
4 V6メモリタイプ
  • 4.1 メモリタイプ
  • メモリタイプ/ノーマルメモリ/デバイスメモリ/ストロングオーダメモリ/メモリタイプ一覧/メモリタイプアクセス制限/アクセスオーダ/ARMv6とv5でのメモリ定義比較
  • 4.2 メモリバリア
  • データメモリバリア/データ同期バリア/自己修正コードとパイプライン実行/分岐命令を使えば?/命令メモリバリア
5 Cortex-R4ソフトウェアエンジニアガイド
  • 5.1 概要
  • Cortex-R4 パイプライン/プログラム フロー予測/除算ユニット/フローティング ポイント ユニット/FPUパイプライン
  • 5.2 レベル1メモリシステム
  • Level1メモリシステム/キャッシュの構成/メモリ プロテクション ユニット (MPU)/リージョン/デフォルトのメモリマップ/内部属性の概要/アクセスパーミッション/TCM/TCM設定
  • 5.3 追加情報
  • RVCTと非整列アクセス/MPUの設定例
6 同期サポート
  • 6.1 共有リソースの管理と同期命令
  • リソースの共有/管理されていないリソースの共有/共有リソースの管理/v6以前: SWP/LDREX と STREX 命令/排他アクセスの拡張/排他モニタ/ローカル/グローバル排他モニタ/メモリ属性/スレッド間のメッセージ通信/LDREX/STREX を使用したミューテックスの実装/同期に関する考慮点
UNIT2 ARM Cortex-M3コース
1 ARMv7-M プログラマモデル
  • 1.1 イントロダクション
  • ARMv7-M プロファイル概要
  • 1.2 データタイプ
  • データタイプ
  • 1.3 コアレジスタ
  • ARMv7-M プロファイルレジスタセット / 浮動小数点拡張レジスタ / プログラムカウンタ(PC) / リンクレジスタ (LR) / スタックポインタ(SP) / Program Status Register / 特殊用途レジスタ
  • 1.4 モード、特権、スタック
  • モードの概要 / 特権実行 / スタック
  • 1.5 例外
  • 例外処理
  • 1.6 命令セット概念
  • 命令セット サポート / バイナリの上位互換性 / 命令セット例
2 ARM Cortex-M3_M4 概要
  • 2.1 ARM Cortex-M3_M4 概要
  • ARM Cortex-M3/M4 プロセッサ / Cortex-M3 & Cortex-M4 特徴 / Cortex-M4 / M-プロファイル 命令 / サイクルカウント/ 他のARMプロセッサとの違い / コアレジスタセット / プログラムステータスレジスタ / プロセッサ パイプライン / メモリマップ / ビット幅のメモリアクセス / ビットバンディング / モード、特権、スタック / メモリ保護ユニット (MPU) / 割り込みと例外 / 電力管理 / コア デバッグ / システムタイマ - SysTick / 実装オプション / Cortex-M4 浮動小数点ユニット
3 ARM Cortex-M3/M4 マイクロアーキテクチャ
  • 3.1 ARM Cortex-M3/M4 マイクロアーキテクチャ
  • プロセッサ ブロック図 / プロセッサ パイプライン / フェッチ ステージ / 最適化されたパイプライン / 分岐用語 / 分岐命令のパイプラインの例 / フラッシュ / 直接分岐先のプリフェッチ / フォールディング / LDR のパイプラインの例 / ライト バッファ / STR のパイプラインの例 / STR-STR のパイプラインの例 / 命令サイクルタイミング
4 ARMv7-M 例外処理
  • 4.1 イントロダクション
  • 概要 / マイクロコード化された割り込みのメカニズム / 割り込みのオーバーヘッド
  • 4.2 例外モデル
  • 例外のタイプ / プロセッサのモードの使い方 / 外部割込み / プリエンプション / 例外ハンドリングの例 / 例外のモデル / 例外のプロパティ / ベクタ テーブル / ベクタ テーブル オフセット レジスタ / リセットの動作 / 例外の動作 / 例外優先度の概要 / 例外の状態
  • 4.3 割り込みのエントリと終了の挙動 / 優先順位付けと制御 / 割り込み感度
  • 割り込み サービス ルーチン(ISR)の開始 / 割り込み時のスタッキング / 割り込みの開始タイミング / ReturnAddress 値 / 割り込みからのリターン / EXC_RETURN / NMI 例外開始の例/NMI 例外からのリターン例 / ネストの例 / テールチェインの例 / 後着の例 / 状態回復中に新しい割り込みが到着した場合 / 優先度のブースト / 割り込みのディセーブル(優先度のブースト) / 特殊用途のマスクレジスタ / 優先度をブーストする命令 / v7-M優先度のグループ分け / グループ優先度、サブ優先度の選択 / 割り込み制御とステータス ビット / 割り込みイネーブルレジスタ / 割り込みペンディング レジスタ / 割り込みアクティブレジスタ / 割り込みプライオリティ レジスタ / 割り込み感度 / パルス割り込み / レベル割り込み / 再び同じ割込みを保留
  • 4.4 C/C++やアセンブリでのベクタテーブルと割り込みハンドラの記述
  • CMSIS-CORE: vector table / 割り込みハンドラの記述 / 割り込みの管理
  • 4.5 内部例外とRTOSサポート
  • 内部例外 / SysTickタイマ / SVC / SVCハンドラ / PendSV / 優先度エスカレーション / 内部割り込みレジスタ
  • 4.6 フォールト例外
  • v7-Mのフォールト例外 / フォールト エスカレーション / ロックアップ状態 / ロックアップ状態の動作 / ロックアップからの復旧/正確な(同期)例外 / 不正確な(非同期)例外
  • 4.7 付録
  • 割り込み終了時のタイミング / テールチェインのタイミング / 後着のタイミング / 割り込み合成のコアサイズへの影響 / Cortex-Mプロファイル機能比較 / Cで記述するベクタテーブル / コンフィギュレーションおよび制御レジスタ(CCR)
5 ARMv7-M メモリモデル
  • 5.1 イントロダクション
  • イントロダクション
  • 5.2 メモリ アドレス空間
  • システム アドレス マップ / メモリ セグメント / アドレスマップ概要 / システムセグメント / Private Peripheral Bus (PPB) / System Control Space (SCS) / System Control Block (SCB) / SCB レジスタ概要
  • 5.3 メモリ タイプと属性
  • メモリ タイプと属性
  • 5.4 アラインメントとエンディアン
  • 命令とデータ アライメント / エンディアン / エンディアン設定の影響
  • 5.5 バリア
  • メモリバリア命令 / データメモリバリア ( DMB ) / データ同期バリア ( DSB ) / 命令同期バリア ( ISB ) / 例 / メモリバリアのさらなる使用
  • 5.6 付録
  • アラインされたデータとアラインされていないデータ / アラインされていないアクセス / システムキャッシュ / キャッシュ ヒットとミス / リード アロケート / ライト アロケート / ライトバック キャッシング / ライトスルー キャッシング / Cortex-M3/M4 ライトバッファ / 密結合メモリ(TCM) / ノーマル メモリ / ノーマル メモリ - 共有属性 / ノーマル メモリ - キャッシュ属性 / デバイス メモリ / デバイス メモリ - 共有属性 / ストロングリオーダ メモリ / メモリアクセスの順序は重要か? / メモリアクセス順序 / アクセス順序の制限

ページの先頭へ