尊敬的团队:
我使用为定制板创建了定制项目 (AM335x_StarterWare_02_00_00_07) 和 MMU 初始化函数、位于 CP15tlbInvalidate();。
但示例工程相同的功能正常工作。
*******************
**内部宏定义
** /
#define LEN_IP_ADDR (4U)
#define ASCII_NUM_IDX (48U)
#define START_ADDR_DDR (0x80000000)
#define START_ADDR_DEV (0x44000000)
#define START_ADDR_OCMC (0x40300000)
#define NUM_SECTIONS _DDR (512)
#define NUM_SECTIONS _DEV (960)
#define NUM_SECTIONS _OCMC (1)
void MMUInit (unsigned int * masterPt)
{
无符号 int idx;
/*使 TLB 条目无效*/
CP15tlbInvalidate();
/*设置域访问权限*/
CP15DomainAccessClientSet();
/*禁用 TEX 重映射、访问标志使用和对齐检查*/
CP15ControlFeatureDisable (CP15_CONTROL_TEXREMAP
| CP15_CONTROL_ACCESSFLAG
| CP15_CONTROL_ALIGN_CHCK
| CP15_CONTROL_MMU);
/*将 TTB 控制寄存器配置为仅使用 TTB0 */
CP15TtbCtlTtb0Config ();
/*使用带有故障条目的主页表*/
for (idx = MMU_PAGETABLE_NUM_ENTRY;idx!=0;idx--)
{
* masterPt++= MMU_PAGETABLE_ENTRY_FAULT;
}
}
此致、
Naga Narasimha Rao.