基于Linux手持数据终端的设计.doc
《基于Linux手持数据终端的设计.doc》由会员分享,可在线阅读,更多相关《基于Linux手持数据终端的设计.doc(46页珍藏版)》请在沃文网上搜索。
1、 目 录第一章:绪论1.1 引言 1.2 嵌入式Linux在手持数据终端中的应用1.3 系统的总体设计1.4 设计课题的目的第二章:系统硬件平台的设计2.1 ARM处理器2.2 系统的硬件设计2.2.3 Flash电路2.2.4 串行接口电路2.2.5 红外接口电路2.2.6以太网接口电路2.2.7 音频接口电路第三章:系统软件平台的构建3.1嵌入式Linux操作系统3.2构建嵌入式Linux系统的步骤3.3交叉开发环境3.4 引导装载程序3.5 Linux 内核3.6 根文件系统3.7 嵌入式Linux的启动分析第四章:本系统在红外抄表中的应用4.1 红外抄表规约4.2 设备驱动程序的实现4
2、.3红外抄表功能的实现4.4调试及结果 第一章:绪论1.1 引言随着信息技术和计算机技术的飞速发展,手持设备己经渗透到人们生活的方方面面,各种手持数据终端被广泛应用于移动通信、消费电子和信息采集等领域。因此,如何高效地开发低成本的手持数据终端成为业界关注的焦点。本文以手持数据终端的设计与应用为背景,在分析了各种制约因素后,提出了ARM+Linux的嵌入式系统设计方案。在众多的嵌入式处理器中,ARM处理器以低成本、低功耗和高性能等优点成为了嵌入式系统的嵌入式解决方案的RISC标准。而Linux操作系统凭借其稳定、高效、易定制、硬件支持广泛、网络功能强大等特点,结合其所独具的免费、开放源代码等特征
3、,成为嵌入式系统的设计趋势。文章始终以嵌入式系统的设计为主线。在讨论了系统的选型与构成之后,详细描述了系统的硬件设计和软件平台的构建。嵌入式微处理器是嵌入式系统的核心,而嵌入式操作系统是嵌入式系统灵魂。本文在介绍了ARM处理器的体系结构与编程模型后,描述了存储器、通信接口、人机接口等主要部分的电路设计。接着,在介绍了嵌入式Linux操作系统的组成之后,本文详细描述了构建嵌入式Linux系统软件平台的各个步骤,包括建立交叉开发环境、移植引导装载程序、移植Linux内核和制作文件系统,并对系统的启动过程进行了分析。其中,移植嵌入式Linux内核是本课题的难点。最后,在上述所建立起来的手持数据终端平
4、台的基础之上,本文针对手持数据终端在电能表抄表中的应用,通过编写相关硬件部分的驱动程序和应用程序,完成了从红外型电能表上读取数据和保存数据等操作,实现了红外抄表功能。嵌入式技术与手持设备相结合,拓展出许多新的应用领域。1.2 嵌入式Linux在手持数据终端中的应用随着信息技术和计算机技术的飞速发展,各种手持设备走进了寻常百姓的生活,并开始进入工业生产和服务行业等领域。它们为访问本地信息和网络信息以及收集、处理和转交现场数据提供了便利。手持数据终端属于嵌入式系统范畴,是专用的计算机系统。与通用计算机系统相比,手持数据终端具有以下特点:1. 手持数据终端通常面向特定应用。大多数手持数据终端通常是专
5、门为特定应用设计的,具有功耗低、体积小、集成度高等特点。2. 手持数据终端通常是将先进的计算机技术、半导体技术以及电子技术与各个行业的具体应用相结合而产生的,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3. 手持数据终端通常的硬件和软件必须具备高度的可定制性。只有这样才能适应各种应用场合的需要,在产品性能价格等方面具备竞争力。4. 手持数据终端通常自身一般不具备开发能力。由于受到硬件资源限制,直接在手持数据终端上开发程序通常较为困难,因此其软件开发一般采用交叉开发方式进行。5. 手持数据终端通常和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。
6、因此手持数据终端产品一旦进入市场,就具有较长的生命周期。目前,手持数据终端己应用于消费电子、移动通信和信息采集等领域,如移动电话、PDA、数码相机、GPS终端、智能抄表器等都是典型的手持数据终端。随着高性能、低功耗、低成本微处理器的出现,手持数据终端发展的瓶颈就突出表现在了软件方面。尽管从二十世纪八十年代末开始,陆续出现了一些嵌入式操作系统,如Vxwbrk、 WindowsCE等,但它们都是商业化产品,其昂贵的价格让不少厂商望而却步,且其源代码的封闭性也大大限制了开发者的积极性。与其他嵌入式操作系统相比,Linux应用于手持数据终端具有以下优势:1.源码开放,资源丰富,成本低廉由于手持数据终端
7、千差万别,往往需要针对具体的应用进行修改和优化,因而能否获得源代码就成为至关重要的问题。Linux是开放源代码的自由操作系统,遵循GPL条款,用法律保障了用户自由复制、发布和修改软件的权利。其次,Linux的软件资源十分丰富,几乎每种应用程序可以在Linux上都找到,并且其数量还在不断增加。在Linux下开发手持数据终端,往往可以选择一个类似的自由软件为原型,在其上进行二次开发。以上优势大大节省了开发成本,缩短了开发周期。2.硬件支持广泛口Linux符合可移植操作系统接口 POSIX(Portable operating system Interface)标准,可支持x86,ARM,MIPS,
8、PowerPC,ALPHA,SPARC等多种体系结构。目前,Linux己被成功移植到数十种硬件平台上,并且几乎能够运行在所有流行的CPU上。此外,Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术,甚至可以运行于没有存储管理器单元的处理器,这些都促进了Linux在手持数据终端中的应用。3.内核高效,稳定,可定制Linux内核具有独特的模块机制,不仅使用户可根据特定应用场合方便地添加或移除某些功能,还可有效减小内核体积。经适当裁减后的Linux内核代码不到ZOOKB,尤其适合与手持数据终端资源受限的特点。其次,Linux的内核的高效性与稳定性已经在各个领域,尤其在网络服务器
9、领域得到了验证。4.网络功能强大,文件系统完善Linux自产生之日起就与网络密不可分,网络是其强项。另外,它支持EXT、FAI,、CRAMFS、JFFS、YAFFS等多种文件操作系统,可适应各种应用场合。在图形系统方面,Linux上既有己在PC上发展成熟的 X Window,也有QT/Embedded,MiniGUI等嵌入式图形用户界面,可以适合不同的用途来选用。1.3 系统的总体设计本系统的硬件平台由以下六部分组成。系统的模块划分如图1-1所示。l 微处理器。l 存储器模块: 包括SDRAM、Flash和EEPROMOl 通信接口模块: 包括USB接口、RS232接口、IrDA和以太网连接。
10、l 人机接口模块: 键盘接口、LCD和触摸屏接口、MIC接口和耳机接口。l 调试电路模块。l 电源模块。并在此基础上构建软件平台,软件平台由引导装载程序,操作系统内核和根文件系统组成。最后针对红外电能表抄表的应用编写相应的驱动程序和应用程序,完成与电表的红外通信,数据处理等功能。 电 源 通信接口调 试电 路存储器微处理器人机接口 图1-1系统总体设计图1.4设计课题的目的手持设备己经成为人们日常生活和生产中必不可少的助手。将嵌入式系统技术应用于手持数据终端,必将为其带来更加广阔的应用空间和市场前景。本课题中主要有以下工作:1)完成ARM+Linux的嵌入式系统设计方案,存储器、通信接口、人机
11、接口等主要部分的电路设计;2)完成从红外型电能表上读取数据和保存数据等操作,实现了红外抄表功能;3)设计硬件电路和软件的总体方案和模块划分。第二章:系统硬件平台的设计在进行嵌入式系统设计时,首先面临的难题就是如何挑选一种合适的处理器。ARM系列处理器是专门针对嵌入式设备设计的,是目前构造嵌入式系统硬件平台的首选。 2.1 ARM处理器ARM(Advanced RISC Machines),即高级精简指令系统处理器,是英国ARM公司提供的一种微处理器知识产权(IP)核。与一般公司不同,ARM公司只提供基于ARM处理器内核的系统芯片技术授权和解决方案,而本身并不生产和销售芯片。世界各大半导体生产商
12、购买ARM微处理器内核,根据不用的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器进入市场。因此,ARM技术获得了第三方合作伙伴的广泛支持。目前,采用ARM内核的微处理器,即通常所说的ARM处理器,遍及消费类电子产品、工业控制、通信系统网络产品等,占有嵌入式处理器市场75%以上的份额。 2.1.1 ARM处理器的体系结构ARM处理器目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列和Intel的 Strong ARM和Xscale系列。除具有ARM体系结构的共同特点外,每个系列又有各自的特点和应用领域。 2.1.2 ARM处理器的编程模型1、 寄存器组织ARM处理器
13、共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,如图2-1所示。这些寄存器不能被同时访问,具体哪些寄存器是可访问的,取决于处理器的工作状态及工作模式。在任何时候,通用寄存器R0R14、程序计数器PC和一个或两个状态寄存器是可访问的。 图2-1 ARM的寄存器组织其中,R14用作链接寄存器(LR),当执行BL字程序调用指令是,R14中得到R15的备份。其他情况下,R14用作通用寄存器。R15用作程序计数器(PC),保存程序计数值。R16用作当前程序状态寄存器(CPSR),它包含了条件标志位以及当前处理器模式位。2、 存储器组织ARM体系结构将存储器看作是从0地址开始的字节的线性
14、组合。从第0字节 第3字节放置第一个字数据,从第4字节 第7字节放置第二个字数据,依次排列。ARM存储器组织既可支持大端(Big-Endian)格式,又可支持小端(Little-Endian)格式。大端格式。字数据的高字节存放在低地址中,而字数据的低字节则存放在高地址中,如图2-2所示。高地址 31 24 23 16 15 8 7 0 字地址 8 9 10 11 4 5 6 7 0 1 2 3840低地址 高字节位于低地址中图2-2 大端格式示意图小端格式。与大端格式相反,在小端格式中,低地址中存放的是字数据的低字节,高地址中存放的是字数据的高字节,如图2-3所示。高地址 31 24 23 1
15、6 15 8 7 0 字地址 11 10 9 8 7 6 5 4 3 2 1 0840低地址 低字节位于低地址中图2-3 小端格式示意图3、 数据类型ARM处理器可支持的数据类型有:字节(8-bit),半字(16-bit)和字(32-bit)。但字类型数据必须与四字节边界对齐,半字类型必须与两字节边界对齐。4、 工作模式ARM处理器支持7种运行模式。l 用户模式(usr)。ARM处理器正常的程序执行状态。l 快速中断模式(fiq)。用于高速数据传输或通道处理。l 外部中断模式 (irq)。用于通常的中断处理。l 超级用户模式(svc)。供操作系统使用的保护模式。l 中止模式(abt)。当指令预
16、取中止时,进入指令中止模式;当数据访问中止时,进入数据访问中止模式,此模式支持虚拟存储及存储保护。l 未定义模式(und)。此模式支持硬件协处理器的软件仿真。l 系统模式(sys)。运行具有特权的操作系统任务。除用户模式外的其余6种模式称为非用户模式或特权模式;其中,除去系统模式外的其余5种模式又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。在用户模式下,程序不能访问那些受保护的系统资源,也不能任意地进行处理器模式的切换。大多数应用程序运行在用户模式下,此时应用程序不能访问某些被保护的系统资源
17、或是直接进行处理器模式的切换,但可通过产生异常处理来切换处理器模式。每种异常模式都有一组寄存器,供相应的异常处理程序使用,这样就保证了在进入异常模式时,用户模式下的寄存器不被破坏。5、 异 常当正常执行的程序流程被中断时,便产生了异常(Exceptions)。异常改变了程序正常的执行顺序,属于非正常的执行状态,由内部或外部事件产生。当发生异常时,处理器在执行完当前指令后便跳转到相应的异常处理程序处执行,完毕后返回到原程序断点处继续执行。因此,在处理异常之前,处理器必须保存中断程序的执行现场;从异常处理返回后,必须恢复被中断程序的执行现场。表2-1 ARM的异常类型 地址异常模式 0x00000
18、000复位超级用户模式 0x00000004未定义指令未定义模式 0x00000008软件中断超级用户模式 0x0000000C中止(指令预取)中止模式 0x00000010中止(数据访问)中止模式 0x00000014保留保留 0x00000018IRQ外部中断模式 0x0000001CFIQ快速中断模式ARM体系结构支持7种类型的异常:复位、未定义指令、软件中断、指令预取终止、数据访问终止、保留、IRQ和FIQ。表2-2列出了异常的类型以及处理这些异常的处理器模式。异常出现后,将强制从相应的固定存储器地址处开始执行,这些地址称为异常向量 (Exception Vectors)。ARM的异常
19、按起因不同可分为以下3类:l 指令执行引起的直接异常:未定义指令和指令预取终止。l 指令执行引起的间接异常:数据访问终止。l 外部事件引起的异常:复位、IRQ和FIQ。当多个异常同时发生时,系统根据固定的优先级决定异常的处理顺序。表2-2按由高到低的顺序列出了异常的优先级。表2-2异常的优先级 优先级 异常1复位2数据访问中止3FIQ4IRQ5指令预取中止6未定义指令、软件中断2.2 系统的硬件设计 图2-3 系统的硬件结构框图系统主要有以下几个部分组成:l CPU: Samsung S3C2410A 266MHz(ARM920T内核)l 存储器部分:包括SDRAM、Rash和EEPROM。l
20、 通信接口部分:包括USB接口、RS232接口、IrDA和以太网连接。l 人机接口部分:键盘接口、LCD和触摸屏接口、MIC接口和耳机接口。l JIAG接口。l 电源及时钟电路。系统的硬件结构如图2-3所示,下面对硬件电路的主要部分进行详细介绍。2.2.1 S3C2410A处理器S3C2410A是Samsung推出的一款32位RISC微处理器。它以RAM920T为内核,采用0.18um工艺,实现了MMU(Memory Management unit)单元,AMBA(Advanced Microcontroller Bus Aichitecture)总线和 Harvard Cache结构,为手持
21、设备和一般类型的应用提供了低成本、低功耗和高性能的处理器解决方案。其内部结构如图2-4所示。此外,S3C2410A还提供丰富而完整的外设接口,消除了额外的配置原件,其片上功能如下:l 内核1.8/2.0V,存储器3.3V,外部I/O 3.3Vl 具有16KB指令Cache/16KB数据Cache和MMU单元l 外部存储器控制器(SDRAM控制和片选逻辑)l LCD控制器,1通道LCD专用DMAl 4通道DMA请求,并具有外部请求引脚l 3通道UART(lrDA1.0、16字节TxFIFO、16字节RxFIFO);2通道SPIl 1通道I2C总线控制器/1通道IIS总线控制器l SD主机接口(版
22、本1.0)和Multi-Media卡协议(版本2.11)l 2个USB主机接口/1个USB从设备接口(版本1.1)l 4通道PWM计时器/1通道内部计时器l 看门狗定时器l 117个通用I/O端口/24通道外部中断源l 电源控制:普通、缓慢、空闲和断电模式l 8通道10位ADC和触摸屏接口l 具有日历功能的实时时钟l 具有带PLL的片上时钟发生器 图2-4 S3C2410A 内部结构框图2.2.2 SDRAM电路S3C2410A的存储器控制器共支持8个存储器bank,其中6个bank可用作ROM和SRAM,剩余2个bank可用作ROM、SRAM和SDRAM。每个bank均支持可编程的数据总线宽
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 手持 数据 终端 设计