09202024

Last update2016/05/28 14:38

HC08/HCS08

 

 cx6808はHC08/HCS08シリーズをすべてサポートします。

  • ANSI/ISOに準拠したCで記述
  • HC08/HCS08周辺機器のためにヘッダーファイルもサポート

 具体的な特徴

 

  • 柔軟なインターフェイス
    • CosmicのCコンパイラはWindowsの統合開発環境(IDEA)もしくはお気に入りのエディタやソースコード制御システムを実装したWindowsの32bitコマンドラインアプリケーションで使用することが出来ます。
  • 自動的チェックサム機能
    • リンカは自動的に複数のセグメントのチェックサム機構をアプリケーションに作成し維持します。
    • 8bitもしくは16bitのチェックサムアルゴリズムを選択できます。
    • 呼び出されたチェックサムを計算、比較するためにアプリケーションの任意の場所から関数を確認します。
  • ブートローダ
    • ライブラリルーティンによってROMに保存されていたりRAMにコピーされていたりする関数群(ブロック)を作成します。
    • 複数のブロックは独立にセットアップ、コピー、実行がなされます。
    • コンパイラは、内部メモリの固定の場所でローカル変数と引数を関数に割り当てます。
    • リンカがメモリ領域の分配を最適化することで、RAMに使用領域は最小化されます。

 

  • 実行時支援パッケージ
    • CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
    • すべてのルーティンライブラリはROM化が可能でリエントラント
      • →整数のみのライブラリと単精度浮動小数点のライブラリの2種類から選べるので必要がなければより高速な整数のみのライブラリを選択することが可能
  • 最適化
    • 大域的最適化とマイクロコントローラに合わせた特異的最適化の両方を含みます。
    • 最適化を自分でコントロールすることが出来るので、アプリケーションの詳細な設計に合わせて微調整することが可能です。
    • CosmicのZAP MMDS08, ZAP SIM08, ZAP MON08デバッガの使用が可能
    • HC08/HCS08ビット命令はビット制御とビット変数のために広く使われます
    • ピーホール(覗き穴)最適化ソフトは、非効率的なコードを適切なコードに置き換えることで最適化します。
    • char型変数(文字列)はint型(整数)に変換されずに関数の引数に渡されます
    • 頻繁に使うスタティックなデータは@tinyコードまたはコンパイルタイムオプションの使用によってゼロページにおくことができます。
    • @nostackを宣言することで、C関数をスタックではなくプライベートまたは共有メモリのページに置くことができます。(スタック使用量の節約)
    • 演算操作は型が8bitならchar型の精度で実行されます。
    • IEEE754規格に準拠した単精度浮動小数点(32bit)で数学的演算を行います。
    • 他には以下の最適化があります。
      • 岐路短縮ロジック
      • 局所分岐の削除
      • 定数の畳み込み
      • 到達不能コードの除去
      • 冗長な負荷/記憶の削除
      • switch文の最適化
  • 拡張機能
    •  拡張的な以下のようなコードが用意されています
      • asm()・・・Cコード内にアセンブリコード直接挿入
        • →#pragma asm/#pragma endasmまたは#asm/#endasmでも可能
      • @far・・・C関数に付属させて宣言することでバンク切り替えが可能
      • #pragma section<name>・・・ユーザー定義されたプログラムセクションのサポート
      • @eeprom・・・EEPROMに置くデータをコンパイラに認識させる
      • @interrupt・・・C関数/オブジェクトを割り込みハンドラとして定義
      • @〈adress〉・・・C関数/オブジェクトを絶対的アドレスとして定義
  • コンパイラの付属的な特徴
    • Cおよびアセンブリのソースレベルでデバッグが可能
    • コンパイルによって絶対的で再配置可能なリストを出力
    • エラー診断
    • 素早いコンパイルとアセンブル
    • ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
    • すべてのオブジェクトはホストコンピュータに依存しない
    • 関数コードとスイッチテーブルは(.text)コードのセクションに生成
    • 文字列や定数データは(.const)コードのセクションに生成
    • 初期化されたスタティックデータは他のデータと区別されます
    • 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
    • コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
    • 大きなソースコードに対応するため、ヒープ(短期記憶領域)にテーブルをリアルタイムに作成
    • 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。
  • hexファイル生成プログラム
    • 生成されるフォーマットの種類は以下のとおりです。
      • 標準Intel hexフォーマット
      • Freescale S-record及びS2 recordフォーマット
      • Tektronix 標準及び拡張hexフォーマット
      • リバイアスしたテキストまたはデータセクション
  • デバッグサポート
    • CosmicのZAPデバッガはは以下のような実行プラットフォームを備えていれば使用可能です。
      • ZAP Simulation,MON08,HCS08 BDM, inDART
      • ZAP MMDS,MMEVS08ZAP/SIM
    • IEEE695、ELF/DWARFに準拠しているのでデバッグフォーマットは以下会社のハードウェア/ソフトウェアと一致します。
      • RTOS and kernels・・・CMX, MicroC/OS-Ⅱ
      • Emulators・・・Hitex, Freescale, Lauterbach
      • プログラムユーティリティ・・・CodeWright, PC-Lint, PVCS, Rhapsody and VectorCast Unit test software, 
  • 対応機種        

 

       HostPC        Product code
    PC (DOS/Windows)               CWSH08
    PC Linux                               CLXH08
    SUN SPARC (SunOS/Solaris)  CSSH08
    HP9000(HPUX)                      CHPH08

 

トップへ