S12/XGATE
CosmicのクロスコンパイラHCS12XはFreescale社のHCS12Xシリーズをすべてサポートします。
(S12XA, S12XB, S12XD, S12XE, S12XF, S12XHZ, S12XS, S12G, S12P, S12HA , S12HYシリーズ)
- ANSI/ISOに準拠したCで記述
- HCS12X周辺機器のためにヘッダーファイルもサポート
- HCS12XコンパイラはXGATEのコプロセッサ用に拡張することが可能です。
具体的な特徴
- 実行時支援パッケージ
- CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
- すべてのルーティンライブラリはROM化が可能でリエントラント
- →整数のみのライブラリと単精度及び倍精度浮動小数点のライブラリの中から選べるので必要がなければより高速な整数のみのライブラリを選択することが可能
- 最適化
- 頻繁に使うスタティックなデータは@dirを使うことで直接ページメモリに配置することが可能です。
- コンパイラは整数型への拡張を無効にすることができるので、型が8bitなら文字列での演算が可能になります。
- コンパイラは最初の引数を関数に渡してレジスタ内に変数を返します。
- 文字列型の引数は拡張されることなく関数に渡されます。
- 非常に効率的な小数点演算をサポートします。
- 他には以下の最適化があります。
- 岐路短縮ロジック
- 局所分岐の削除
- 定数の畳み込み
- 到達不能コードの除去
- 冗長な負荷/記憶の削除
- switch文の最適化
- 拡張機能
- 拡張的な以下のようなコードが用意されています
- asm()・・・Cコード内にアセンブリコード直接挿入
- @far・・・C関数に付属させて宣言することでバンク切り替えが可能
- @gpage・・・64kまでのグローバル定数を定義
- @eeprom・・・EEPROMに置くデータをコンパイラに認識させる
- @interrupt・・・C関数/オブジェクトを割り込みハンドラとして定義
- @〈adress〉・・・C関数/オブジェクトを絶対的アドレスとして定義
- 拡張的な以下のようなコードが用意されています
- コンパイラの付属的な特徴
- Cおよびアセンブリのソースレベルでデバッグが可能
- コンパイルによって絶対的で再配置可能なリストを出力
- エラー診断
- 素早いコンパイルとアセンブル
- ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
- すべてのオブジェクトはホストコンピュータに依存しない
- 関数コードとスイッチテーブルは(.text)コードのセクションに生成
- 文字列や定数データは(.const)コードのセクションに生成
- 初期化されたスタティックデータは他のデータと区別されます
- 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
- コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
- 大きなソースコードに対応するため、ヒープ(短期記憶領域)にテーブルをリアルタイムに作成
- 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。
- デバッグサポート
- Cosmicは完全なCソースレベルでのデバッグが可能です。詳しくはこちら
- ELF/DWARFまたはP&Eマップファイを含むデバッグフォーマットもサポートしています。
- 対応機種
HostPC Product code
PC (DOS/Windows) CXS12X-PC
PC Linux CXS12X-LINUX
SUN SPARC (SunOS/Solaris) CXS12X-SUN
HP9000(HPUX) CXS12X-HP
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
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関数/オブジェクトを絶対的アドレスとして定義
- asm()・・・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,
- CosmicのZAPデバッガはは以下のような実行プラットフォームを備えていれば使用可能です。
- 対応機種
HostPC Product code
PC (DOS/Windows) CWSH08
PC Linux CLXH08
SUN SPARC (SunOS/Solaris) CSSH08
HP9000(HPUX) CHPH08
Power Architecture
cxppcはPowerArchitectureのVLE(可変長コード)デバイスをサポートします。
- ANSI/ISOに準拠したCで記述
- PowerPC周辺機器のためにヘッダーファイルもサポート
具体的な特徴
- 実行時支援パッケージ
- CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
- すべてのルーティンライブラリはROM化が可能
- →整数のみのライブラリと単精度及び倍精度浮動小数点のライブラリの中から選べるので必要がなければより高速な整数のみのライブラリを選択することが可能
- 最適化
- 大域的最適化とマイクロコントローラに合わせた特異的最適化の両方を含みます。
- 最適化を自分でコントロールすることが出来るので、アプリケーションの詳細な設計に合わせて微調整することが可能です。
- ピーホール(覗き穴)最適化ソフトは、非効率的なコードを適切なコードに置き換えることで最適化します。
- IEEE754規格に準拠した単精度浮動小数点(32bit)で数学的演算を行います。
- 他には以下の最適化があります。
- 岐路短縮ロジック
- 局所分岐の削除
- 定数の畳み込み
- 到達不能コードの除去
- 冗長な負荷/記憶の削除
- switch文の最適化
- 拡張機能
- 拡張的な以下のようなコードが用意されています
- asm()または#asm/#endasm・・・Cコード内にアセンブリコード直接挿入
- @interrupt・・・C関数/オブジェクトを割り込みハンドラとして定義
- @〈adress〉・・・C関数/オブジェクトを絶対的アドレスとして定義
- @spr・・・専用レジスタにオブジェクトを直接アクセスできる
- 拡張的な以下のようなコードが用意されています
- コンパイラの付属的な特徴
- Cおよびアセンブリのソースレベルでデバッグが可能
- コンパイルによって絶対的で再配置可能なリストを出力
- エラー診断
- 素早いコンパイルとアセンブル
- ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
- すべてのオブジェクトはホストコンピュータに依存しない
- 関数コードとスイッチテーブルは(.text)コードのセクションに生成
- 文字列や定数データは(.const)コードのセクションに生成
- 初期化されたスタティックデータは他のデータと区別されます
- 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
- コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
- 大きなソースコードに対応するため、ヒープ(短期記憶領域)にテーブルをリアルタイムに作成
- 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。
- デバッグサポート
- cxppcはZAP/SIM及びZAP/BGPPCまたは多くの一般的なインサーキットエミュレータ(ICE)メーカの提供するデバッガが使えます。
- IEEE695、ELF/DWARF、P&Eマップファイルフォーマットを含むいくつかの補助的なデバッグフォーマットもサポートしています。
- 対応機種
HostPC Product code
PC (DOS/Windows) CXPPC-PC
PC (LINUX) CXPPC-LINUX
SUN SPARC (SunOS/Solaris) CXPPC-SUN
HP9000(HPUX) CXPPC-HP
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