ARM处理器系统初始化过程程序.doc

ARM处理器系统初始化过程 1 禁止MMU,关闭中断,禁止cache; 2 根据硬件设计配制好处理器时钟、DRAM时钟、定时器时钟; 3 根据系统中所用的flash和DRAM芯片容量和电气参数设置它们的起始地址、容量、刷新频率等; 4 将固化在flash芯片中的程序搬移到DRAM内存中; 5 使能cache,使能MMU,跳转到DRAM内存中运行继续初始化,包括根据具体应用以及系统中的硬件配置初始化各个功能模块、安装好异? 常中断处理程序、使能中断等; 6 进行操作系统相关初始化; 禁止MMU,关闭中断,禁止cache 通过写系统控制协处理器的寄存器1 的第0 位可以允许和禁止MMU。在复位后这位 是0,MMU 被禁止。 关闭中断与打开中断 中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西 ,但程序突然中断了,又让另外一个程序输出打印内容,这样在打印机上就会乱得不得了, 同时有两份以上的文件交错地打印在一张纸上。像不可剥夺的资源,就一定要关闭中断,让 它占有这个资源。在ARM里,没有像x86那样有清除中断指令CLI。那么在ARM里是怎么样实现 关中断和开中断的呢?下面就来看看ARM的关中断和开中断实现。 void Lock(void) { ?stmdb?sp!, {r0} ?mrs?r0, cpsr ?orr r0,r0,#0xC0 ?msr cps

文档评论(0)

1亿VIP精品文档

相关文档