割り込み制御のシーケンスは INT を参照してください。
VRAM管理のシーケンスは VRAM を参照してください。
<OSがuC3の場合のMMU設定>
uC3ではMMUの初期化関数「_ddr_cortexa_mmu_init」が用意されています。
本モジュールのAG903_OSWprInitMemory関数を使用する前に_ddr_cortexa_mmu_init関数でMMUの初期化を行って下さい。この時必ず仮想アドレス=物理アドレスとして下さい。
_ddr_cortexa_mmu_init関数の第二引数で与える変換テーブル「mmu_cfgtbl」の一例を次に記載します。
mmu_cfgtbl:
; DCD SIZE, PADDR, VADDR, AP, ATR
DCD 0x14000000, 0x2C000000, 0x2C000000, AP_RW, ATR_STRG | ATR_NEXC ; Cortex-A5 peripherals
DCD 0x04000000, 0x60000000, 0x60000000, AP_RW, ATR_NONC | ATR_NEXC ; EQS
DCD 0x00200000, 0x80000000, 0x80000000, AP_RW, ATR_WBAW ; Program code
DCD 0x00100000, SFB(TLB_RAMSEC), SFB(TLB_RAMSEC), AP_RW, ATR_WBAW | ATR_NEXC ; TTB (1MB)
DCD 0x00200000, 0x80300000, 0x80300000, AP_RW, ATR_WBAW | ATR_NEXC ; Program data
DCD 0x03A00000, 0x80500000, 0x80500000, AP_RW, ATR_NONC | ATR_NEXC ; VRAMManager Management Area
DCD 0x00100000, 0x83F00000, 0x83F00000, AP_RW, ATR_NONC | ATR_NEXC ; firmware ram for GVD
DCD 0x1E000000, 0xE0000000, 0xE0000000, AP_RW, ATR_STRG | ATR_NEXC ; AG903 peripherals
DCD 0x00008000, 0xFE000000, 0xFE000000, AP_RW, ATR_NONC | ATR_NEXC ; workram
DCD 0x00200000, 0xFFE00000, 0xFFE00000, AP_RO, ATR_SDEV | ATR_NEXC ; BootROM(high)
DCD 0x00000000, 0x00000000, 0x00000000, 0, 0
上記の例ではアドレス0x80500000からサイズ0x03A00000[Byte]分をVRAM領域としていますので、AG903_OSWprInitMemory に与える引数は次の通りになります。
AG903_OSWprInitMemory(0x80500000, 0x03A00000);
※ApplicationはVRAMManagerを使用するので AG903_VRAMMgrInit(0x80500000, 0x03A00000); になります。