网站首页 | 论文指导 | 经济论文 | 理工论文 | 管理论文 | 法律论文 | 行政论文 | 英语论文
艺术论文 | 农学论文 | 医学论文 | 文史论文 | 教育教学论文 | 论文定制 | 论文发表
论文库分类>>> 点这里访问轻松论文网主站>>>
您当前的位置:轻松论文网 -> 论文中心 -> 理工论文 -> 电子通信网络论文 -> 文章内容 退出登录 用户管理
 子栏目导航
· 计算机与信息技术论文
· 电子通信网络论文
· 自动化论文
· 土建水利论文
· 交通运输论文
· 化学与化工论文
· 石油与能源动力论文
· 机械制造论文
· 矿业与冶金论文
· 工程论文
· 生命环境论文
· 材料科学与工程
· 综合论文
 最新推荐
· 世界地缘政治体系与印度...
· 维新与革命:政治选择的...
· 世界地缘政治体系与印度...
· 中国国家安全哲学-政治哲...
· 政治学视野中的公共政策...
· 方法引导下的政治理论[上...
· 格拉修斯原则:基督教二...
· 方法引导下的政治理论[下...
· 国体、国情与现代国家-政...
· 试论我国今后政治发展的...
· 东亚的政治权威与现代化...
· 跨国收养法的概念与渊源...
 热门文章
· 开题报告的格式(通用...
· 怎样写开题报告
· [图文] 开题报告范文1(银行...
· 开题报告范文2(网上...
· 毕业论文开题报告-A...
· 开题报告的撰写方法...
· 开题报告范文3(网络...
· 文献综述的写法
· 毕业论文例文评析
· 开题报告撰写的方法...
 相关文章
· [图文] 基于ARM的嵌入式TCP...
· [图文] 基于ARM9的多功能硬...
· [图文] 基于ARM的实时测控系...
· [图文] 用GNU工具开发基于A...
· [图文] 基于ARM7核处理器Vx...
· [图文] 基于ARM体系的嵌入式...
· [图文] 基于ARM平台的MAC协...
 
[论文定制][论文发表][价格总览][支付方式][购买流程]点击这里给我发消息 点击这里给我发消息
基于ARM-μCLinux嵌入式系统启动引导的实现
作者:佚名  来源:不详  发布时间:2007-3-2 15:17:48  发布人:admin

减小字体 增大字体

摘要:介绍了ARM-μCLinux嵌入式系统的结构组成,重点分析了ARM--μCLinux嵌入式系统启动引导的过程实现该系统启动引导的技术难点,提出了一种有效的启动引导方案。

    关键词:嵌入式系统 引导 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中和系统初始化工作,然后将系统控制权交给操作系统。嵌入式操作系统内核是嵌入式系统加电运行后的管理平台,负责实时性任务和多任务的管理。ARM7TDMI是一款没有MMU的处理器,因此采用μCLinux作为本系统的操作系统内核。ΜCLinux是Linux是一个分支,专为无MMU的处理器设计,它继承了Linux强大的网络功能和多任务管理功能,并对内存管理和进程管理进行了改写,满足无MMU处理器的开发要求。文件系统是嵌入式系统软件平台占用存储量最大的一部分,也是与用户开发最相关的一部分。它存储了系统配置文件、系统程序、用户应用程序和必需的驱动程序。

软件平台固化在Flash中。通常根据软件平台的内容 对Flash的地址空间进行分区,一般分三个区,分别丰放bootloader、μCLinux内核和文件系统。分区的方式一般有两种:一种是根据三个部分预定的存储空量,允许bootloader、内核和文件系统拥有自己固定的分区和首地址;另一种就是按照这三部分的实际分配区间,一个部分紧跟着另一个部分后存储,没有固定的分区和首地址。通常采用第一种方式,虽然可能会浪费一部分Flash空间,但是方便内核的加载和文件系统的挂载,同时也利于系统的调试和开发。而如果充分利用Flash的存储区间,节约成本,那么可采用第二种方式。

2 系统引导程序的设计

系统引导程序bootloader是嵌入式系统加电后执行的第一个程序,进行功能设计时首先要考虑以下问题:

(1)将μCLinux内核和文件系统固化在Flash中

目地μCLinux内核和文件系统固化在Flash的手段很多。主机可以通过JTAG口,将内核和文件系统的映像文件烧写到指定的Flash位置上;也可以通过以太网接口,将映像文件下载到Flash中;另外还可以通过串口烧写到Flash。前两种方法的下载速度比后一种方法快得多。在本系统中,采用串口烧写Flash。这是因为一方面配置一个串口方便且廉价,而JTAG烧写还要配置昂贵的JTAG仿真器和相关的驱动程序以及协议转换程序,网口下载还要有以太网支持;另一方面μCLinux默认通过串口打印其运行的信息,那么串口不但可以提供烧写Flash的功能,还可作为调试μCLinux内核的通道。

在本系统中,Flash在刚开始时,只存储了bootloader,还没有存储μCLinux内核和文件系统。因此bootloader在系统加电完成初始化工作后,要初始化一条链接主机和目标机的串口通道,并提供串口下载功能。

图1

    (2)系统初始化

因为系统刚加电时,操作系统的内核还没有被加载,系统的初始化工作由bootloader完成。它主要是将系统、初始化存储系统、配置ARM各种模式下的数据栈、使能屏常中断、根据需要切换处理器模式和状态。

(3)μCLinux内核加载方式

固化在Flash中的μCLinux内核有两种运行方式:一种方式是直接在Flash中运行μCLinux自带的引导程序;另一种方式是将固化在Flash中的内核先拷贝到SDRAM的某一段地址区间,再从该段地址区间的首地址运行uCLinux内核。

第一种方式是bootloader进行系统初始化工作后,跳到内核固化在Flash中的首地址处,将控制权交给μCLinux,开始在Flash中逐句执行内核自带的引导程序,由该引导程序完成内核的加载工作。这种方式是目前很多嵌入式系统启动内核所采用的方式,也是本系统采用的内核加载方式。

第二种方式是bootloader完成系统初始化工作后,把内核的映像文件由Flash拷贝到SDRAM中,再从SDRAM中执行μCLinux内核的引导程序,加载μCLinux内核。

第二种加载方式在SDRAM中运行程序,因此执行速度比第一种方式快一些,并且可以通过RAM快速引导技术实现这种加载方式。其主要是针对NAND型Flash的情况。与NOR型Flash最大的不同点是:NOR型Flash使用内存随机读取技术,与SDRAM一样,可以直接执行存储在Flash中的程序;而NAND一样,可以直接内存随机读取技术,它是一次读取一整块内存,因此不能直接执行存储在NAND型Flash中的程序,必须把NAND型Flash中的程序先拷贝到SDRAM,再在SDRAM中执行该程序。但是NAND型Flash价格比NOR型Flash廉价,所以很多嵌入式系统还是采用NOR型Flash(几百K字节)+NAND型Flash(几兆字节)的存储模式。其中NOR型Flash存放可执行的且代码量小的bootloader和一些必要的数据,而NAND型Flash保存存储量较大的内核和文件系统。

在本系统中,由于采用NOR型Flash存储bootloader、内核和文件系统,所以可以直接访问内核所在地址区间的首地址,执行内核自己的引导程序,而且内核自带的引导程序功能强大,可以方便地内核的加载,向内核传递有关的硬件参数。本系统采用第一种加载方式。

(4)自举模式和内核启动模式的切换

Bootloader一般要实现两种启动模式:自举模式和内核启动模式。自举模式也称为bootstrap模式,该模式的主要作用是目标机通过串口与主机通信,可以接收主机发送过来的映像文件,例如内核、文件系统和应用程序,并将其固化在Flash中,也可以将Flash中的映像文件上传到主机。内核启动模式允许嵌入式系统加电启动后加载μCLinux内核,将系统交由μCLinux操作系统管理。

在本系统中,采用一个开关实现两种模式的切抽象。在系统的Flash中只有bootloader时,首先将开关拔上去,提示系统进入自举模式,加电启动后,bootloader根据开关的状态,进入自举模式,接收主机发送过来的内核和文件系统的映像文件。接着将开关拔下来,提示系统进入内核启动模式,再按链,bootloader根据此时的开关状态进入内核启动模式,加载内核和文件系统,由操作系统接管系统。以后也可以根据需要,设置开关的状态,以提示系统进入不同的启动模式。

(5)地址映射表的配置和重映射

地址映射表的配置包括设置Flash地址空间、SDRAM地址空间、外部I/O地址范围和处理器寄存器地址范围。ARM处理器加电后执行在地址0x0处的代码,因此在加电启动时,首先将存储了bootlader的Flash地址空间设置为0x0-0x200000,将SDRAM的地址空间设置为0x1000000-0x2000000,当内核引导程序将内核拷贝到SDRAM后,再设置SDRAM的地址空间为0x00x1000000,而Flash的地址空间为0x1800000-0x1A00000。这需要在内核引导程序中对Flash和SDRAM的地址空间进行重映射。

本文采用的系统启动引导方案流程图如图1。

3 μCLinux内核的加载和初始化

本启动方案中采用μCLinux自带的引导程序加载内核。该引导程序代码在linux/arch/armnommu/boot/compressed目录,其中Head.s的作用最关键,它完成了加载内核的大部分工作;Misc.c则提供加载内核所需要的子程序,其中解压内核的子程序是Head.s调用的重要程序,另外内核的加载还必须知道系统必要的硬件信息,该硬件信息在hardware.h中并被Head.s所引用。

当bootloader将控制权交给内核的引导程序时,第一个执行的程序就是Head.s。下面基于本系统介绍Head.s加载内核的主要过程。Head.s首先配置S3C4510的系统寄存器;再初始化S3C4510的ROM、RAM以及总线等控制寄存器,将Flash和SDRAM的地址范围分别设置为0x0-0x200000和0x1000000-0x2000000;接着将内核的映像文件从Flash拷贝到SDRAM,并将Flash和SDRAM的地址区间分别重映射为0x1800000-0x1A00000和0x0-0x1000000;然后调用Misc.c中的解压内核函数(decompress_kernel),对拷贝到SDRAM的内核映像文件进行解压缩;最后跳转到执行调用内核函数(call_kernel),将控制权交给解压后的μCLinux系统。

执行Call_kernel函数实际上是执行linux/init/main.c中的start_kernel函数,中包括处理器结构的初始化、中断的初始化、进程相关的初始化以及内存初始化等重要工作。

该启动引导方案实现了自举模式和内核启动模式以及两种模式的切换,使得开人员既可以采用自举模式方便地烧写Flash,更新嵌入式系统中的软件平台,又能够切换到内核启动模式,自动安全地启动系统;其次,本方案采用简易的串口通道作业主机与目标系统的通信渠道,既可以方便地将操作系统内核、文件系统和其他应用下载到目标系统中,又可以作为调试μCLinux内核和应用程序通道;此外针对ARM7TDMI的无MMU特性,采用修改后的μCLinux内核引导程序加载操作系统和初始化操作系统环境,解决内核加载的地址重映射问题和操作系统的内存管理问题。

论文指导 开题报告   论文格式   论文撰写   论文答辩   论文答谢   
经济论文 税收论文   证券投资论文   房地产论文   金融论文   投资论文   财政论文   西经论文   国际贸易论文   计量经济论文   国民经济论文   保险信托论文   地方经济   国际经济   新经济学   经济学理论   经济学其他   
理工论文 计算机与信息技术论文   电子通信网络论文   自动化论文   土建水利论文   交通运输论文   化学与化工论文   石油与能源动力论文   机械制造论文   矿业与冶金论文   工程论文   生命环境论文   材料科学与工程   综合论文   
管理论文 电子商务论文   会计论文   财务论文   人力资源论文   市场营销论文   企业管理论文   信息管理论文   旅游管理论文   工商管理论文   公共管理论文   物流管理论文   
法律论文 民法论文   刑法论文   诉讼法论文   行政法论文   国家法   宪法论文   土地资源环境法论文   国际法论文   劳动保障论文   商法论文   经济法论文   法史学论文   法理学论文   司法制度论文   
行政论文 中国政治论文   国际政治论文   管理科学论文   思想政治教育论文   国家行政管理论文   政治理论论文   哲学理论论文   三个代表论文   社工论文   
英语论文 学术英语论文   商务英语论文   科技英语论文   英语教学论文   
艺术论文 艺术理论论文   电视艺术论文   电影艺术论文   音乐论文   舞蹈论文   戏剧论文   美术论文   
农学论文 农艺学(园林,林学)论文   渔业论文   水产论文   植物保护论文   农业基础科学论文   综合论文   
医学论文 医学论文写作方法   基础医学论文   医药卫生论文   临床医学论文   药学论文   特种医学论文   护理学论文   
文史论文 中国史论文   世界史论文   考古论文   文字学论文   语法论文   中国文学论文   世界文学论文   文学理论论文   文艺美学论文   文学评论论文   经典名著赏析论文   新闻传媒学论文   社会学论文   
教育教学论文 语文论文   数学论文   英语论文   物理论文   美术论文   音乐论文   地理论文   化学论文   历史论文   体育论文   思想政治论文   生物自然论文   信息技术论文   德育管理论文   素质教育论文   教学管理论文   综合论文   
[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:CAN总线的嵌入式Web服务器设计
下一篇文章:机载数字视频记录系统的软、硬件设计
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
服务电话:020-61131011;020-61131022 转82 投诉电话:020-61131011;020-61131022 转88 传真:020-61131022
电子邮件:paperease@vip.163.com paper@126.com 服务QQ:130008818 130009919
© 2002-2004 轻松论文网 赣ICP备05004673号 网络实名:轻松论文