联系我们
    插件电感_大电流电感
热门搜索
点击排行
推荐电感
推荐阅读
推荐电感
推荐电感
猜猜你喜欢的
动态 您所在的位置: 电感 > 动态

在嵌入式系统中实现从RAM快速引导技术

来源:    作者:    发布时间:2016-12-30 09:03:45    浏览量:

LDR r0, =HandleFiq /*从这里开始进入在RAM中的异常处理程序*/

LDR r0, [r0]

STR r0, [sp, #4]

LDMFD sp!, {r0, pc} /*返回退出FIQ异常处理模式*/

异常处理程序

Sys_Fiq_Handler

IMPORT ISR_FiqHandler /*进入异常处理,保存寄存器,每种模式有自己的分组寄存器(banked registers)*/

STMFD sp!, {r0-r7, lr} /*发生*/

BL ISR_FiqHandler /*进入异常处理程序*/

LDMFD sp!, {r0-r7, lr}

SUBS pc, lr, #4 /*恢复寄存器,退出异常处理模式*/

对比具体的讨论从ROM/RAM启动的实现代码

(说明【1】从RAM启动 【2】从ROM启动)

AREA Init, CODE, READONLY //初始化代码

ENTRY /*设置入口指针*/

/*启动程序首先必须定义入口指针,而且整个应用程序只有一个入口指针

*/

IF :DEF: ROM_AT_ADDRESS_ZERO

B Reset_Handler B Reset_Handler

B **_Handler B sys_**_Handler

建立镜像关系【2】 直接跳转【1】。

ELSE

/*如果不是从ROM在0x0启动,那么必须把直接加载指令拷贝到0x0位置,这是必须使用ldr完成*/

MOV R8, #0

/*ADR伪指令把PC相关的地址装入寄存器*/

ADR R9, Vector_Init_Block

/* 块加载存储指令,IA = 加载后继增*/

LDMIA R9!, {R0-R7}

STMIA R8!, {R0-R7}

LDMIA R9!, {R0-R7}

STMIA R8!, {R0-R7}

把这些指令放在0x0的位置,实现跳转。直接加载相应的处理程序的地址到PC指针。

Vector_Init_Block //如果不是从rom在0x0启动,这里是一组直接加载PC的指令

LDR PC, Reset_Addr /*在执行拷贝过程建立了异常处理,继续执行Reset_Handler*/

。。。。。。。。。。。。。。。。。。

LDR PC, **_Addr

/*定义 地址指针Reset_Addr 其值为reset_Handler*/

Reset_Addr DCD Reset_Handler

。。。。。。。。。。。。。。。。。。。。。。。。

常用板料FR4相关特性介绍Ø常用板料FR4相关特性介绍:1)、板料成分组成:由玻璃布、环氧树脂、铜箔组成;2)、玻璃布分为:普通板料用玻璃布(即玻璃布成圆柱形的)及LDPP用玻璃布(即玻璃布为椭圆形的,便于激

基于LM2596的不间断直流电源设计方案 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费

PCB设计应遵循的原则PCB设计的好坏对电路板抗干扰能力影响很大。因此,在进行PCB设计时,必须遵守PCB设计的一般原则,并应符合抗干扰设计的要求。要使电子线路获得最佳性能,元件的布局及导线的布设是

大电流电感
 
在线客服