SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Writing TLB entries statically avoids the need to write translation tables in memory and is commonly used for relatively small address spaces. This method ensures that the translation of time-critical data accesses execute as fast as possible with entries already present in the TLB. These entries must be locked to prevent them from being overwritten.
Step | Register/ Bit Field / Programming Model | Value |
---|---|---|
Execute software reset | MMU_SYSCONFIG[1] SOFTRESET | 0x1 |
Wait for reset to complete | MMU_SYSSTATUS[0] RESETDONE | =0x1 |
Enable power saving via automatic interface clock gating | MMU_SYSCONFIG[0] AUTOIDLE | 0x1 |
Configure TLB entries | See Table 20-10 | |
Load the physical Address of the page | MMU_RAM[31:12] PHYSICALADDRESS | 0x- |
Specify the TLB entry you want to write | MMU_LOCK[8:4] CURRENTVICTIM | 0x- |
Load the specified entry in the TLB | MMU_LD_TLB[0] LDTLBITEM | 0x1 |
Enable multihit fault and TLB miss | MMU_IRQENABLE[4] MULTIHITFAULT | 0x1 |
MMU_IRQENABLE[0] TLBMISS | 0x1 | |
Enable memory translations | MMU_CNTL[1] MMUENABLE | 0x1 |