联系方式:
更多
详细内容

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

时间:2015-12-12 10:02:18      【原创】

前言

嵌入式系统是以各种嵌入式微处理器为内核,运行RTOS的面向应用的计算机控制系统,也是SOC技术的一个重要分支。ARM 是一个IP(知识产权)公司,以arm体系结构为基础的各种RISC 微处理器针对不同应用领域提供了不同的指令集(ARM、THUMB、DSP、XSCALE)可以为各种实时应用提供灵活的选择。

在研制开发基于ARM处理器的嵌入式系统过程中,如何让系统正常快速的启动是一个关键环节,本文主要分析讨论嵌入式系统启动的问题。相关代码以ArmStd2.51IDE环境为参考。

几个相关的概念

Arm/Thumb状态

Arm,Thumb分别是ARM处理器的32/16bits的指令集,对应处理器的两种执行状态。

异常(Exception)

由内/外部源引起的需要处理器干预的一个事件,每种异常模式有自己的特殊功能寄存器,堆栈。处理异常需要保护处理器的当前状态,以便在异常处理后可以恢复执行。当异常发生时,系统强制从固定的地址执行程序, 如表1 所示。

无论在Arm/Thumb状态进入异常,处理程序都是在Arm状态下执行,PC->R14和CPSR->SPSR保存PC和处理器状态,返回时CPSR->SPSR,R14->PC。

中断处理

ARM提供了两种中断源IRQ,FIQ,发生中断时,会进入相应的IRQ,FIQ异常模式,然后异常处理程序会识别不同的中断,调用相应的中断服务程序。所以中断只是异常的一个子集。未用中断通常指向一个哑函数。

在嵌入式系统设计中应正确的辨析异常和中断。

系统启动(start-up)

嵌入式系统的应用程序通常都是固化在ROM中运行。通常用汇编语言编写启动程序完成系统硬件和软件运行环境的初始化。启动程序与应用程序一起固化在ROM中。系统在上电和复位会跳到复位异常向量入口地址处。

在目标文件中,代码、数据放在不同的段中。源文件编译链接生成含.data、.text段的目标文件,且链接器生成的.data段是以系统RAM为参考地址,故在系统启动时需要拷贝ROM中的.data段到RAM,以完成对RAM的初始化。拷贝从.text结束位置开始,一般以2kbytes对齐取到下一个2kbytes,确定data的初始位置。这样,就定位.data 、.text段在链接文件中所确定的链接位置。

快速导航


联系我们

平面变压器定制,贴片变压器设计、反激式变压器定制

公司名称:领航京创

热线:181-2638-2251

官网: http://www.szmzhg.com 

公司地址:深圳市龙华区龙华街道油松第十工业区4楼


微信扫码咨询
微信扫码咨询
  • 电话直呼

    • 88888888
    • 99999999
    • 6666666
    • 产品经理 :
    • 产品经理 :
  • 微信扫码咨询

seo seo