资源预览内容
第1页 / 共368页
第2页 / 共368页
第3页 / 共368页
第4页 / 共368页
第5页 / 共368页
第6页 / 共368页
第7页 / 共368页
第8页 / 共368页
第9页 / 共368页
第10页 / 共368页
亲,该文档总共368页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章 嵌入式 LINUX开发基础知识31.1 嵌入式 Linux 简介31.2 嵌入式 Linux 开发平台简介51.3 嵌入式 Linux 开发流程101.4 嵌入式 Linux 开发环境的建立12第二章 基础实验232.1 熟悉Linux 开发环境232.2 多线程应用程序设计282.3 串行端口程序设计422.4 A/D 接口实验532.5 D/A 接口实验652.6 CAN 总线通讯实验742.7 简单嵌入式WEB 服务器实验882.8 RS-485 通讯实验1012.9 直流电机实验1122.10 步进电机实验123第三章 图形界面应用程序设计1283.1 安装与建立Qt桌面运行环境1283.2 Qt Designer简介以及Qt/E的交叉编译1363.3 建立本机 Qtopia 虚拟平台1453.4 Qtopia2.1.1 在2410-S 上的移植151第四章 内核与根文件系统实验1564.1 Linux内核移植与编译实验1564.2 根文件系统实验185六、实验步骤198第五章 驱动模块实验2025.1内核驱动设计入门模块方式驱动实验2025.2内核驱动设计实验触摸屏驱动2365.3 IC 卡读写实验2585.4 PS2 键盘鼠标驱动实验2825.5 SD 卡使用实验2995.6 IDE_硬盘读写实验3295.7 音频驱动及应用实验3425.8 双网卡演示实验3575.9 USB摄像头接口实验361第一章 嵌入式 Linux开发基础知识随着后 PC 时代的到来,嵌入式系统技术已经成为了一个万众瞩目的焦点。目前已广泛应用于信息家电、数据网络、工业控制、医疗卫生、航空航天等众多领域。巨大的市场潜力,无穷的商机,吸引了各路英豪纷踵沓来。硬件方面,各大电子厂商相继推出了自己的专用嵌入式芯片,漫天而至的是 mp3,PDA,无线上网装置,让人们充分感受到了这股强劲之势;软件方面,在Vxworks、pSOS、Neculeus和 Windows CE 等嵌入式操作系统引领下,也出现了空前繁荣的局面,但这些专用操作系统都是商业化产品,其高昂的价格使许多面向低端产品的小公司望而却步,并且其源代码的封闭性也大大限制了开发者的积极性。近两年在我国登陆并蓬勃发展的 Linux,也已广泛应用于各类计算应用,不仅包括 IBM的微型 Linux 腕表、手持设备(PDA 和蜂窝电话)、因特网装置、客户机、防火墙、工业机器人和电话基础设施设备,甚至还包括了基于集群的超级计算机。Linux 在高端服务器的优越表现及其天生具有的突出特点,就注定它必将在低端嵌入式系统中再次给人们以惊喜,而基于嵌入式 Linux 操作系统的应用,必定给我们未来的工作和生活带来翻天覆地的变化。1.1 嵌入式 Linux 简介 Linux 正在嵌入式开发领域稳步发展。Linux 使用 GPL,所有对特定开发板、PDA、掌上机、可携带设备等使用嵌入式 Linux 感兴趣的人都可以从因特网上免费下载其内核和应用程序,并开始移植和开发。许多 Linux 改良品种迎合了嵌入式市场,它们包括 RTLinux(实时 Linux)、uclinux(用于非 MMU 设备的 Linux)、Montavista Linux(用于 ARM、MIPS、PPC 的 Linux 分发版)、ARM-Linux(ARM 上的 Linux)和其它 Linux 系统。嵌入式 Linux 的发展比较迅速。NEC、索尼已经在销售个人视频录像机等基于 Linux 的消费类电子产品,摩托罗拉则计划在其未来的大多数手机上使用 Linux,IBM 也制定了在手持机上运行 Linux 的计划。 数年来,“Linux 标准库”组织一直在从事对在服务器上运行的 Linux 进行标准化的工作,现在,嵌入式计算领域也开始了这一工作。嵌入式 Linux 标准吸引了“Linux 标准库”以及Unix 组织中有益的元素。在嵌入式系统中使用 Linux的优点和缺点 虽然大多数 Linux 系统运行在 PC 平台上,但 Linux 也是嵌入式系统的可靠主力。Linux的安装和管理比 UNIX 更加简单灵活,这对于那些 UNIX 专家们来说又是一个优点,因为Linux 中有许多命令和编程接口同传统的 UNIX 一样。但是对于习惯于 WINDOWS 操作系统的人来说,需要记忆大量的命令行参数却是一个缺点。随着 LINUX 社团的不断努力,linux的人机界面开发环境正在不断完善。 典型的 Linux 系统经过打包,在拥有硬盘和大容量内存的 PC 机上运行,嵌入式系统不需要这么高的配置。一个功能完备的 Linux 内核要求大约 1 MB 内存。而 Linux 微内核只占用其中很小一部分内存,包括虚拟内存和所有核心的操作系统功能在内,只需占用系统约 100 K 内存。只要有 500 K 的内存,一个有网络栈和基本实用程序的完全的 Linux 系统就可以在一台 8 位总线(SX)的 Intel 386 微处理器上运行的很好了。由于内存要求常常是需要的应用所决定的,比如 Web 服务器或者 SNMP 代理,Linux 系统甚至可以仅使用 256 KB ROM 和 512 KB RAM 进行工作。因此它是一个瞄准嵌入式市场的轻量级操作系统。 与传统的实时操作系统相比(RTOS),采用象嵌入式 Linux 这样的开放源码的操作系统的另外一个好处是 Linux 开发团体看来会比 RTOS 的供应商更快地支持新的 IP 协议和其它协议。例如,用于 Linux 的设备驱动程序要比用于商业操作系统的设备驱动程序多,如网络接口卡(NIC)驱动程序以及并口和串口驱动程序。 核心 Linux 操作系统本身的微内核体系结构相当简单。网络和文件系统以模块形式置于微内核的上层。驱动程序和其它部件可在运行时作为可加载模块编译到或者是添加到内核。这为构造定制的可嵌入系统提供了高度模块化的构件方法。而在典型情况下该系统需结合定制的驱动程序和应用程序以提供附加功能。 嵌入式系统也常常要求通用的功能,为了避免重复劳动,这些功能的实现运用了许多现成的程序和驱动程序,它们可以用于公共外设和应用。Linux 可以在外设范围广泛的多数微处理器上运行,并早已经有了现成的应用库。 Linux 用于嵌入式的因特网设备也是很合适的,原因是它支持多处理器系统,该特性使Linux 具有了伸缩性。因而设计人员可以选择在双处理器系统上运行实时应用,提高整体的处理能力。例如,您可以在一个处理器运行 GUI,同时在另一个处理器上运行 Linux 系统。 在嵌入式系统上运行 Linux 的一个缺点是 Linux 体系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。已经有许多嵌入式Linux 系统的示例;可以有把握地说,某种形式的 Linux 能在几乎任一台执行代码的计算机上运行。1.2 嵌入式 Linux 开发平台简介 Linux 价格低廉、功能强大,可以运行在X86, Alpha, Sparc, MIPS, PPC, MOTOROLA,NEC,ARM等硬件平台上,而且开放源代码,可以定制。我们所介绍的硬件平台是基于 ARM 体系结构,由北京博创兴业科技有限公司开发的 UP-NetARM3000 和 UP-NetARM2410-S 实验仪器。 UP-NetARM3000 的CPU为ARM7TDMI内核的三星S3C44B0X01 芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-NetARM2410-S的CPU为ARM920T内核的三星S3c2410 芯片,由于有MMU可以运行标准的ARM-LINUX内核。通过这两个平台,我们可以学习嵌入式LINUX中的针对有MMU和无MMU的不同开发过程。UP-NetARM3000 及相关产品的资料可以访问博创公司的网站 www.up-tech.com获得。本书以UP-NetARM2410-S为例,详细介绍嵌入式 Linux的开发过程。UP-NetARM2410-S 实验仪器介绍硬件配置UP-NetARM2410-S 的硬件配置如表 1.2.1 所示,实物如图 1.2.1 所示:表1.2.1 UP-NetARM2410-S 的硬件配置配置名称型号说明CPUARM920T 结构芯片三星 S3c2410X工作频率203MHzFLASHSAMSUNG K9F120864M NANDSDRAMHY57V561620ATH32M2=64MEtherNet网卡AX8879610/100M自适应LCDLQ080V3DG018寸16bit TFT触摸屏SX-080-W4R-FBFM7843驱动USB 接口4个HOST/1个DEVICE由AT43301构成USB HUBUART/IrDA2个RS232,1个RS485, 1个IrDA从处理器的UART2引出AD由 S3C2410 芯片引出3个电位器控制输入AUDIOIIS总线,UDA1341芯片44.1KHz音频扩展卡插槽168Pin EXPORT总线直接扩展GPS_GPRS 扩展板SIMCOM 的 SIM100-E 模块支持双道语音通信IDE/CF 卡插座笔记本硬盘,CF 卡PCMCIA 和 SD 卡插座PCMCIA型号为DWL-650PS2 PC 键盘和鼠标由ATMEGA8单片机控制IC 卡座AT24CXX 系列由ATMEGA8单片机控制DC/STEP 电机DC 由PWM控制,STEP 由74HC573控制CAN BUS由MCP2510和TJA1050构成Double DA MAX504一个10位DAC 端口调试接口JTAG14 针、20 针图1.2.1 UP-NetARM2410-SS3c2410 芯片介绍S3c2410X 芯片集成了大量的功能单元,包括:1内部 1.8V,存储器 3.3V,外部 IO3.3V,16KB 数据 CACH,16KB 指令 CACH,MMU;2内置外部存储器控制器(SDRAM 控制和芯片选择逻辑);3LCD 控制器(最高 4K 色 STN 和 256K 彩色 TFT),一个 LCD 专用 DMA;44 路带外部请求线的 DMA;5三个通用异步串行端口(IrDA1.0, 16-Byte Tx FIFO, and 16-Byte Rx FIFO, 2 通道SPI; 6一个多主 IIC 总线,一个 IIS 总线控制器;7SD 主接口版本 1.0 和多媒体卡协议版本 2.11 兼容;82 个 USB HOST ,一个 USB DEVICE(VER1.1);94 个 PWM 定时器和一个内部定时器;10看门狗定时器;11117 个通用 IO;1224 个外部中断;13电源控制模式:标准、慢速、休眠、掉电;148 通道 10 位 ADC 和触摸屏接口;15带日历功能的实时时钟;16芯片内置 PLL;17设计用于手持设备和通用嵌入式系统;181632 位
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号