HC12/HCS12
cx6812はHC12/HCS12シリーズをすべてサポートします。
- ANSI/ISOに準拠したCで記述
- HC12/HCS12周辺機器のためにヘッダーファイルもサポート
具体的な特徴
- 柔軟なインターフェイス
- CosmicのCコンパイラはWindowsの統合開発環境(IDEA)もしくはお気に入りのエディタやソースコード制御システムを実装したWindowsの32bitコマンドラインアプリケーションで使用することが出来ます。
- 自動的チェックサム機能
- リンカは自動的に複数のセグメントのチェックサム機構をアプリケーションに作成し維持します。
- 8bitもしくは16bitのチェックサムアルゴリズムを選択できます。
- 呼び出されたチェックサムを計算、比較するためにアプリケーションの任意の場所から関数を確認します。
- 実行時支援パッケージ
- CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
- すべてのルーティンライブラリはROM化が可能でリエントラント
- →整数のみのライブラリと単精度及び倍精度浮動小数点のライブラリの中から選べるので必要がなければより高速な整数のみのライブラリを選択することが可能
- 最適化
- 大域的最適化とマイクロコントローラに合わせた特異的最適化の両方を含みます。
- 最適化を自分でコントロールすることが出来るので、アプリケーションの詳細な設計に合わせて微調整することが可能です。
- CosmicのZAP BDM、ZAP SIMまたは他社のIEEE695、ELF/DWARFに準拠したデバッガの使用が可能です。
- HC12/HCS12ビット命令はビット制御とビット変数のために広く使われます
- ピーホール(覗き穴)最適化ソフトは、非効率的なコードを適切なコードに置き換えることで最適化します。
- スタックを要する関数に@fastをつけることで迅速なエントリ/終了コードを生成します。
- ローカルデータは使う頻度に応じてすばやいアクセスのために再配置されます。
- よく使うスタティックなデータは@dirを使うことで直接ページメモリに配置することができます。
- char型のデータはint型に変換されることなく関数の引数に渡されます。
- 演算操作は型が8bitならchar型の精度で実行されます。
- IEEE754規格に準拠した単精度浮動小数点(32bit)で数学的演算を行います。
- 他には以下の最適化があります。
- 岐路短縮ロジック
- 局所分岐の削除
- 定数の畳み込み
- 到達不能コードの除去
- 冗長な負荷/記憶の削除
- switch文の最適化
- 拡張機能
- 拡張的な以下のようなコードが用意されています
- asm()・・・Cコード内にアセンブリコード直接挿入
- →#pragma asm/#pragma endasmまたは#asm/#endasmでも可能
- @far・・・C関数に付属させて宣言することでバンク切り替えが可能
- #pragma section<name>・・・ユーザー定義されたプログラムセクションのサポート
- @eeprom・・・EEPROMに置くデータをコンパイラに認識させる
- @interrupt・・・C関数/オブジェクトを割り込みハンドラとして定義
- @〈adress〉・・・C関数/オブジェクトを絶対的アドレスとして定義
- @bool・・・返り値がBoolean型(true/false)となる関数を定義
- asm()・・・Cコード内にアセンブリコード直接挿入
- 拡張的な以下のようなコードが用意されています
- コンパイラの付属的な特徴
- Cおよびアセンブリのソースレベルでデバッグが可能
- コンパイルによって絶対的で再配置可能なリストを出力
- エラー診断
- 素早いコンパイルとアセンブル
- ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
- すべてのオブジェクトはホストコンピュータに依存しない
- 初期化されたスタティックデータは他のデータと区別されます
- 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
- コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
- 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。
- デバッグサポート
- CosmicのZAPデバッガは以下のような実行プラットフォームを備えていれば使用可能です。
- ZAP SIM
- ZAP USB, BDM
- ZAP LPT BDM
- IEEE695、ELF/DWARFに準拠しているのでデバッグフォーマットは以下会社のハードウェア/ソフトウェアと一致します。
- RTOS and kernels・・・CMX, MicroC/OS-Ⅱ
- Emulators・・・Hitex, Freescale, Lauterbach
- プログラムユーティリティ・・・CodeWright, PC-Lint, PVCS, Rhapsody and VectorCast Unit test software,
- CosmicのZAPデバッガは以下のような実行プラットフォームを備えていれば使用可能です。
- 対応機種
HostPC Product code
PC (DOS/Windows) CWSH12
PC Linux CLXH12
SUN SPARC (SunOS/Solaris) CSSH12
HP9000(HPUX) CHPH12