09202024

Last update2016/05/28 14:38

C166/XC166

 

 Cx166はC166/XC166シリーズをすべてサポートします。

  • ANSI/ISOに準拠したCで記述
  • C166/XC166周辺機器のためにヘッダーファイルもサポート
  • Cレベルでのサポートはショートアドレッシングとビット変数によって提供

 具体的な特徴

  • 実行時支援パッケージ
    • CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
    • すべてのルーティンライブラリはROM化が可能
      • →整数のみのライブラリと単精度浮動小数点のライブラリの2種類から選べるので必要がなければより高速な整数のみのライブラリを選択することが可能
  • 最適化
    • 大域的最適化とマイクロコントローラに合わせた特異的最適化の両方を含みます。
    • 最適化を自分でコントロールすることが出来るので、アプリケーションの詳細な設計に合わせて微調整することが可能です。
    • ピーホール(覗き穴)最適化ソフトは、非効率的なコードを適切なコードに置き換えることで最適化します。
    • ST10ビット命令はビット制御とビット変数のために広く使われます。
    • IEEE754規格に準拠した単精度浮動小数点(32bit)で数学的演算を行います。
    • 他には以下の最適化があります。
      • 岐路短縮ロジック
      • 局所分岐の削除
      • 定数の畳み込み
      • 到達不能コードの除去
      • 冗長な負荷/記憶の削除
      • switch文の最適化
  • 拡張機能
    •  拡張的な以下のようなコードが用意されています
      • asm()または#asm/#endasm・・・Cコード内にアセンブリコード直接挿入
      • @interrupt・・・C関数/オブジェクトを割り込みハンドラとして定義
      • @〈adress〉・・・C関数/オブジェクトを絶対的アドレスとして定義
  • コンパイラの付属的な特徴
    • Cおよびアセンブリのソースレベルでデバッグが可能
    • コンパイルによって絶対的で再配置可能なリストを出力
    • エラー診断
    • 素早いコンパイルとアセンブル
    • ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
    • すべてのオブジェクトはホストコンピュータに依存しない
    • 関数コードとスイッチテーブルは(.text)コードのセクションに生成
    • 文字列や定数データは(.const)コードのセクションに生成
    • 初期化されたスタティックデータは他のデータと区別されます
    • 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
    • コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
    • 大きなソースコードに対応するため、ヒープ(短期記憶領域)にテーブルをリアルタイムに作成
    • 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。
  • デバッグサポート
    • cxstm10はZAP/SIMまたは多くの一般的なインサーキットエミュレータ(ICE)メーカの提供するデバッガが使えます。
    • IEEE695を含むいくつかの補助的なデバッグフォーマットもサポートしています。
  • 対応機種

        HostPC        Product code
    PC (DOS/Windows)      CX166-PC
    SUN SPARC (SunOS/Solaris) CX166-SUN
    HP9000(HPUX)         CX166-HP

トップへ