JADA099C February   2019  – March 2026

 

  1.   1
  2. はじめに
    1. 1.1  C28x 向けの ABI
    2. 1.2  範囲
    3. 1.3  ABI バリアント
    4. 1.4  ツールチェーンと相互運用性
    5. 1.5  ライブラリ
    6. 1.6  オブジェクト ファイルの形式
    7. 1.7  セグメント
    8. 1.8  C28x アーキテクチャの概要
    9. 1.9  C28x のメモリモデル
    10. 1.10 参考資料
    11. 1.11 コード フラグメント表記
  3. データ表現
    1. 2.1 基本型
    2. 2.2 レジスタ内のデータ
    3. 2.3 メモリ内のデータ
    4. 2.4 ポインタ タイプ
    5. 2.5 複素数型
    6. 2.6 構造と共用体
    7. 2.7 配列
    8. 2.8 ビット フィールド
      1. 2.8.1 volatile ビット フィールド
    9. 2.9 列挙型
  4. 呼び出し規約
    1. 3.1 呼び出しと復帰
      1. 3.1.1 呼び出し命令
        1. 3.1.1.1 間接呼び出し
        2. 3.1.1.2 直接呼び出し
      2. 3.1.2 復帰命令
      3. 3.1.3 パイプライン規約
      4. 3.1.4 弱関数
    2. 3.2 レジスタ規約
      1. 3.2.1 引数レジスタ
      2. 3.2.2 呼び出し先保存レジスタ
    3. 3.3 引数の受け渡し
      1. 3.3.1 16 ビット引数の受け渡し
      2. 3.3.2 長い引数を渡す
      3. 3.3.3 C++ における引数の受け渡し
      4. 3.3.4 構造と共用体を渡す
      5. 3.3.5 レジスタに渡されない引数のスタック レイアウト
      6. 3.3.6 フレーム ポインタ
    4. 3.4 戻り値
    5. 3.5 参照によって渡される構造と共用体と、返される構造と共用体
    6. 3.6 コンパイラ ヘルパー関数の規則
    7. 3.7 プロローグおよびエピローグのヘルパー関数
    8. 3.8 既知の関数のスクラッチ レジスタ
    9. 3.9 割り込み関数
  5. データのアロケーションとアドレッシング
    1. 4.1 データ セクションとセグメント
    2. 4.2 データ ブロッキング
    3. 4.3 アドレッシング モード
    4. 4.4 静的データの割り当てとアドレッシング
      1. 4.4.1 静的データのアドレッシング方法
      2. 4.4.2 静的データの配置規則
        1. 4.4.2.1 アドレッシングに関するアブストラクト規定
      3. 4.4.3 静的データの初期化
    5. 4.5 自動変数
    6. 4.6 フレーム レイアウト
      1. 4.6.1 スタックの整列
      2. 4.6.2 レジスタ保存順序
    7. 4.7 ヒープ割り当て済みオブジェクト
  6. コードのアロケーションとアドレッシング
    1. 5.1 コード ラベルのアドレスの計算
    2. 5.2 呼び出し
      1. 5.2.1 直接 呼び出し
      2. 5.2.2 ファー呼び出しトランポリン
      3. 5.2.3 間接呼び出し
  7. ヘルパー関数 API
    1. 6.1 浮動小数点の動作
    2. 6.2 C ヘルパー関数 API
    3. 6.3 C99 用の浮動小数点ヘルパー関数
  8. 標準 C ライブラリ API
    1. 7.1  標準 C ライブラリについて
    2. 7.2  予約済みシンボル
    3. 7.3  <assert.h> の実装
    4. 7.4  <complex.h> の実装
    5. 7.5  <ctype.h> の実装
    6. 7.6  <errno.h> の実装
    7. 7.7  <float.h> の実装
    8. 7.8  <inttypes.h> の実装
    9. 7.9  <iso646.h> の実装
    10. 7.10 <limits.h> の実装
    11. 7.11 <locale.h> の実装
    12. 7.12 <math.h> の実装
    13. 7.13 <setjmp.h> の実装
    14. 7.14 <signal.h> の実装
    15. 7.15 <stdarg.h> の実装
    16. 7.16 <stdbool.h> の実装
    17. 7.17 <stddef.h> の実装
    18. 7.18 <stdint.h> の実装
    19. 7.19 <stdio.h> の実装
    20. 7.20 <stdlib.h> の実装
    21. 7.21 <string.h> の実装
    22. 7.22 <tgmath.h> の実装
    23. 7.23 <time.h> の実装
    24. 7.24 <wchar.h> の実装
    25. 7.25 <wctype.h> の実装
  9. C++ ABI
    1. 8.1  制限 (GC++ABI 1.2)
    2. 8.2  エクスポート テンプレート (GC++ABI 1.4.2)
    3. 8.3  データ レイアウト (GC++ABI 第 2 章)
    4. 8.4  初期化ガード変数 (GC++ABI 2.8)
    5. 8.5  コンストラクタ戻り値 (GC++ABI 3.1.5)
    6. 8.6  ワンタイム構築 API (GC++ABI 3.3.2)
    7. 8.7  オブジェクト構成順序を制御する (GC++ ABI 3.3.4)
    8. 8.8  デマングラ API (GC++ABI 3.4)
    9. 8.9  静的データ (GC++ ABI 5.2.2)
    10. 8.10 仮想テーブルと key function (GC++ABI 5.2.3)
    11. 8.11 アンワインド テーブルの位置 (GC++ABI 5.3)
  10. 例外処理
    1. 9.1  概要
    2. 9.2  PREL31 エンコーディング
    3. 9.3  例外インデックス テーブル (EXIDX)
      1. 9.3.1 アウトオブライン EXTAB エントリへのポインタ
      2. 9.3.2 EXIDX_CANTUNWIND
      3. 9.3.3 インライン化された EXTAB エントリ
    4. 9.4  例外処理命令テーブル (EXTAB)
      1. 9.4.1 EXTAB 一般モデル
      2. 9.4.2 EXTAB コンパクト モデル
      3. 9.4.3 パーソナリティ ルーチン
    5. 9.5  アンワインド命令
      1. 9.5.1 共通シーケンス
      2. 9.5.2 バイト エンコードされたアンワインド命令
    6. 9.6  ディスクリプタ
      1. 9.6.1 型識別子のエンコード
      2. 9.6.2 範囲
      3. 9.6.3 クリーンアップ記述子
      4. 9.6.4 キャッチ ディスクリプタ
      5. 9.6.5 関数例外仕様 (FESPEC) ディスクリプタ
    7. 9.7  特別なセクション
    8. 9.8  C++ 以外のコードとの相互作用
      1. 9.8.1 EXIDX エントリの自動生成
      2. 9.8.2 ハンドコードで記述されたアセンブリ関数
    9. 9.9  システム機能との相互作用
      1. 9.9.1 共有ライブラリ
      2. 9.9.2 オーバーレイ
      3. 9.9.3 割り込み
    10. 9.10 TI ツールチェーンにおけるアセンブリ言語オペレータ
  11. 10DWARF
    1. 10.1 DWARF レジスタの名前
    2. 10.2 呼び出しフレーム情報
    3. 10.3 ベンダー名
    4. 10.4 ベンダー拡張
  12. 11ELF オブジェクト ファイル (プロセッサ補足)
    1. 11.1 登録済みベンダ名
    2. 11.2 ELF ヘッダー
    3. 11.3 セクション
      1. 11.3.1 セクション インデックス
      2. 11.3.2 セクション タイプ
      3. 11.3.3 拡張セクション ヘッダー属性
      4. 11.3.4 サブセクション
      5. 11.3.5 特別なセクション
      6. 11.3.6 セクションの整列
    4. 11.4 シンボル テーブル
      1. 11.4.1 シンボル タイプ
      2. 11.4.2 共通ブロック シンボル
      3. 11.4.3 シンボル名
      4. 11.4.4 予約済みシンボル名
      5. 11.4.5 マッピング シンボル
    5. 11.5 再配置
      1. 11.5.1 再配置タイプ
        1. 11.5.1.1 絶対再配置
        2. 11.5.1.2 PC 相対再配置
        3. 11.5.1.3 データ セクションにおける再配置
        4. 11.5.1.4 C28x 命令の再配置
        5. 11.5.1.5 その他の再配置タイプ
      2. 11.5.2 再配置操作
      3. 11.5.3 未解決の弱参照の再配置
  13. 12ELF プログラムのロードと リンク (プロセッサ補足)
    1. 12.1 プログラム ヘッダー
      1. 12.1.1 ベース アドレス
      2. 12.1.2 セグメントの内容
      3. 12.1.3 スレッドローカル ストレージ
    2. 12.2 プログラムのロード
  14. 13ビルド属性
    1. 13.1 ビルド属性について
    2. 13.2 C28x ABI ビルド属性サブセクション
    3. 13.3 ビルド属性タグ
  15. 14コピー テーブルと変数の初期化
    1. 14.1 テーブルのコピーについて
    2. 14.2 コピー テーブルのフォーマット
    3. 14.3 圧縮データ フォーマット
      1. 14.3.1 RLE
      2. 14.3.2 LZSS フォーマット
    4. 14.4 変数の初期化
  16. 15改訂履歴
    1.     188
Application Note

C28x 組込みアプリケーション バイナリ インターフェイス

最新の英語版をダウンロード