基于ARM9的嵌入式Linux系统开发原理与实践(马小陆)章 (11)
- 格式:ppt
- 大小:1.18 MB
- 文档页数:63
基于ARM9的嵌入式Linux网络通信系统设计与实现随着计算机技术的发展,嵌入式系统已经成为计算机领域的一个重要组成部分。
Internet现已成为社会重要的基础信息设施之一,是信息流通的重要渠道,如何让嵌入式设备连接到Internet上,和其他通信系统进行信息交换是当前嵌入式技术领域研究的热点所在。
本文结合实际应用需求,详细研究实现了一种基于S3C2410平台和Linux操作系统的嵌入式网络通信系统。
1.嵌入式网络通信系统总体设计经过大量的资料收集比较,深入地研究分析并结合现有的实验条件,我们对系统的体系结构、硬件平台和软件系统做出了以下选择:1)目前嵌入式CPU很多,选择哪款CPU要根据自己产品的实际需要。
一般而言,首先应尽量选择系统集成度高、外围电路简洁的CPU;其次,还应综合考察CPU的各项性能指标;最后,还应该考虑软硬件开发环境的建立、厂家的货源以及代理的软件支持力度。
经过比较, 本设计采用三星的S3C2410微处理器。
这是一款高性价比、低功耗、高集成度的CPU,基于ARM920T内核,主频最高为203MHz,专为手持设备和网络应用而设计,能满足嵌入式系统中的低成本、低功耗、高性能、小体积的要求。
图1为硬件平台的总体设计[ 1 ] 。
CPU S3C2410模块是开发板的核心部件。
S3C2410 在包含ARM920T核的同时,增加了丰富的外围资源,主要包括1个LCD 控制器,支持STN 和TFT液晶显示屏; 3个通道UART; 4个通道DMA; 4个具有PWM功能的16位定时/计数器和1个16位内部定时器, 支持外部时钟源; 8通道10位ADC,最高速率可达500kB / s;触摸屏、IIS总线、SD 卡和MMC卡接口;117位通用I/O口和24位外部中断源。
存储系统包括64MB的NAND Flash存储器模块和SDRAM存储器模块; Flash用于存放嵌入式操作系统、应用程序和用户数据等,并作嵌入式文件系统; SDRAM作为系统运行时的主要区域,用于存放系统及用户数据。
“黑色经典”系列之《嵌入式Linux系统开发技术详解——基于ARM》典型的ARM处理器华清远见<嵌入式Linux系统开发班>培训教材2.1 ARM处理器简介ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
ARM处理器是一种低功耗高性能的32位RISC处理器,ARM处理器是一个综合体,ARM公司自身并不制造微处理器,而是由ARM 的合作伙伴来制造,作为SOC(System On Chip)的典型应用,目前,基于ARM的处理器以其高速度、低功耗等诸多优异的性能而得到非常广泛的应用。
采用RISC架构的ARM微处理器一般具有如下特点。
•体积小、低功耗、低成本、高性能。
•大多数数据操作都在寄存器中完成。
•寻址方式灵活简单,执行效率高。
•指令长度固定。
为了保证ARM处理器具有高性能的同时,进一步减少芯片的体积和功耗,ARM处理器采用了以下一些比较特别的技术。
•所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
华清远见<嵌入式Linux系统开发班>培训教材•可用加载/存储指令批量传输数据,以提高数据的传输效率。
•可在一条数据处理指令中同时完成逻辑处理和移位处理。
•在循环处理中使用地址的自动增减来提高运行效率。
ARM微处理器有以下7种运行模式。
•用户模式(usr):ARM处理器正常的程序执行状态。
•快速中断模式(fiq):用于高速数据传输或通道处理。
•外部中断模式(irq):用于通常的中断处理。
•管理模式(svc):操作系统使用的保护模式。
•数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
•系统模式(sys):运行具有特权的操作系统任务。
•未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
绿谷电子开发网 ---------^电子工程师的好朋友^---------ARM9嵌入式技术及Linux实验指导嵌入式开发流程1.建立开发环境2.配置开发主机3.建立引导安装程bootLoader4.下载别人移植好的Linux操作系统5.建立根文件系统6.建立应用程序的磁盘分区7.开发应用程序8.烧写内核、根文件系统、应用程序9.发布产品一建立嵌入式Linux开发环境1)基于PC机的windows操作系统下的CYGWIN2)在windows下安装虚拟机后,再在虚拟机中安装Linux操作系统3)直接安装Linux操作系统绝大多数的Linux软件开发都是以native方式进行的,即本机开发、调试、本机运行的方式。
而通常的嵌入式系统的软件采用一种交叉调试的方式进行开发。
交叉编译调试环境建立在宿主机上,对应的开发板叫目标板。
运行Linux的PC开发时使用宿主机上的交叉编译、汇编、及连接工具形成可执行的二进制代码,然后把可以执行的文件下载到目标机上运行。
调试的方法很多,可以使用串口,以太网口等,至于具体使用何种调试方法可以根据目标处理器的提供的支持作出选择。
进行嵌入式Linux开发的一般需要在主机上安装Linux。
嵌入式开发通常要求宿主机配置有网络,支持NFS。
二开发工具软件的安装与配置开发环境配置包括配置网络,NFS服务器的配置基础实验实验一Bootloader实验目的实验目的熟悉bootloader,学会基于S3C2410的bootloader配置与使用,串口方式或Jtag的下载调试,了解嵌入式系统的启动过程。
实验内容本次实验使用Debian GNU/Linux操作系统环境安装minicom以及使用相关传输工具烧写bootloader。
学习Linux下的启动过程,以及vivi的使用。
下载已经编译好的vivi镜像到嵌入式实验仪中运行。
预备知识Linux的基本操作。
实验仪器硬件:armsys嵌入式实验仪,PC机(主频500以上)10G以上硬盘软件:操作系统Debian GNU/Linux,minicom,lrzsz实验步骤:1安装minicom与lrzszapt-get install minicomapt-get install lrzsz2调整minicom的端口参数这是初始画面,按^a z(这里按键顺序是ctrl a,然后按z)可以列出如下的帮助菜单。
基于ARM9的嵌入式Linux系统的设计与实现打开文本图片集摘要:随着计算机技术和微电子技术的迅猛发展,嵌入式系统逐渐发展为计算机应用的一个重要领域,在生活中得到了普遍的应用。
本文通过搭建嵌入式系统开发平台、对嵌入式Linux系统进行构建、移植设备驱动程序和介绍嵌入式GUI应用程序开发,讨论了基于ARM9微处理器的嵌入式Linux系统的设计与实现。
该系统为嵌入式控制系统设计提供了一种可行的方案。
关键词:嵌入式系统;Linux;驱动程序;ARM9一、引言嵌入式系统作为一种专用的计算机系统。
它以计算机技术作为基础,以应用作为中心,并且其硬件和软件都可以裁剪。
它能够满足应用系统对功耗和可靠性的严格要求。
嵌入式系统具有实时性高、系统内核小的特点。
嵌入式Linux是一种操作系统,它能够运行在嵌入式计算机系统上。
代码开放,版权免费[2]是它与其它操作系统相比的优势,嵌入式Linux有非常广泛的应用领域,主要应用于工业控制、大屏幕功能手机、信息家电、医疗电子等领域。
本文从应用出发,着重对一个嵌入式Linux系统进行研究、设计及实现。
二、嵌入式系统开发平台的搭建硬件结构和软件系统这两部分组成了一个完整的嵌入式系统,其中嵌入式处理器和外围的接口电路是硬件结构的主要组成部件,而嵌入式操作系统和应用程序则是软件系统的主要组成部分。
嵌入式系统开发平台的搭建主要包括硬件开发平台、软件开发平台和交叉开发环境的搭建[1]。
(一)硬件开发平台的搭建嵌入式系统硬件平台的搭建主要是围绕目标板和主机这两方面进行的,目标板选用的是采用嵌入式处理器的开发板作为硬件开发平台,主机选用的是PC机。
通过对当前主流的嵌入式处理器综合性能的比较,又依据嵌入式软件开发要求嵌入式处理器要具有性能高、功耗低等特点,因此选取ARM处理器作为本文的嵌入式处理器。
由于本文重点从应用开发方面来设计嵌入式系统,选用ARM9系列的S3C2440A处理器比较合适,因此目标板采用的是基于芯片S3C2440A的开发板作为硬件开发平台。
IIAbstractWith the development of the information technology, embedded systems has been broadlyapplied in each field of famlily and industry. And the increasingly wide range of applications,thecomplexity of embedded systems is constantly increasing. Now,the embedded operating systemhas become one of the most important part of the embedded system.In the embedded operating systems,The Linux operating system has become more and moreattened,because of its open source,small core,good performance;what’s more,Linux2.6 introducesmany new features that make it an excellent and suitable operating system for embeddedcomputing. Undoubtedly, the embedded Linux operating systemwill bring large economic valueand application prospects.This thesis is accomplished based on the automatic meter reading system for a powercompany in Nanjing, and the main contribution is to introduce transplantation of the embeddedLinux system, as well as the driver development of corresponding peripheral device. This paperaccomplish the transplantation of the embedded Linux system based on AT91SAM9260EK,andincluding build the development platform,build the embedded cross-compile environment; Basedon the analysis of the booting and loading process—BootLoader of the embeddedsystem,implements the transplantation of Uboot on the platform. After the detailed analysis of thekernel structure and booting process of Linux system, according to the terminal hardwareplatform,analyze the process of transplantation and cut of the Linux kernel. In accordance withthe application requirements,we select the YAFFS2 as our root file syetem,and detailedlyintroduce the process of the implementation of the YAFFS2 file system. Finally,develop thedrivers of the related equipment, especially the LCD(UC1698U), improve the original way ofdirect access GPIO port,and combining the GPIO and framebuffer to develop the new driver. The framebuffer is the cache for display, write data to the cache, the controller will automatically read the data from the cache and display. The development of GUI based on Qt/Embedded need thesupport of framebuffer technology. But for the type of LCD, the display controller can notautomatically read the data from the cache, use the kernel timer to update the framebuffer forreal-time display and develop the GUI of test based on Qt/Embedded.Key words: embedded Linux system, ARM9,YAFFS2,driver,FrameBuffer I摘要随着信息技术的不断发展,嵌入式系统已经广泛应用于工业和家庭的各个领域。