ARM嵌入式的启动构架是怎样的

目前在嵌入式开发的过程中,开发者往往把大量精力投入到嵌入式微处理器mpu(micro processing unit)与众多外设的连接方式以及应用代码的开发之中,而忽视了对嵌入式系统最基本、最核心部分的研究。
启动架构是嵌入式系统的关键技术。掌握启动架构对于了解嵌入式系统的运行原理有着重要的意义。嵌入式系统在启动时,引导代码、操作系统的运行和应用程序的加载主要有两种架构,一种是直接从nor flash启动的架构,另一种是直接从nand flash启动的架构。
需要注意的是,在嵌入式系统启动引导的过程中会有多种情况出现,如vxworks的启动代码bootrom就有压缩和非压缩,驻留和非驻留方式之分,而操作系统本身也多以压缩映象方式存储,所以启动代码在执行和加载过程中需要根据不同的情况,作出相应的处理。
1从nor flash启动
nor flash具有芯片内执行(xip,execute in place)的特点,在嵌入式系统中常做为存放启动代码的首选。从nor flash启动的架构又可细分为只使用nor flash的启动架构和nor flash与nand flash配合使用的启动架构。图5 给出了这两种启动架构的原理框图。
1.1单独使用nor flash
在该架构中,引导代码、操作系统和应用代码共存于同一块nor flash中。系统上电后,引导代码首先在nor flash中执行,然后把操作系统和应用代码加载到速度更高的sdram中运行。另一种可行的架构是,在nor flash中执行引导代码和操作系统,而只将应用代码加载到sdram中执行。
该架构充分利用了nor flash芯片内执行的特点,可有效提升系统性能。不足在于随着操作系统和应用代码容量的增加,需要更大容量昂贵的nor flash来支撑。
1.2 nor flash和nand flash配合使用
nor flash的单独使用对于代码量较大的应用程序会增加产品的成本投入,一种的改进的方式是采用nor flash 和nand flash配合使用的架构。在该架构中附加了一块nand flash,nor flash(2m或4m)中存放启动代码和操作系统(操作系统可以根据代码量的大小选择存放于nor flash或者nand flash),而nand flash中存放应用代码,根据存放的应用代码量的大小可以对nand flash容量做出相应的改变。
系统上电后,引导代码直接在nor flash中执行,把nand flash中的操作系统和应用代码加载到速度更高的sdram中执行。也可以在nor flash中执行引导代码和操作系统,而只将nand flash中的应用代码加载到sdram中执行。该架构是当前嵌入式系统中运用最广泛的启动架构之一。
1.3从nand flash启动
有些处理器如samsung公司的arm920t系列处理器s3c2410支持从nand flash启动的模式,它的工作原理是将nandflash中存储的前4kb代码装入一个称为steppingstone(bootsram)的地址中,然后开始执行该段引导代码,从而完成对操作系统和应用程序的加载。该方式需要处理器内部有nand控制器,同时还要提供一定大小额外的sram空间,有一定的使用局限性,在实际开发中较少使用。
来源:朗锐智科

中国大陆IC封测产值超台湾地区两倍!
本周纳瓦电子4D毫米波雷达收到主机厂定点函!
网易网盘升级最大支持512M 引发新一轮容量革命
为什么进了某些网页无法退出?
QCY蓝牙运动耳机QY31评测 百元价格的蓝牙运动竟有这样的音质
ARM嵌入式的启动构架是怎样的
机顶盒芯片STI8036:低纹波、低噪声
深度解读智能驾驶中ADAS各部分系统的特征
Janus电极实现高性能Na-S电池
电装生物传感器具备的优势
基于BLS和盲签名的多方密钥托管服务介绍
联通电信合建5G的认识哪些点是错的
自动控制系统的设计--控制系统设计的基本思路--串连校正装置
颜值都那么高 华为P10和iPhone7要怎么选?
巧用 STM32CubeIDE 之编译警告
君正集成电路 T10嵌入式主板介绍
岛津推出食用油中反式脂肪酸含量检测方案
如何快速构建工厂智能物流体系?
关于直流电子负载名词术语与测试方法及检测方法
微控制与功率方案助力西部高能效设计