RealView® Compilation Tools デベロッパガイド

バージョン 4.0


Table of Contents

1. 序章
本書について
対象読者
本書の構成
表記規則
参考資料
フィードバック
RealView Compilation Tools に関するフィードバック
本書に関するフィードバック
1. はじめに
1.1. RealView Compilation Tools について
1.2. サンプルの使用方法
2. ARM プロセッサをターゲットとした開発
2.1. ARM アーキテクチャについて
2.1.1. マルチプロセッサシステム
2.1.2. 密結合メモリ
2.1.3. メモリ管理
2.1.4. Thumb-2
2.1.5. 浮動小数点ビルドオプション
2.2. ARM アーキテクチャ v4T
2.2.1. 主な機能
2.2.2. 境界整列のサポート
2.2.3. エンディアンのサポート
2.3. ARM アーキテクチャ v5TE
2.3.1. 主な機能
2.3.2. 境界整列のサポート
2.3.3. エンディアンのサポート
2.4. ARM アーキテクチャ v6
2.4.1. 主な機能
2.4.2. 境界整列のサポート
2.4.3. エンディアンのサポート
2.5. ARM アーキテクチャ v6-M
2.5.1. 主な機能
2.5.2. 境界整列のサポート
2.5.3. エンディアンのサポート
2.6. ARM アーキテクチャ v7-A
2.6.1. 主な機能
2.6.2. 境界整列のサポート
2.6.3. エンディアンのサポート
2.7. ARM アーキテクチャ v7-R
2.7.1. 主な機能
2.7.2. 境界整列のサポート
2.7.3. エンディアンのサポート
2.8. ARM アーキテクチャ v7-M
2.8.1. 主な機能
2.8.2. 境界整列のサポート
2.8.3. エンディアンのサポート
3. 組み込みソフトウェアの開発
3.1. 組み込みソフトウェアの開発について
3.1.1. サンプルコード
3.2. コンパイルツールのデフォルトの動作
3.2.1. C ライブラリの構造
3.2.2. デフォルトのメモリマップ
3.2.3. アプリケーションの起動
3.3. ターゲットハードウェアに合わせた C ライブラリのカスタマイズ
3.4. ターゲットハードウェアに合わせたイメージのメモリマップのカスタマイズ
3.4.1. 分散ロード記述ファイル
3.4.2. ルート領域
3.4.3. スタックとヒープの配置
3.5. リセットと初期化
3.5.1. ベクタテーブル
3.5.2. ROM および RAM のリマップ
3.5.3. ローカルメモリのセットアップに関する注意事項
3.5.4. スタックポインタの初期化
3.5.5. ハードウェアの初期化
3.5.6. 実行モードに関する注意事項
3.6. ターゲットハードウェアおよびメモリマップ
4. C、C++、およびアセンブリ言語の混用
4.1. 命令の組み込み関数、インラインアセンブラ、および組み込みアセンブラの使用
4.2. アセンブリコードから C グローバル変数へのアクセス
4.3. C++ からの C ヘッダファイルの使用
4.3.1. システム C ヘッダファイルのインクルード
4.3.2. 独自の C ヘッダファイルのインクルード
4.4. C、C++、およびアセンブリ言語間の呼び出し
4.4.1. 複数言語間の呼び出しに関する一般規則
4.4.2. C++ に関する情報
4.4.3. 言語間の呼び出しのサンプル
5. ARM と Thumb のインターワーク
5.1. インターワークについて
5.1.1. インターワークに適した状況
5.2. アセンブリ言語のインターワーク
5.3. C および C++ のインターワーク
5.3.1. Thumb 状態の関数へのポインタ
5.3.2. 同一関数の 2 つのコピーの使用
5.4. インターワークのサンプル
6. プロセッサ例外処理
6.1. プロセッサ例外について
6.2. ARMv6 とそれ以前、ARMv7-A、および ARMv7-R プロファイル
6.2.1. 例外のタイプ
6.2.2. ベクタテーブル
6.2.3. プロセッサモードおよびレジスタ
6.2.4. 例外処理
6.2.5. リセットハンドラ
6.2.6. データアボートハンドラ
6.2.7. 割り込みハンドラ
6.2.8. SVC ハンドラ
6.2.9. プリフェッチアボートハンドラ
6.2.10. 未定義命令ハンドラ
6.3. ARMv6-M および ARMv7-M プロファイル
6.3.1. メインスタックおよびプロセススタック
6.3.2. 例外のタイプ
6.3.3. ベクタテーブル
6.3.4. ネストされたベクタ割り込みコントローラ
6.3.5. 例外処理
6.3.6. システム制御空間レジスタの設定
6.3.7. 個別の IRQ の設定
6.3.8. スーパーバイザコール
6.3.9. システムタイマ
7. デバッグ通信チャネル
7.1. デバッグ通信チャネルについて
7.2. ターゲットとホストデバッグツールの間の DCC 通信
7.2.1. 割り込み駆動型デバッグ通信
7.3. Thumb 状態からのアクセス
8. セミホスティング
8.1. セミホスティングについて
8.1.1. セミホスティングとは
8.1.2. セミホスティングインタフェース
8.2. セミホスティングの実装
8.2.1. RealView ARMulator ISS
8.2.2. RealView ICE
8.2.3. Instruction Set System Model
8.2.4. RealMonitor
8.3. セミホスティングオペレーション
8.3.1. angel_SWIreason_EnterSVC (0x17)
8.3.2. angel_SWIreason_ReportException (0x18)
8.3.3. SYS_CLOSE (0x02)
8.3.4. SYS_CLOCK (0x10)
8.3.5. SYS_ELAPSED (0x30)
8.3.6. SYS_ERRNO (0x13)
8.3.7. SYS_FLEN (0x0C)
8.3.8. SYS_GET_CMDLINE (0x15)
8.3.9. SYS_HEAPINFO (0x16)
8.3.10. SYS_ISERROR (0x08)
8.3.11. SYS_ISTTY (0x09)
8.3.12. SYS_OPEN (0x01)
8.3.13. SYS_READ (0x06)
8.3.14. SYS_READC (0x07)
8.3.15. SYS_REMOVE (0x0E)
8.3.16. SYS_RENAME (0x0F)
8.3.17. SYS_SEEK (0x0A)
8.3.18. SYS_SYSTEM (0x12)
8.3.19. SYS_TICKFREQ (0x31)
8.3.20. SYS_TIME (0x11)
8.3.21. SYS_TMPNAM (0x0D)
8.3.22. SYS_WRITE (0x05)
8.3.23. SYS_WRITEC (0x03)
8.3.24. SYS_WRITE0 (0x04)
8.4. デバッグエージェントインタラクション SVC

著作権

® または ™ のマークが付いた言葉およびロゴは、この著作権情報で別段に規定されている場合を除き、ARM Limited の EU またはその他の国における登録商標および商標です。 本書に記載されている他の製品名は、各社の所有する商標です。

本書に記載されている情報の全部または一部、ならびに本書で紹介する製品は、著作権所有者の文書による事前の許可を得ない限り、転用・複製することを禁じます。

本書に記載されている製品は、今後も継続的に開発・改良の対象となります。 本書に含まれる製品およびその利用方法についての情報は、ARM が利用者の利益のために提供するものです。 したがって当社では、製品の市販性または利用の適切性を含め、暗示的・明示的に関係なく一切の責任を負いません。

本書は、本製品の利用者をサポートすることだけを目的としています。 本書に記載されている情報の使用、情報の誤りまたは省略、あるいは本製品の誤使用によって発生したいかなる損失・損傷についても、ARM Limited は一切責任を負いません。

ARM という用語が使用されている場合、“ARM または必要に応じてその子会社” を指します。

機密保持ステータス

本書は非機密扱いであり、本書を使用、複製、および開示する権利は、ARM および ARM が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。

アクセス制限は、ARM 社内による分類です。

製品ステータス

本書の情報は最終版であり、開発済み製品に対応しています。

Revision History
Revision A2002 年 8 月第 1.2 版
Revision B2003 年 1 月第 2.0 版
Revision C2003 年 9 月ARM® RealView® Developer Suite v2.0.1 リリース
Revision D2004 年 1 月RealView Developer Suite v2.1 リリース
Revision E2004 年 12 月RealView Developer Suite v2.2 リリース
Revision F2005 年 5 月RealView Developer Suite v2.2 SP1 リリース
Revision G2006 年 3 月RealView Development Suite リリース 3.0
Revision H2007 年 3 月RealView Development Suite リリース 3.1
Revision I2008 年 9 月RealView Development Suite リリース 4.0
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0203IJ
Non-Confidential