|
我的开发板是mini2440的 现在我想移植官方的bsp到我的开发板上 ,现在通过点灯法发现我的eboot能够走到这一步startup.s
mrc p15, 0, r1, c1, c0, 0
and r1, r1, #0xC0000000 ; [31:30] AsyncBusMode Enable, [12] ICache Disable(UMON set enable)
orr r1, r1, #0x0079 ; [0] Enable MMU, [6:3] Reserved 1111
orr r1, r1, #0x4000 ; Round-Robind Cache Replacement Policy
orr r1, r1, #0x1000 ; Enable ICache (with MMU On)
orr r1, r1, #0x0004 ; Enable the Dcache, (with MMU On)
; mcr p15, 0, r0, c7,c7, 0 ; Invalidating I&DCache
ldr r0, =VirtualStart
cmp r0, #0 ; make sure no stall on "mov pc,r0" below
mcr p15, 0, r1, c1, c0, 0应该在这部出错了
mov pc, r0 ; & jump to new virtual address(到这步就不行了)
但是后面的那个就执行不下去了,后面的那个命令应该是mmu相关的,应该是开启mmu错误了。这是为什么呢。
我的操作方法是,编译出eboot.nb0以后用jlink烧写到0x30038000的地址 然后执行。在mini2440上不行,但是我用同样的方法,在另外一块开发板子上是可以的。不过mini2440是12m的晶振,而另外一块是16m的晶振。我在晶振相关的地方修改了,mpll设置成(((0x5c<<12)+(0x01<<4)+0x02))。upll也相应设置 clkdiv 也相应设置 我还要设置那里呢
谢谢各位了
|
|