09202024

Last update2016/05/28 14:38

ST10/Super10

 

 Cxst10はST10/Super10シリーズをすべてサポートします。

  • ANSI/ISOに準拠したCで記述
  • ST10/Super10周辺機器のためにヘッダーファイルもサポート
  • 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)      CXST10-PC
    SUN SPARC (SunOS/Solaris) CXST10-SUN
    HP9000(HPUX)         CXST10-HP

 

トップへ

 

ST8

cxstm8はST8シリーズをすべてサポートします。

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

 

具体的な特徴

 

  • 実行時支援パッケージ
    • CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
    • すべてのルーティンライブラリはROM化が可能
      • →整数のみのライブラリと単精度浮動小数点のライブラリの2種類から選べるので、必要がなければより高速な整数のみのライブラリを選択することが可能

 

  • メモリモデル
    • アプリケーションのサイズによって異なる2種類のメモリモデルを提供しています。
      • サイズが64kよりも小さい場合  → “section0”メモリモデル…関数呼び出しなどをデフォルトで2byteにすることでメモリコードの密度を最適化
      • サイズが64kよりも大きい場合  →  標準的メモリモデル …リニアアドレス指定の領域を簡単に使えるような柔軟性を持つ

    ※それぞれのメモリモデルは、個々のライブラリに付属しています。

 

  • 最適化
    • 大域的最適化とマイクロコントローラに合わせた特異的最適化の両方を含みます。
    • 最適化を自分でコントロールすることが出来るので、アプリケーションの詳細な設計に合わせて微調整することが可能です。
    • ピーホール(覗き穴)最適化ソフトは、非効率的なコードを適切なコードに置き換えることで最適化します。
    • char型変数(文字列)はint型変数(整数)に変換されずに関数の引数に渡されます。
    • 頻繁に使うスタティックなデータは@tinyコード、またはコンパイルタイムオプションの使用によってゼロページに置くことが出来ます。
    • コード属性分配の最適化は、コードチャンクをサブルーティンへグループ分けすることによって出来るコピーに置き換えます。
    • アセンブラで書かれた命令はパイプライン機能が停止することを避けます。
    • IEEE754規格に準拠した単精度浮動小数点(32bit)で数学的演算を行います。
    • 他には以下の最適化があります。
      • 岐路短縮ロジック
      • 局所分岐の削除
      • 定数の畳み込み
      • 到達不能コードの除去
      • 冗長な負荷/記憶の削除
      • switch文の最適化

 

  • 拡張機能
    • Bool型変数をグローバル/ローカル変数のコンパイラによって宣言可能
    • bitフィールドをchar型かint型か選択可能
    • bitの番号付けを右からか左からか選べます
    • 拡張的な以下のようなコードが用意されています
      •  asm()または#asm/#endasm・・・Cコード内にアセンブリコード直接挿入
      • @interrupt・・・C関数/オブジェクトを割り込みハンドラとして定義
      • @〈adress〉・・・C関数/オブジェクトを絶対的アドレスとして定義

 

  • コンパイラの付属的な特徴
    • Cおよびアセンブリのソースレベルでデバッグが可能
    • コンパイルによって絶対的で再配置可能なリストを出力
    • エラー診断
    • 素早いコンパイルとアセンブル
    • ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
    • すべてのオブジェクトはホストコンピュータに依存しない
    • 関数コードとスイッチテーブルは(.text)コードのセクションに生成
    • 文字列や定数データは(.const)コードのセクションに生成
    • 初期化されたスタティックデータは他のデータと区別されます
    • 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
    • コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
    • 大きなソースコードに対応するため、ヒープ(短期記憶領域)にテーブルをリアルタイムに作成
    • 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。

 

  • デバッグサポート
    • cxstm8はZAP/SIMまたは多くの一般的なインサーキットエミュレータ(ICE)メーカの提供するデバッガが使えます。
    • IEEE695またはELF/DWARFを含むいくつかの補助的なデバッグフォーマットもサポートしています。

 

  • 対応機種

       Host                    Product code

    PC (DOS/Windows)      CXSTM8-PC

    PC Linux             CXSTM8-LIN

    SUN SPARC(SunOS/Solalis)  CXSTM8-SUN

 

トップへ

ST7

 Cxstm7はST7シリーズをすべてサポートします。

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

 

 具体的な特徴

  • 柔軟なインターフェイス
    • CosmicのCコンパイラはWindowsの統合開発環境(IDEA)もしくはお気に入りのエディタやソースコード制御システムを実装したWindowsの32bitコマンドラインアプリケーションで使用することが出来ます。

 

  • 自動的チェックサム機能
    • リンカは自動的に複数のセグメントのチェックサム機構をアプリケーションに作成し維持します。
    • 8bitもしくは16bitのチェックサムアルゴリズムを選択できます。
    • 呼び出されたチェックサムを計算、比較するためにアプリケーションの任意の場所から関数を確認します。

 

  • ブートローダ
    • ライブラリルーティンによってROMに保存されていたりRAMにコピーされていたりする関数群(ブロック)を作成します。
    • 複数のブロックは独立にセットアップ、コピー、実行がなされます。
    • コンパイラは、ST7内部のメモリの固定の場所でローカル変数と引数を関数に割り当てます。
    • リンカがメモリ領域の分配を最適化することで、RAMに使用領域は最小化されます。

 

  • 実行時支援パッケージ
    • CのルーティンサポートはANSIのサブセットで構成されているのでライブラリのルーティンを自由に変更可能
    • すべてのルーティンライブラリはROM化が可能
      • →整数のみのライブラリと単精度浮動小数点のライブラリの2種類から選べるので、必要がなければより高速な整数のみのライブラリを選択することが可能

 

  • 最適化
    • 大域的最適化とマイクロコントローラに合わせた特異的最適化の両方を含みます。
    • 最適化を自分でコントロールすることが出来るので、アプリケーションの詳細な設計に合わせて微調整することが可能です。
    • CosmicのZAPデバッガを使うことで最適化コードは形を変えることなくデバッグされます
    • ピーホール(覗き穴)最適化ソフトは、非効率的なコードを適切なコードに置き換えることで最適化します。
    • 型が8bitならばchar型で演算制御は行われます。
    • IEEE754規格に準拠した単精度浮動小数点(32bit)で数学的演算を行います。
    • 他には以下の最適化があります。
      • 岐路短縮ロジック
      • 局所分岐の削除
      • 定数の畳み込み
      • 到達不能コードの除去
      • 冗長な負荷/記憶の削除
      • switch文の最適化

 

  •  拡張機能
    • Bool型変数をグローバル/ローカル変数のコンパイラによって宣言可能
    • bitフィールドをchar型かint型か選択可能
    • bitの番号付けを右からか左からか選べます
    • 拡張的な以下のようなコードが用意されています
      • asm()または#asm/#endasm・・・Cコード内にアセンブリコード直接挿入
      • @near修飾子・・・外部メモリに配置されるデータを定義
      • @interruptキーワード・・・C関数/オブジェクトを割り込みハンドラとして定義
      • @〈adress〉構文・・・C関数/オブジェクトを絶対的アドレスとして定義
      • #pragma section〈name〉・・・ユーザー定義の新しいプログラムの宣言

 

  • コンパイラの付属的な特徴
    • Cおよびアセンブリのソースレベルでデバッグが可能
    • コンパイルによって絶対的で再配置可能なリストを出力
    • エラー診断
    • スタックモデルとメモリモデルのサポート
    • 素早いコンパイルとアセンブル
    • ファイルパス、オブジェクトの配置、エラーファイルのリスト化はすべてユーザーコントロール
    • すべてのオブジェクトはホストコンピュータに依存しない
    • 関数コードとスイッチテーブルは(.text)コードのセクションに生成
    • 文字列や定数データは(.const)コードのセクションに生成
    • 初期化されたスタティックデータは他のデータと区別されます
    • 関数は共有され、ROMに配置されます。デフォルトによって自動的に修正されることはありません。
    • コードはSAL(記号アセンブリ言語)ファイルとして生成されるのでコンパイラの出力をテストすることが出来ます。
    • 大きなソースコードに対応するため、ヒープ(短期記憶領域)にテーブルをリアルタイムに作成
    • 文字列操作ルーティンは高速の実行するためにアセンブリ言語で実装されています。

 

  • デバッグサポート
    • cxstm7はZAP ST7 SIMまたはZAP DVP 、ZAP HDS2をデバッガとして使うことが出来ます。
    • IEEE695またはELF/DWARFを含むいくつかの補助的なデバッグフォーマットもサポートしています。

 

  • 対応機種

 Host                                        Product code

PC Microsoft Windows(Windows 95/98/ME/NT4/XP)            CWSST7

PC Linux                              CLXST7

SUN SPARC(SunOS/Solalis)                     CSSST7

HP9000(HPUX)                                   CHPST7

 

トップへ 

ZAPデバッガ

 CosmicのZAPデバッガはCおよびアセンブリ言語でのソースコードを特徴とする組み込みアプリケーションのデバッガです。

 ZAPのグラフィックなインターフェイスはすべてのターゲットおよび実行環境に対して統一されています。

 

 以下のような特徴があります。

  • ANSI C デバッグ
  • アセンブリソースのデバッグ
  • オンラインヘルプ
  • ソースブラウジング
  • 自動テスト
    • 自動化されたテストスクリプトを作成するために使用されるコマンドとスクリプト言語を提供しますオンラインヘルプ
  • OSサポートプラグイン
    • ZAPのいくつかのバージョン(HC12向けのOSEKなど)は 、Cosmicのプラグインを通してKernalとして知られています
  • 非侵入型のオプチマイザ・オン デバッグ
    • ZAPはいかなる場合もコードを自動的に修正したり付加したりしません
    • デバッグシンボルはホスト上の個別のセクションに格納されます
    • デバッグシンボルはターゲット上に格納されることはありません

 

 またZAPシミュレータは実質すべてのアーキテクチャをサポートしています。以下のような特徴があります。

  • MCUサイクルカウンタ
  • シミュレーションの割り込み
  • パフォーマンス分析
  • コードカバレジ
  • クロノグラフ
  • エミュレータ

 

Freescale社製マイクロコントローラ向けのZAPデバッガ

Freescale社製のマイクロコントローラについては、P&E Microcomputer Systems社のBDM(Background Debug Mode)インターフェイスに接続することが出来ます。

この場合もCosmicのZAPデバッガは使用することが出来ます。マイクロコントローラと使用できるP&E社のインターフェイスの対応は以下の通りです。 

 

マイクロコントローラ

対応するZAPデバッガ

接続可能なP&Eのインターフェイス

PowerArchitecture

ZAP PPC Multilink debugger

PowerPC Nexus Multilink cable

S12Z

ZAP S12Z BDM

 

BDM Multilink
Cable12
6ピンインターフェイス

 

S12
XGATE

ZAP 6812BDM

 

68HC12
HCS12

ZAP 6812BDM

HCS08

ZAP HCS08

56800E

ZAP 56800E JTAG

 

SEG13BDMP&Eではない)
Parallel to JTAG/ONCE
インターフェイスアダプタ

68HC11

ZAP 6816

 

ICD16/32
Cable16/3
10ピンインターフェイス

68HC16

ZAP 6816

68300
68000

ZAP 68300

68HC05

ZAP MON 08

Mon08 Multilink cable
68HC08 MON08
(Freescaleのインターフェイス)

68HC08

ZAP MON 08

 

 

トップへ 

Cクロスコンパイラ

 Cosmicのソフトウェアインターフェイスの使いやすさは、すべてのマイクロコントローラに共通しています。

Cコンパイラには以下のプログラムが含まれます。

  • IDEA
    • Cosmic独自の統合開発環境
  • ANSIおよびISO コンパイラ
    • ANSI、ISOの規約に従っているで、 ゼロページ、周辺機器、EEPROM、ページメモリなどのプロセッサの直接的な特徴を効率的に使うことができます。
  • リエントラントとリカーシブ
  • ライブラリソースコード
  • 埋め込みアセンブリ
  • 絶対的リスト
  • IEEE695およびELF/DWARF
  • C割り込み機能とベクトルテーブル
  • マクロアセンブラ
  • リンカ
  • ユーティリティ

 使用可能OS

  • Windows 98/ME/NT4/2000/XP
  • UNIX系OS (PC-Linux, SunSolaris, HP-UX)

 またCosmicのリロケータブル(再配置可能)で絶対的なオブジェクトフォーマットはホストPCから独立です。以上のPC間でのオブジェクトの共有が可能です。

 

トップへ