基于ARM_Linux嵌入式系统引导程序的设计 (1)
- 格式:pdf
- 大小:39.61 KB
- 文档页数:3
基于ARM-μCLinux嵌入式系统启动引导的实现32位ARM嵌入式处理器具有高性能、低轼耗的特性,已被广泛应用于消费电子产品、无线通信和网络通信等领域。
ΜCLinux是专门为无MMU处理器设计的嵌入式操作系统,支持ARM、Motorola等微处理器。
目前国内外采用ARM- μCLinux作为嵌入式系统非常普遍。
而嵌入式系统的启动引导技术是嵌入式系统开发的一个难点。
系统启动引导的成功与否决定了应用程序的运行环境是否能正确构建,即系统启动成功是应用正确运行的前提。
常用的嵌入式系统启动方法是先通过JTAG将嵌入式操作系统内核与进Flash,再由其带的引导程序bootloader完成嵌放式系统的启动引导工作。
这种方法要借助昂贵的JTAG设备完成操作系统内核的烧写工作,并且不能方便地更新嵌入式系统中的软件平台。
本文提出一种基于ARM-μCLinux嵌入式系统的启动引导方案,不但可以通过简易的串口方便地更新嵌入式系统内的软件平台,而且成功解决了这种架构的嵌入式系统的启动、初始化、操作系统内核的固化和引导等问题。
本文简略说明ARM- μCLinux嵌入式系统的硬件平台和软件平台;描述系统引导程序bootloader的设计,阐述设计时考虑的因素和需解决的技术难点,给出一套可行的引导程序流程;针对μCLinux内核的引导程序,说明μCLinux内核的加载和初始化过程。
1 系统组成典型的ARM嵌入式系统硬件平台一般包括一个以ARM为内核的处理器、存储器和必要的外部接口与设备。
在本系统中,采用内嵌ARM7TDMI的Samsung公司的S3C4510处理器,存储器使用2MB的Flash和16MB的SDRAM,外部接口除了用于下载和通信的串口,还配备了一个以太网接口,以支持S3C4510的网络功能。
软件平台由以下部分组成:系统引导程序、嵌入式操作系统内核、文件系统。
系统引导程序通常也称为bootloader,代码量虽少,但是作用非常大,相当于PC上的BIOS,负责将操作系统内核固化到Flash中和系统初始化工作,然后将系统控制权交给操作系统。
ARM的嵌入式Linux应用程序开发设计嵌入式系统已经渗透到人们工作、生活中的各个领域,嵌入式处理器已占分散处理器市场份额的94%。
而嵌入式Linux系统也蓬勃发展,不仅继承了Linux 源码开放、内核稳定高效、软件丰富等优势,还具备支持广泛处理器结构和硬件平台、占有空间小、成本低廉、结构紧凑等特点。
1ARM处理器及开发板在嵌入式领域,ARM已取得了极大的成功,造就了IP核商业化、市场化的神话。
据统计,全球有103家巨型IT公司在采用ARM技术,20家最大的半导体,一嵌入式系统已经渗透到人们工作、生活中的各个领域,嵌入式处理器已占分散处理器市场份额的94%。
而嵌入式Linux系统也蓬勃发展,不仅继承了Linux源码开放、内核稳定高效、软件丰富等优势,还具备支持广泛处理器结构和硬件平台、占有空间小、成本低廉、结构紧凑等特点。
1 ARM处理器及开发板在嵌入式领域,ARM已取得了极大的成功,造就了IP核商业化、市场化的神话。
据统计,全球有103家巨型IT公司在采用ARM技术,20家最大的半导体,一商中有19家是ARM的用户。
ARM系列芯片已经被广泛的应用于移动电活、手持式计算机以及各种各样的嵌入式应用领域,成为世界上销量最大的32位微处理器。
ARM已成为业界实际的RISC芯片标准。
ARM系列处理器根据各自特点应用于不同领域。
从应用的角度上ARM芯片选择的一般原则:MMU;处理器速度;内置存储器容量;USB接口;GPIO数量;中断控制器;IIS(integrate interface ofsound)音频接口;nWAIT信号;RTC(real timeclock);LCD控制器;PWM输出等各项指标。
本文使用的是ARM9,其性能远远高过ARM7。
开发板使用的是广州斯道信息技术有限公司的开发板,中央处理器是三星公司的S3C2410。
ARM9具有以下特点:5级流水线;采用哈佛结构;高速缓存和写缓存的引入;支持MMU。
基于ARM的嵌入式设备中uCLinux系统开发1引言信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。
因为Linux源代码开放、免费,任何将其定制于PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以Linux在嵌入式开发领域得到稳步发展。
uCLinux即是目前嵌入式linux中最流行的一种,它是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存1 引言信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。
因为Linux 源代码开放、免费,任何将其定制于PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以Linux 在嵌入式开发领域得到稳步发展。
uCLinux 即是目前嵌入式linux 中最流行的一种,它是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存管理单元模块),适合嵌入式系统小型化应用。
uCLinux支持多任务,支持多种文件系统,提供了对网络的强大支持,具有完整的TCP/IP协议栈,以及标准丰富的API。
由于它的很多核心代码都为没有被MMU的处理器重新编写过,对标准Linux庞大的应用程序库和驱动程序库作了删改,所以它的内核要比常规的Linux 内核小很多;uCLinux包含Linux常用的API和小于512k的内核及相关的工具,总代码只有900k左右,但同时保留了常规Linux 操作系统绝大多数的优点。
2 基于ARM的硬件平台嵌入式领域32位处理器以ARM公司的ARM核最为流行,本文以Samsung公司的ARM7TDMI芯片S3C4510为处理器开发板为硬件平台,开发板上与S3C4510相关的部分主要集成了如下器件:(2M+512k)B 的Flash,其中AT29C010A为512B作为BootLoader,一片SST49VF160为1M×16bitFlash;16MB 的DRAM,由两片4M×16bits的HY57V641620提供;16MB 的SRAM,由M-systems的新一代闪存盘DOC2000构成;Ethernet接口;ARM JTAG 接口。
NO.03,2009青年科学2009-03一、引导加载程序(Bootloader)的设计与移植通常,Bootloader的实现都依赖于CPU的体系结构,要在嵌入式系统里建立一个通用的Bootloader几乎不可能,一些ARM平台可以用同一种Bootloader,但每一个特定系统的Bootloader都会有所不同。
本文介绍了一种基于ARM (S3C2410)平台的Bootloader程序的设计与移植实现。
二、Bootloader的典型结构和操作模式(一)Bootloader的典型结构通常多阶段的Bootloader能提供更为复杂的功能,以及更好的移植性,从固态存储设备上启动的Bootloader的大多都是两个阶段的启动过程。
第一阶段是在Flash上执行,主要是执行和CPU的体系结构高度相关的汇编语言代码,比如初始化内存RAM,以便把Bootloader第二阶段执行的代码重定位到RAM中。
Bootloader第二阶段执行的是C代码,完成更为复杂的任务,而且代码会有更好的可读性和可移植性。
Bootloader的第一阶段通常包括以下步骤:1.硬件设备的初始化。
2.为加载Bootloader的阶段二准备RAM空间。
3.复制Bootloader的阶段二到RAM空间中。
4.设置好堆栈。
5.跳转到阶段二的C入口点Bootloader的阶段二通常包括如下步骤:1.初始化本阶段要使用到的硬件设备。
2.检测系统内存映射.3.将kernel映像和根文件系统映像从Flash读到RAM 空间中。
4.为内核设置启动参数。
5.调用内核。
(二)Bootloader操作模式大多数Bootloader都包含两种不同的操作模式:"启动加载"模式和"下载"模式。
启动加载(Boot loading)模式:这种模式也称为"自主"模式。
也即Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行。
基于ARM 的嵌入式Linux 系统构建①冷玉林钟将(重庆大学计算机学院重庆400044摘要: 详细论述了在基于ARM920T 核心的S3C2410 平台上构建嵌入式Linux 系统的过程,包括交叉开发环境的建立,引导加载程序U-Boot 、Linux操作系统内核针对特定目标平台的移植,以及根文件系统的建立等。
试验结果显示系统在目标平台上运行稳定、可靠,对其它嵌入式系统的开发具有参考意义。
关键词: 嵌入式系统; ARM; S3C2410微处理器; LinuxBuilding Embedded Linux System Based on ARMLENG Yu-Lin, ZHONG Jiang(Department of Computer Science, Chongqing University, Chongqing 400044, China Abstract: This paper discusses the process of building embedded Linux system on the ARM920T core-based S3C2410 platform, including the establishment of crossdevelopment environment, the transplanting ofU-Boot and Linux kernel to a specific target platform, and the building of root file system. The final systemproves to be stable and reliable after several testing. Also it ful to the' s help exploiting of other embeddedsystems.Keywords: embedded system; ARM; S3C2410 microprocessor; Linux1引言随着信息产业的发展和集成电路技术的进步,嵌入式系统已经广泛地应用到移动计算设备、网络设备、工控设备、信息家电和仪器仪表等领域。
ARM-Linux嵌入式系统的BootLoader分析与设计0引言由BootLoader和固化在固件(firmware)中的Boot代码(可选)共同组成一个嵌入式系统的引导加载程序。
它的作用和功能就像固化到计算机内主板上的一个ROM芯片程序BIOS(basicinputoutputsystem)。
但是它一般不配置像BIOS那样的固件程序,这是因为要考虑经济方面的原因,因此必须自己完成这方面的工作。
BootLoader可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准0 引言由Boot Loader和固化在固件(firmware)中的Boot代码(可选)共同组成一个嵌入式系统的引导加载程序。
它的作用和功能就像固化到计算机内主板上的一个ROM芯片程序BIOS(basic input output system)。
但是它一般不配置像BIOS那样的固件程序,这是因为要考虑经济方面的原因,因此必须自己完成这方面的工作。
Boot Loader可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
它的实现严重地依赖于硬件,特别是在嵌入式系统中,即使基于同一个CPU的Boot Loader,对于不同的板子,也有很大的不同。
1 Boot Loader分析系统加电,然后复位后,基本上所有的CPU都是从复位地址上取得指令的。
以微处理器为核心的嵌入式系统中,通常都有某种类型的固态存储设备(FLASH,E2PROM等),这个固态存储设备被映射到一个预先设置好的地址上。
在系统加电复位后,一开始处理器就会去执行存放在复位地址处的程序,而且通过开发环境可以将Boot Loader定位在复位地址一开始的存储空间上,因此Boot Loader是系统加电后,在操作系统内核或者一些应用程序被运行之前,首先会运行的程序。
基于ARM 嵌入式平台下Linux 驱动程序开发杜宇峰1,任 欣2,王 黎1(11中国电子科技集团公司第五十四研究所,河北石家庄050081;21二炮装备研究院第四研究所,北京100085)摘 要 嵌入式系统已经被广泛应用在计算机、自动控制等领域。
简要介绍了嵌入式Linux 操作系统的构成和特点,以及Linux 驱动程序的涵义和分类。
针对ARM 嵌入式系统的硬软件平台和Linux 操作系统提供的模块化资源,归纳出在ARM 嵌入式平台中开发硬件接口驱动程序的一般性思路和方法,并在此基础上给出了ARM 芯片同步串行接口驱动程序的模块构成,以及其设计实现流程。
关键词 嵌入式Linux ;驱动程序;ARM 平台;同步串行接口中图分类号 TP316181 文献标识码 A 文章编号 1003-3106(2008)06-0053-03Development of Linux Drivers B ased on ARM PlatformDU Y u 2feng 1,RE N X in 2,W ANGLi 1(1.The 54th Research Institute o f CETC ,Shijiazhuang Hebei 050081,China ;2.The 4th Research Institute o f the Second Artillery Armament Academe ,Beijing 100085,China )Abstract Embedded system has been widely applied in com puter and automation field.The structure of embedded Linux and divers is introduced.Based on ARM embedded system and Linux operating system ,a general method of developing Linux drivers for hardware inter faces is proposed.According to this method ,design of the Linux driver for Serial Synchronous C ontroller (SSC )on an ARM platform is presented.K ey w ords embedded linux ;driver ;ARM platform ;serial synchronous controller收稿日期:20072122060 引言所谓嵌入式系统是指以应用为中心,以计算机技术为基础,并且软硬件都可以裁剪,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统[1]。
基于ARM9的嵌入式Linux系统的设计与实现打开文本图片集摘要:随着计算机技术和微电子技术的迅猛发展,嵌入式系统逐渐发展为计算机应用的一个重要领域,在生活中得到了普遍的应用。
本文通过搭建嵌入式系统开发平台、对嵌入式Linux系统进行构建、移植设备驱动程序和介绍嵌入式GUI应用程序开发,讨论了基于ARM9微处理器的嵌入式Linux系统的设计与实现。
该系统为嵌入式控制系统设计提供了一种可行的方案。
关键词:嵌入式系统;Linux;驱动程序;ARM9一、引言嵌入式系统作为一种专用的计算机系统。
它以计算机技术作为基础,以应用作为中心,并且其硬件和软件都可以裁剪。
它能够满足应用系统对功耗和可靠性的严格要求。
嵌入式系统具有实时性高、系统内核小的特点。
嵌入式Linux是一种操作系统,它能够运行在嵌入式计算机系统上。
代码开放,版权免费[2]是它与其它操作系统相比的优势,嵌入式Linux有非常广泛的应用领域,主要应用于工业控制、大屏幕功能手机、信息家电、医疗电子等领域。
本文从应用出发,着重对一个嵌入式Linux系统进行研究、设计及实现。
二、嵌入式系统开发平台的搭建硬件结构和软件系统这两部分组成了一个完整的嵌入式系统,其中嵌入式处理器和外围的接口电路是硬件结构的主要组成部件,而嵌入式操作系统和应用程序则是软件系统的主要组成部分。
嵌入式系统开发平台的搭建主要包括硬件开发平台、软件开发平台和交叉开发环境的搭建[1]。
(一)硬件开发平台的搭建嵌入式系统硬件平台的搭建主要是围绕目标板和主机这两方面进行的,目标板选用的是采用嵌入式处理器的开发板作为硬件开发平台,主机选用的是PC机。
通过对当前主流的嵌入式处理器综合性能的比较,又依据嵌入式软件开发要求嵌入式处理器要具有性能高、功耗低等特点,因此选取ARM处理器作为本文的嵌入式处理器。
由于本文重点从应用开发方面来设计嵌入式系统,选用ARM9系列的S3C2440A处理器比较合适,因此目标板采用的是基于芯片S3C2440A的开发板作为硬件开发平台。
基于ARM&Linux的嵌入式网络控制系统的设计朱宇,冯明亮摘要:对嵌入式网络控制系统进行了原理介绍和优点分析。
并针对当前现场总线控制技术的不足,设计出了基于ARM&Linux平台的嵌入式网络控制系统。
采用CGI技术可以使用户通过浏览器远程访问嵌入式网络服务器[1],并对嵌入式网络控制系统进行远程控制。
这种基于ARM&Linux平台的嵌入式网络控制系统将成为未来网络控制领域发展的重要方向之一。
关键词:嵌入式网络控制 ARM Linux1引言近年来,随着计算机技术、自动控制技术、嵌入式技术以及Internet网络技术的高速发展,传统控制领域正经历着一场前所未有的变革。
控制技术的发展一直受到计算机和计算机技术发展的制约。
控制系统从最初的CCS(计算机集中控制系统),到第二代的DCS(分散控制系统),再发展到现在很流行的FCS(现场总线控制系统)。
而由于对诸如图像、语音信号等大量数据、高速传输速率的要求又催生了信息网络与控制网络的结合。
网路控制系统要求具有高性能、高实时性、低功耗、低成本,因此采用嵌入式系统来实现控制网络与信息网络的结合,是将来网络控制系统发展的重要方向之一。
2 嵌入式网络控制系统的原理及优点2.1 现场总线技术的不足目前最流行的控制系统是现场总线控制系统,它实际上是连接现场智能设备和自动化控制设备的双向串行、数字式、多节点通信网络,也被称为现场底层设备控制网络(INFRANET)。
和Internet、Intranet等类型的信息网络不同,控制网络直接面向生产过程,因此要求很高的实时性、可靠性、资料完整性和可用性。
为满足这些特性,现场总线对标准的网络协议作了简化,省略了一些中间层,只包括ISO/OSI7层模型中的3层:物理层、数据链路层和应用层。
现场总线的突出特点在于它把集中与分散相结合的DCS集散控制结构,变成新型的全分布式结构,把控制功能彻底下放到现场,依靠现场智能设备实现基本控制功能。
基于ARM-μCLinux嵌入式系统启动引导的实现摘要介绍了-μ嵌入式系统的结构组成,重点分析了--μ嵌入式系统启动引导的过程实现该系统启动引导的技术难点,提出了一种有效的启动引导方案。
关键词嵌入式系统引导μ32位嵌入式处理器具有高性能、低轼耗的特性,已被广泛应用于消费电子产品、无线通信和网络通信等领域。
Μ是专门为无处理器设计的嵌入式操作系统,支持、等微处理器。
目前国内外采用-μ作为嵌入式系统非常普遍。
而嵌入式系统的启动引导技术是嵌入式系统开发的一个难点。
系统启动引导的成功与否决定了应用程序的运行环境是否能正确构建,即系统启动成功是应用正确运行的前提。
常用的嵌入式系统启动方法是先通过将嵌入式操作系统内核与进,再由其带的引导程序完成嵌放式系统的启动引导工作。
这种方法要借助昂贵的设备完成操作系统内核的烧写工作,并且不能方便地更新嵌入式系统中的软件平台。
本文提出一种基于-μ嵌入式系统的启动引导方案,不但可以通过简易的串口方便地更新嵌入式系统内的软件平台,而且成功解决了这种架构的嵌入式系统的启动、初始化、操作系统内核的固化和引导等问题。
本文简略说明-μ嵌入式系统的硬件平台和软件平台;描述系统引导程序的设计,阐述设计时考虑的因素和需解决的技术难点,给出一套可行的引导程序流程;针对μ内核的引导程序,说明μ内核的加载和初始化过程。
1系统组成典型的嵌入式系统硬件平台一般包括一个以为内核的处理器、存储器和必要的外部接口与设备。
在本系统中,采用内嵌7的公司的34510处理器,存储器使用2的和16的,外部接口除了用于下载和通信的串口,还配备了一个以太网接口,以支持34510的网络功能。
软件平台由以下部分组成系统引导程序、嵌入式操作系统内核、文件系统。
系统引导程序通常也称为,代码量虽少,但是作用非常大,相当于上的,负责将操作系统内核固化到中和系统初始化工作,然后将系统控制权交给操作系统。
嵌入式操作系统内核是嵌入式系统加电运行后的管理平台,负责实时性任务和多任务的管理。
基于ARM-Linux嵌入式系统引导程序的设计
刘晶晶
【期刊名称】《微计算机信息》
【年(卷),期】2006(000)02Z
【摘要】本文介绍了嵌入式操作系统引导程序-Bootloader的概念和作用。
以加载Linux操作系统内核为例。
重点阐述了Bootloader运行过程的具体步骤及其实现方法。
【总页数】3页(P123-125)
【作者】刘晶晶
【作者单位】北京交通大学
【正文语种】中文
【中图分类】TP256
【相关文献】
1.基于资源有限的嵌入式系统引导程序设计 [J], 马龙晖;刘海红;王磊
2.基于ARM-Linux嵌入式系统的多进程并发服务器设计 [J], 许文明
3.基于PXA270嵌入式系统的Windows CE引导程序设计 [J], 郑建文;李晓潮;郭东辉
4.基于ARM-Linux嵌入式系统引导程序的设计 [J], 刘晶晶
5.基于NandFlash存储器的嵌入式系统启动引导程序设计 [J], 吴健;张华;胡天链;王姮
因版权原因,仅展示原文概要,查看原文内容请购买。