本文接着上文而来!由于程序一执行,系统的其他单元都还没有工作,所以慢慢的给初始化!
首先是时钟。由于外接晶振是24M,所以在没初始化前cpu跑的就是这个速度(就是个单片机吧)!那就必须把arm主频升上去,533M,顺便HCLK,PCLK都升到266M,133M。
于是在6410手册第三章system controller那一章节配置时钟相关的寄存器!!具体过程,看代码吧!!其实认真的从头配一下很有趣的,重要的是英文读写能力提升很快的!!
一:闲话少说,start.S代码如下:
#include"myuboot.h"
.global _start
_start:
b reset
b undefined_instruction
b software_interrupt
b prefetch_abort
b data_abort
b not_used
b irq
b fiq
nop
reset:
/* Peri port setup */
ldr r0, =0x70000000
orr r0, r0, #0x13
mcr p15, 0,r0,c15,c2,4 @ 256M(0x70000000