TI中文支持网
TI专业的中文技术问题搜集分享网站

请教OMAPL137芯片 ARM9核的ICache 设置

 OMAPL137中ARM9核的ICache 使能后,运行速度没见提高。代码如下;

void CP15_EnableIcache(void)
{
    asm(" MOV     r0, #0");
    asm(" MRC     p15, #0, r0, c1, c0, #0");
    asm(" ORR     r0, r0, #0x1000");
    asm(" MCR     p15, #0, r0, c1, c0, #0");
}

请问使能ARM核的ICache时还需要设置别的寄存器?

noaming:

你好,ARM核的ICache使能就可以,不需要其他设置。这几句代码,是什么方法对比的速度。。

kun han:

回复 noaming:

你好Tian谢谢您的回复。使能MMU、DCache及ICache部分代码是从AM1808_StarterWare_1_00_03_03复制过来的。用LED的闪烁对比运行速度,代码如下。在仅使能ICache的情况下运行速度没变化。使能MMU、DCache及ICache后运行才有明显提升。我这里还有块S3C2410的板子,类似的LED代码在仅使能ICache的情况下运行速度就有明显的提升。同样都是ARM9,OMAPL137仅使能ICache运行速度没变化,是不是忽略了哪些设置?

void main( void ){    static Uint16 i = 0;    unsigned int index;

    for(index = 0; index < (4*1024); index++)    {        if((index >= 0xC00 && index < 0xE00)|| (index == 0x800))        {            pageTable[index] = (index << 20) | 0x00000C1E;        }        else        {            pageTable[index] = (index << 20) | 0x00000C12;        }    }    CP15TtbSet((unsigned int )pageTable);    CP15MMUEnable();    CP15ICacheEnable();    CP15DCacheEnable();    while(1)    {        wait(1000000);        if(i == 0)        {            GpioRegs.GP01OUTDAT.bit.GP0P12 = 1;            i = 1;        }        else        {            GpioRegs.GP01OUTDAT.bit.GP0P12 = 0;            i = 0;        }    }}

赞(0)
未经允许不得转载:TI中文支持网 » 请教OMAPL137芯片 ARM9核的ICache 设置
分享到: 更多 (0)