メモリマネージメントの改良

エンベデッドソフトウェア開発の重要な部分は、メモリマネージメントです。Altium Designer Summer 09 では、ソフトウェアシステムのメモリを設定するための新しい方法を提供することでこの点において重要な進歩をもたらします。

新しいデバイスメモリタイプ

以前は、定義しているデバイスメモリが Volatile RAMNon-Volatile RAMROM である時、メモリタイプは利用できました。物理的なデバイスメモリを示していたので、これらはあまり直観的ではありませんでした。これらのメモリタイプは、以下の新しいタイプで利用できます。:

  • 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


locate type にマップするメモリタイプの例。

Smarter Linking

内部プロセッサメモリのために定義した Block RAM は、アプリケーションメモリの不安定でないRAM と言う印象を与えます。この内部メモリ領域のために 'dummy' ROM や RAM を作成する必要はありません。-- リンカは、この領域にコードや/またはデータを置く方法で強化されました。

デバイスメモリを示すために使用した新しいメモリタイプに加えて、この smarter linking では、より簡単にメモリ管理ができます。-- そのため、簡単にメモリを配置しデフォルトでそのまま残すことができます。エンベデッドソフトウェア プロジェクトのためにアプリケーションメモリに取リ入れられる時、メモリは自動で構築され働きます。もちろん、ソフトウェアの必要性を満たすためにアプリケーションメモリを手動で作成できます。しかし、ベースメモリ コンフィギュレーションはそれを稼動させるためにどんな '微調整' も必要ありません!

メモリ使用のコントロール 

新しいページが、エンベデッド ソフトウェアプロジェクト(Locate Options)用の Project Options ダイアログに追加されました。このページは、FPGA デザインの各物理的なデバイスメモリをエンベデッド ソフトウェア アプリケーションで使用する方法をコントロールして決めるオプションの説明です。 

デバイスメモリを特定の Locate オプションを定義して使用する方法を管理。 

全体のメモリ管理は、3つの主要な領域に分類されます。:

  • コードと定数
  • 変数とデータ
  • 特定の読み取り専用項目

 

下部の Description ペインのオプション、または設定について知るための Description フィールド内のエントリをクリックします。 

 
デフォルトで、ソフトウェアは必要とされた(または許可された)メモリ使用を識別するために緑のチェックシンボルを使用して、メモリ使用方法について基準の提案を提供します。デフォルトで、ソフトウェアは、必要な(または許可された)メモリ使用を識別するために緑色のチェックシンボルを使用してメモリ使用に関して基本的な提案を行います。必要であれば、チェックシンボルをクリックしてそれを赤いクロスに変更できます。

ページの左下に Use RAM memories only, also for read-only sections オプションがあります。アプリケーションが ROM に配置されないLinker を指令するには、このオプションを有効にします。RAM に存在する場合、コピーテーブルを含めて Linker は全ての読み取り専用セクションを配置します。アプリケーションが開始する時、データセクションは再初期化されます。そして、BSS セクションは、通常の通りクリアされます。

例えばこのオプションは、ROM の最後のアプリケーションを置く前に RAM 内のアプリケーションをテストしたい時、役に立ちます。これにより、何度も ROM にアプリケーションを送らなくても済みます!

You are reporting an issue with the following selected text and/or image within the active document: