AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
VRAM

VRAM管理用ライブラリ

本モジュールは、以下の機能を提供します。

  • メモリの動的確保と返却

本モジュールの管理対象に設定されたメモリ領域から動的にメモリの確保と返却が可能です。 

メモリプール生成時にはキャッシュ有無の指定が可能です。 

 

ライブラリの依存関係について 

 

本モジュールは OSWによるポーティングにより機能を実現しています。 

また次の関数は本モジュールに依存しているため使用の際には必ず本モジュールのポーティングすることが必要になります。

  • USBH
  • サンプルプログラム

* 本モジュールの管理対象となるメモリは AG903_VRAMMgrInit で指定された範囲になります。

  • AG903_VRAMMgrInit で指定するアドレスは1MB単位にアラインされたアドレスを指定して下さい。またサイズも1MBの倍数で指定して下さい。
  • 管理対象となるメモリの後ろは管理領域として使用する為、アプリケーションが実際に使用可能なメモリサイズは指定サイズよりも小さくなります。※管理領域サイズ = 4KB ×((指定サイズ / 4MB)+ 1)
  • AG903_VRAMMgrCreateMpl / AG903_VRAMMgrCreateMplFixedId でアドレスを指定する場合は、管理領域内でかつ4KBにアラインされたアドレスを指定して下さい。またサイズも4KBの倍数で指定して下さい。 アドレスを指定せずNULLとした場合は、キャッシュ指定は無効になります。この時の生成アドレス、アラインサイズおよびキャッシュの設定はOS依存になります。
  • AG903_VRAMMgrCreateMpf / AG903_VRAMMgrCreateMpfFixedId でアドレスを指定する場合は、管理領域内でかつ4KBにアラインされたアドレスを指定して下さい。またサイズ(=ブロック数×ブロックサイズ)も4KBの倍数になるように指定して下さい。 アドレスを指定せずNULLとした場合は、キャッシュ指定は無効になります。この時の生成アドレス、アラインサイズおよびキャッシュの設定はOS依存になります。
  • AG903_VRAMMgrMallocAG903_VRAMMgrMallocAlign でメモリを確保する場合、指定サイズよりも多くのメモリを消費します。(アライン整列および内部情報管理の為)
  • 非タスクコンテキストからの使用については実装されるOSに依存します。
  • MMUによる仮想アドレス変換は考慮されていません。(仮想アドレス=物理アドレスとして下さい。)
  • AG903_VRAMMgrInit 実行前にMMUの設定を行って下さい。

OS Wrapper (OSW

基本シーケンス(画像をクリックして拡大) 

 

<説明> 

1. VRAM初期化。「AG903_VRAMMgrInit」 

2. メモリプール生成。「AG903_VRAMMgrCreateMpl」 

※IDを指定する場合は「AG903_VRAMMgrCreateMplFixedId」を使用。 

3. メモリ確保。「AG903_VRAMMgrMalloc」 

4. メモリ解放。「AG903_VRAMMgrFree」 

5. メモリプール削除。「AG903_VRAMMgrDeleteMpl」 

※固定長メモリプールの場合もシーケンスは同様で、使用する関数が異なります。 

※可変長メモリプールからメモリ確保時は指定サイズよりも多くのメモリを消費します。(アライン整列および内部情報管理の為)。

名前 
説明 
アプリケーションおよび割り込み処理を伴うManagerにVRAM管理の為のインタフェースを提供します。 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.