メモリマネージメントの改良
エンベデッドソフトウェア開発の重要な部分は、メモリマネージメントです。Altium Designer Summer 09 では、ソフトウェアシステムのメモリを設定するための新しい方法を提供することでこの点において重要な進歩をもたらします。
新しいデバイスメモリタイプ
以前は、定義しているデバイスメモリが Volatile RAM
、Non-Volatile RAM
や ROM
である時、メモリタイプは利用できました。物理的なデバイスメモリを示していたので、これらはあまり直観的ではありませんでした。これらのメモリタイプは、以下の新しいタイプで利用できます。:
ROM
RAM
Block RAM
Parallel Flash
もし、FPGA デザインで回路図を作成してプロセッサメモリを設定している時、Import From Schematic 機能を使用してください。新しいメモリタイプの名称で、自動で選択されるシステムのメモリ機能により、デザインで設定されたメモリ領域と、物理的なメモリデバイス間の関係を構築します。
デザインでプロセッサシステムを定義するための OpenBus System を構築している場合、メモリ機能は常に選択されメモリ領域は自動で設定されます。-- デザインからインポートを指定したり、手動でメモリを定義する必要はありません。
Device メモリがアプリケーションメモリへマップされる時、これらの新しいメモリタイプは以下のようにメモリ locate type にマップされます。:
Block RAM
------------> Non-Volatile RAM
RAM
-----------------------> Volatile RAM
ROM
-----------------------> ROM
Parallel Flash
----> ROM
Smarter Linking
内部プロセッサメモリのために定義した Block RAM は、アプリケーションメモリの不安定でないRAM と言う印象を与えます。この内部メモリ領域のために 'dummy' ROM や RAM を作成する必要はありません。-- リンカは、この領域にコードや/またはデータを置く方法で強化されました。
デバイスメモリを示すために使用した新しいメモリタイプに加えて、この smarter linking では、より簡単にメモリ管理ができます。-- そのため、簡単にメモリを配置しデフォルトでそのまま残すことができます。エンベデッドソフトウェア プロジェクトのためにアプリケーションメモリに取リ入れられる時、メモリは自動で構築され働きます。もちろん、ソフトウェアの必要性を満たすためにアプリケーションメモリを手動で作成できます。しかし、ベースメモリ コンフィギュレーションはそれを稼動させるためにどんな '微調整' も必要ありません!
メモリ使用のコントロール
新しいページが、エンベデッド ソフトウェアプロジェクト(Locate Options)用の Project Options ダイアログに追加されました。このページは、FPGA デザインの各物理的なデバイスメモリをエンベデッド ソフトウェア アプリケーションで使用する方法をコントロールして決めるオプションの説明です。
全体のメモリ管理は、3つの主要な領域に分類されます。:
- コードと定数
- 変数とデータ
- 特定の読み取り専用項目
下部の Description ペインのオプション、または設定について知るための Description フィールド内のエントリをクリックします。
デフォルトで、ソフトウェアは必要とされた(または許可された)メモリ使用を識別するために緑のチェックシンボルを使用して、メモリ使用方法について基準の提案を提供します。デフォルトで、ソフトウェアは、必要な(または許可された)メモリ使用を識別するために緑色のチェックシンボルを使用してメモリ使用に関して基本的な提案を行います。必要であれば、チェックシンボルをクリックしてそれを赤いクロスに変更できます。
ページの左下に Use RAM memories only, also for read-only sections オプションがあります。アプリケーションが ROM に配置されないLinker を指令するには、このオプションを有効にします。RAM に存在する場合、コピーテーブルを含めて Linker は全ての読み取り専用セクションを配置します。アプリケーションが開始する時、データセクションは再初期化されます。そして、BSS セクションは、通常の通りクリアされます。
例えばこのオプションは、ROM の最後のアプリケーションを置く前に RAM 内のアプリケーションをテストしたい時、役に立ちます。これにより、何度も ROM にアプリケーションを送らなくても済みます!