基于ARM的嵌入式最小系统的架构研究

发布者:ShiningSmile最新更新时间:2020-03-05 来源: elecfans关键字:ARM  嵌入式  最小系统  架构 手机看文章 扫描二维码
随时随地手机看文章

随着嵌入式相关技术的迅速发展,嵌入式系统的功能越来越强大,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计的关键。目前在嵌入式系统开发的过程中,开发者往往把大量精力投入到嵌入式微处理器MPU(Micro Processing Unit)与众多外设的连接方式以及应用代码的开发之中,而忽视了对嵌入式系统最基本、最核心部分的研究。


当前在嵌入式领域中,ARM(Advanced RISC Machines)处理器被广泛应用于各种嵌入式设备中。由于ARM嵌入式体系结构类似并且具有通用的外围电路,同时ARM内核的嵌入式最小系统的设计原则及方法基本相同,这使得对嵌入式最小系统的研究在整个系统的开发中具有着至关重要的意义。本文以基于ARM的嵌入式最小系统为平台,从硬件和软件两方面对嵌入式最小系统的架构进行了研究,硬件方面主要介绍了arm处理器与典型外部存储器的接口技术,软件方面重点就嵌入式最小系统的启动架构做了详细分析。


2. 嵌入式最小系统

嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。对于一个典型的嵌入式最小系统,以ARM处理器为例,其构成模块及其各部分功能如图1所示,其中arm微处理器、FLASH和SDRAM模块是嵌入式最小系统的核心部分。

时钟模块——通常经arm内部锁相环进行相应的倍频,以提供系统各模块运行所需的时钟频率输入

Flash存储模块——存放启动代码、操作系统和用户应用程序代码

SDRAM模块——为系统运行提供动态存储空间,是系统代码运行的主要区域

JTAG模块——实现对程序代码的下载和调试

UART模块——实现对调试信息的终端显示

复位模块——实现对系统的复位


3. 外存储器接口技术

arm处理器与外部存储器(Flash和SDRAM)的接口技术是嵌入式最小系统硬件设计的关键。根据需要选择合理的接口方式,可以有效的提升嵌入式系统的整体性能。


3.1常用外存储器简介

(1)Nor Flash与Nand Flash

Nor Flash也称为线性Flash,可靠性高、随机读取速度快,具有芯片内执行(XIP, eXecute In Place)的特点,这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。常用在擦除和编程操作较少而直接执行代码的场合。

Nand Flash则是高数据存储密度的理想解决方案,一般用于数据存储和文件存储,以块为单位进行擦除,具有擦除速度快的优点。


(2)同步动态存储器SDRAM

SDRAM(Synchronous Dynamic Random Access Memory)是在早期DRAM的基础上改进而来的,它是同步内存,并在接口信号中引入了CLK信号,所有数据、地址和控制信号都是和CLK上升沿对齐的。此外SDRAM还在内部引入了一个命令控制器,处理器访问SDRAM都是通过向命令控制器发送命令来实现的。


3.2 arm处理器与Flash接口技术

3.2.1arm处理器与Nor Flash接口技术

Nor Flash 带有SRAM接口,有足够的地址引脚,可以很容易的对存储器内部的存储单元进行直接寻址。在实际的系统中,可以根据需要选择ARM处理器与Nor Flash的连接方式。图2给出了嵌入式最小系统在包含两块Nor Flash的情况下,arm处理器与Nor Flash两种不同的连接方式。

1)双Flash独立片选

该方式是把两个Nor Flash芯片各自作为一个独立的单元进行处理。根据不同的应用需要,可以在一块Flash中存放启动代码,而在另一块Flash中建立文件系统,存放应用代码。该方式操作方便,易于管理。


(2)双Flash统一片选

该方式是把两个Nor Flash芯片合为一个单元进行处理,arm处理器将它们作为一个并行的处理单元来访问,本例是将两个8bit的Nor Flash芯片SST39VF1601用作一个16bit单元来进行处理。对于N(N>2)块Flash的连接方式可以此作为参考。


3.2.2arm处理器与Nand Flash接口技术

Nand Flash接口信号比较少,地址,数据和命令总线复用。Nand Flash的接口本质上是一个I/O接口,系统对Nand Flash进行数据访问的时候,需要先向Nand Flash发出相关命令和参数,然后再进行相应的数据操作。arm处理器与Nand Flash的连接主要有三种方式,如图3所示:

运用GPIO管脚方式去控制Nand Flash的各个信号,在速度要求相对较低的时候,能够较充分的发挥NAND设备的性能。它在满足NAND设备时域需求方面将会有很大的便利,使得arm处理器可以很容易的去控制NAND设备。该方式需要处理器提供充足的GPIO。


(2)运用逻辑运算方式进行连接

在该方式下,处理器的读和写使能信号通过与片选信号CS进行逻辑运算后去驱动NAND设备对应的读和写信号。图3中b例为SamSung公司arm7TDMI系列处理器S3C44B0与Nand Flash K9F2808U0C的连接方式。


(3)直接芯片使能

有些ARM处理器如S3C2410内部提供对NAND设备的相应控制寄存器,通过控制寄存器可以实现ARM处理器对NAND设备相应信号的驱动。该方式使得ARM处理器与NAND设备的连接变得简单规范,图3中c例给出了arm处理器S3C2410与Nand Flash K9F2808U0C的连接方式。


3.3 arm处理器与SDRAM接口技术

嵌入式最小系统的外部动态存储器模块一般采用SDRAM。现在的大多数arm处理器内部都集成有SDRAM控制器,通过它可以很容易的访问SDRAM内部的每一个字节。在实际开发中可以根据需要选用一片或多片SDRAM。图4中给出了两种常用的接口方式。

(1)单片SDRAM

图4 中a例为 arm处理器S3C44B0与一个16bit的SDRAM K4S641632d的连接方式。在对尺寸有严格限制且对动态存储器容量要求不高的嵌入式系统中常采用此种连接方式。

(2)双片16bit SDRAM结合使用


在双片16bit SDRAM合成一个32bit SDRAM使用时,arm处理器的地址线A2接SDRAM的地址线A0,其余地址依次递增,这是因为在SDRAM中字节是存储容量的惟一单位,而此时SDRAM为32bit位宽。


SDRAM的BA地址线是其内部Bank的地址线,代表了SDRAM内存的最高位。在图4中b例的SDRAM总大小是64M(64M= ),需要A25-A0引脚来寻址,所以BA1-BA0连接到了A25-A24引脚上。还需注意的是SDRAM内存行地址和列地址是复用的,所以地址线的数目一般少于26条,具体连接需要参考arm处理器和SDRAM的相关手册。


值得注意的是,有些ARM处理器如SamSung公司的ARM940T系列处理器S3C2510 ,其地址总线与其它标准ARM处理器不太一样,它的地址线分为内部地址线和外部地址线两种类型。根据所连接的存储器数据总线宽度,内部地址线进行相应的移位,对应到外部地址线A23-A0,从而对外提供固定的地址线A23-A0。其实质与典型的arm处理器是一致的。


4. 嵌入式系统启动架构

启动架构是嵌入式系统的关键技术。掌握启动架构对于了解嵌入式系统的运行原理有着重要的意义。嵌入式系统在启动时,引导代码、操作系统的运行和应用程序的加载主要有两种架构,一种是直接从Nor Flash启动的架构,另一种是直接从Nand Flash启动的架构。

需要注意的是,在嵌入式系统启动引导的过程中会有多种情况出现,如vxWorks的启动代码BootRom就有压缩和非压缩,驻留和非驻留方式之分,而操作系统本身也多以压缩映象方式存储,所以启动代码在执行和加载过程中需要根据不同的情况,作出相应的处理。


4.1从Nor Flash启动

Nor Flash具有芯片内执行(XIP,eXecute In Place)的特点,在嵌入式系统中常做为存放启动代码的首选。从Nor Flash启动的架构又可细分为只使用Nor Flash的启动架构和Nor Flash与Nand Flash配合使用的启动架构。图5 给出了这两种启动架构的原理框图。


4.1.1单独使用Nor Flash

在该架构中,引导代码、操作系统和应用代码共存于同一块Nor Flash中。系统上电后,引导代码首先在Nor Flash中执行,然后把操作系统和应用代码加载到速度更高的SDRAM中运行。另一种可行的架构是,在Nor Flash中执行引导代码和操作系统,而只将应用代码加载到SDRAM中执行。


该架构充分利用了Nor Flash芯片内执行的特点,可有效提升系统性能。不足在于随着操作系统和应用代码容量的增加,需要更大容量昂贵的Nor Flash来支撑。


4.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中执行。该架构是当前嵌入式系统中运用最广泛的启动架构之一。


4.1.2从Nand Flash启动

有些处理器如SamSung公司的arm920T系列处理器S3C2410支持从Nand Flash启动的模式,它的工作原理是将NandFlash中存储的前4KB代码装入一个称为Steppingstone(BootSRAM)的地址中,然后开始执行该段引导代码,从而完成对操作系统和应用程序的加载。该方式需要处理器内部有NAND控制器,同时还要提供一定大小额外的SRAM空间,有一定的使用局限性,在实际开发中较少使用。


5. 结束语

本文作者创新点:根据ARM体系结构的相通性,以基于ARM的嵌入式最小系统为平台,从硬件和软件两方面对其架构进行了研究。硬件方面就arm处理器与常用外部存储器的接口方式进行了阐述,软件方面给出了嵌入式最小系统典型的启动架构及其选择标准。

关键字:ARM  嵌入式  最小系统  架构 引用地址:基于ARM的嵌入式最小系统的架构研究

上一篇:ARM处理器:“冯·诺依曼”体系结构和“哈佛”体系结构
下一篇:【ARM裸板】定时器中断示例与分析

推荐阅读最新更新时间:2024-11-06 23:28

富士康要做芯片了?郭台铭科技版图加速扩张
  《日本经济新闻》独家披露,富士康将与今年稍早才被日本软银(SoftBank)收归旗下的英国芯片设计大厂安谋(ARM)合作,在深圳创设芯片设计中心,将事业版图拓展至半导体领域。   富士康董事长郭台铭虽设下年营收成长目标10%,但今年1~9月营收却年减逾3%。随着全球智能手机需求减弱,富士康企图跨足芯片设计领域的打算,凸显出富士康正努力寻求可带动未来成长的新技术。   郭台铭已对物联网(Internet of Things,IoT)展现兴趣,而IoT应用需大量芯片支持。研调机构预估,今年IoT芯片市场将成长19%至184亿美元(约5799亿元台币),2019年进一步达到296亿美元(约9329亿元台币)。研究机构则预测,整体I
[半导体设计/制造]
中国企业给ARM打工才是阳光大道?ASR就是一个反例
中国企业给ARM打工才是阳光大道?ASR(上海翱捷科技有限公司)近来的战略调整,就是一个最好的反例。 日前,自去年6月宣布收购Marvell移动通信部门的ASR终于发布了自己的新动向,已经获得多种CEVA公司的技术授权许可,将在其无线产品中融入一系列CEVA IP以提供蜂窝、蓝牙和Wi-Fi连接支持,主攻物联网领域。而在手机芯片上,ASR还无法拿出一款堪比高通骁龙400系列芯片的芯片。 虽然很多人一再表示自主研发、自建生态是死路一条,只有投靠ARM阵营,给洋人当马仔才是正途(如果Intel也像ARM开放授权的话,这些人恐怕会唯X86是从)。但从ASR转型物联网,以及全志、瑞芯微、新岸线等公司的发展情况看,给ARM当马仔的道
[半导体设计/制造]
8051、AVR和ARM的关系及实际情况
有位爱好者朋友希望我可以推出AVR和ARM的 视频教程,我说ARM的视频可以录录看,不过AVR已经没有必要讲。我说AVR不必要让这位朋友很是不解。是呀,还有许多爱好者朋友都会有疑问,这是我们这个行业的广告宣传和死板教学方式所造成的。这里我花一点时间简单聊一聊8051、AVR和ARM之间的关系,及它们在行业市场中的实际情况。一家之言,一定有不足和偏激,仅供大家参考。 首先,我们先来谈谈我们对8051、AVR、ARM或其它单片机的现有印象是怎么来的。主要的来源其实有两种,来自于网络上关于芯片的介绍,来自书架上芯片的教学书籍。主要都是一些官话、套话,什么具有精简指令集、增加了多个定时器、更快的速度、价格更低,更适合工业设备开发之类。大家可
[单片机]
ARM编译器4字节对齐
(1)我们假设只有一个赋初值的char型全局变量,那么系统会在data区分配一个4字节的存储空间来存储它。实际上,只用了1个字节,但是为了4字节对齐,只好分配4个字节,所以就会有3个字节浪费。 (2)我们假设在原来基础上增加一个赋初值的char型全局变量,那么系统会在data区原来的4字节中取出一个字节来保存这个新的变量。实际上,这时只用了2个字节,但是为了4字节对齐,只好分配4个字节,所以就会有2个字节浪费。 (3)我们假设再在原来基础上增加一个赋初值的short型全局变量,那么系统会在data区原来的4字节中再取出两个字节来保存这个新的变量。实际上,这时用了4个字节,恰好4字节对齐,所以就不会有浪费。
[单片机]
基于ARM的DIS采集系统设计
0 引言 数字化信息系统实验室(Digital Information System,DIS)是新一代的中小学实验教学系统,是先进的数字技术应用到实验教学的产物,也是探究、创新的实验教学新理念注入传统实验教学后的必然结果。2006年,教育部将DIS纳入了中小学实验仪器装备标准,建议有条件的学校配备。目前,国内已有多家企业有相应的产品,但大多不够成熟。而国外的类似产品虽然较为成熟,但价格偏高,难以普及。更重要的是,国外的产品不能够很好地与我国的实验教材配合,难以开展教学。在此提出一种廉价、功能强大、基于ARM技术的DIS采集系统设计。它是DIS的一个重要组成部分,并已与江苏教育家教学装备有限公司合作形成了产品。 1 DIS的组
[单片机]
基于<font color='red'>ARM</font>的DIS采集系统设计
可重定目标的嵌入式集成开发平台设计
引 言 嵌入式应用软件的开发与通用计算机软件开发不同,由于受资源约束,嵌入式软件开发一般需要在专门的开发平台上进行交叉开发(cross developing)。同时,由于嵌入式系统的开发及嵌入式软件的调试也非常复杂,因而迫切需要强有力的集成开发平台(Integrated Development En-vironment,IDE)作为支持,以保证程序执行的实时性、可靠性,保障软件质量,并缩短开发时间。因而,对MCU系统开发平台和开发环境的研究近年来备受重视,出现了比较著名的嵌入式开发软件,如ImageCraft公司的IC-CAVR、Freescale公司的CodeWarrior等。当前,在我国高等院校及嵌入式系统产品的研发
[单片机]
可重定目标的<font color='red'>嵌入式</font>集成开发平台设计
arm开发板的mnt文件夹可以显示linux虚拟机中的成为挂载
要严格区分1主机59.68.190.113,2、虚拟机linux59.68.190.128,3,arm开发板文件系统59.68.190.100 1、挂载的步骤,首先是要启动虚拟机linux中的nfs网络服务用命令sudo /etc/init.d/nfs-kernel-server restart,然后就用mount -t nfs -o nolock 59.68.190.128:/work/nfs_root/first_fs /mnt 来实现挂载,一开始我是在虚拟机中使用这个挂载命令,结果导致挂载的方向错了,直接导致自己将自己虚拟机中的/work/nfs_root/first_fs文件夹内容,传递给了自己虚拟机中的/mnt 文件夹这
[单片机]
智能网联汽车车载服务生态的架构规划与发展建议
摘要: 良好的智能网联汽车车载服务生态不仅可以促进智能网联汽车车载服务市场健康发展,也可以为车载服务研发行业提供更多发展动力与变现机遇,最终能够为市场提供更优质的车载服务产品。文章基于智能网联汽车车载服务不断发展的现状,详细分析了其市场基础与发展问题,并提出构建智能网联汽车车载服务商业生态的解决方式,包括建立车载服务商业生态理念、采用K-means++聚类算法与卷积神经网络(CNN)画像作为其主要应用技术、维持市场秩序、构建商业模式等。 随着科技的快速发展和消费者对智能化、网联化需求的不断提升,智能网联汽车作为汽车产业与信息技术融合的重要产物,正逐渐成为市场的研究的热点。行业发展现状集中在:1)车载智能终端普及。在现代汽车中,
[汽车电子]
智能网联汽车车载服务生态的<font color='red'>架构</font>规划与发展建议
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved