(通信与信息系统专业论文)基于嵌入式linux的远程图像监控系统的终端设计.pdf_第1页
(通信与信息系统专业论文)基于嵌入式linux的远程图像监控系统的终端设计.pdf_第2页
(通信与信息系统专业论文)基于嵌入式linux的远程图像监控系统的终端设计.pdf_第3页
(通信与信息系统专业论文)基于嵌入式linux的远程图像监控系统的终端设计.pdf_第4页
(通信与信息系统专业论文)基于嵌入式linux的远程图像监控系统的终端设计.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(通信与信息系统专业论文)基于嵌入式linux的远程图像监控系统的终端设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ad i s s e r t a t i o ns u b m i t t e dt o t i a n j i np o l t e r m i na ld e s i g no fr e s y s t e mb a s e d o ne m b e d d e dl i n u x i nc a n d i d a c yf o rt h em a s t e r sd e g r e ei n c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m b y l i uy i n q i a n g s u p e r v i s o r p r o f h u a n gw e i z h i s c h o o lo fi n f o r m a t i o na n dc o m m u n i c a t i o ne n g i n e e r i n g , t i a n j i np o l y t e c h n i cu n i v e r s i t y d e c e m b e r , 2 0 0 9 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得丞洼王些太堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文储躲妇l 铲 签字嗍晰;月乡日 学位论文版权使用授权书 本学位论文作者完全了解丞洼王些太堂有关保留、使用学位论文的规定。 特授权云洼王些太堂可以将学位论文的全部或部分内容编入有关数据库进行 检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学 校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:州研z 星、 签字日期:加如年月;日 翩签名锄 导师签名气贬物 签字日期听矽厂年芗月3 日 学位论文的主要创新点 一、本文完成了一个远程图像监控系统的终端设计。该终端操作系统 采用最新的l i n u x 内核版本,与其他系统相比具有实时稳定的优点, 在该系统下可以实现g p r s 快速拨号上网,方便快捷。 摘要 随着社会经济的发展,在工业生产和同常生活中,人们对远程现场实时状况 的了解要求更高。如何有效解决由于各监控点分布范围散、距离远、数量多和地 处偏僻等诸多难题,仅仅依靠架设光缆、铺设电缆等手段很难实现且不切合实际。 本文在结合嵌入式系统、g p r s 等相关领域的研究进展的基础上,开发了一套基 于a r m 和g p r s 的远程监控系统。该系统采用覆盖范围广、传输特性好的g p r s 网络与低功耗、方便实用的嵌入式系统相结合的解决方案。 本课题的监控系统服务端是嵌入式l i n u x 系统平台,该平台采用$ 3 c 2 4 4 0 芯片作为处理器,利用数字摄像头采集图像,再经j p e g 压缩编码后存储图像数 据,最后将图像数据通过其串口利用g p r s 终端将数据传送到有静态i p 地址或 域名的远程监控中心。 课题主要围绕着l i n u x 向a r m 平台移植和通过u s b 接口进行图像采集及在 g p r s 网络传输等技术展丌讨论。本系统主要分为系统软件和应用软件开发两方 面。系统软件方面主要是b o o t l o a d e r 、l i n u x 内核及文件系统的移植。应用软件 方面主要包括图像采集软件设计、数据发送程序及监控中心程序设计三个部分。 关键词:图像采集;a r m ;l i n u x ;g p r s ;j p e g a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ee c o n o m y , i ni n d u s t r i a lp r o d u c t i o na n dd a i l yl i f e a n dt h eh i g hs t a n d a r do ft h er e m o t em o n i t o r e ds c e n ei sp u tf o r w a r d b u ta l s on e e da i l e f f e c t i v es o l u t i o no fm o n i t o rp o i n t sd i s t r i b u t i n gb i g r a n g e ,t o om a n yp o i n t s ,l o n g d i s t a n c e ,o p t i c a lc a b l el a y i n gd i f f i c u l t a n dh o we f f e c t i v em a n a g em o n i t o rp o i n t sa l s o t o oh a r d o nt h eb a s i so fe m b e d d e ds y s t e m s ,g p r s ,a n do t h e rr e l a t e da r e a s ,w ep u t f o r w a r dan e wr e m o t em o n i t o r i n gs y s t e mb a s e do nt h ea r ma n dg p r s s y s t e m s o l u t i o n sa r et h ec o m b i n a t i o no fg p r sn e t w o r kc o v e r i n g aw i d er a n g eo f t r a n s m i s s i o na n dl o w p o w e re m b e d d e ds y s t e m sb e i n gc o n v e n i e n ta n dp r a c t i c a l i nt h i sp a p e r , t h ew e bs e r v e rp r o g r a mr u n su n d e rt h ee m b e d d e dl i n u xs y s t e m p l a t f o r m ,i ta d o p t sa r m k e r n e l $ 3 c 2 4 4 0a si t sc p u ,u s ed i g i t a lc a m e r at og a t h e r i m a g e ,s t o r ei m a g ed a t aa f t e rj p e gc o m p r e s s i o n f i n a l l y , b yw i r e l e s sd a t ap o r tu s i n g g p r st e r m i n a lt ot h er e m o t em o n i t o r i n gc e n t r ew i t c ha l l o c a t e da d d r e s si po rt h e d o m a i nn a n l e t h i sa r t i c l ef o c u s e do nal i n u xp o r tt ot h ea r m p l a t f o r m ,t h ea d o p t i o no f u s b i n t e r f a c ef o ri m a g ea c q u i s i t i o na n dt h et e c h n o l o g i e so fg p r sn e t w o r kt r a n s m i s s i o n t h i ss y s t e md e s i g nm a i n l yd i v i d e si n t ot h es y s t e ms o f t w a r ea n dt h ea p p l i c a t i o n s o f t w a r ed e v e l o p st w oa s p e c t s s y s t e m s o f t w a r ea s p e c tc o n s i s t so ft h ea r m b o o t l o a d e ra n da n a l y s i sa n dt r a n s p l a n t i n go fe m b e d d e dl i n u x a p p l i c a t i o ns o f t w a r e i n c l u d e ss o f t w a r ed e s i g no fa r mp l a t f o r me m b e d d e di m a g ec a p t u r e ,d a t as e n t p r o g r a m ,m o n i t o r i n gc e n t e rp r o g r a r n k e y w o r d s :i m a g eg a t h e r ;a r m ;l i n u x ;g p r s ;j p e g 目录 第一章绪论l 1 1 课题背景和研究意义1 1 2 本文完成的主要工作2 第二章系统总体设计5 2 1 系统硬件设计5 2 1 1 $ 3 c 2 4 4 0 处理器6 2 1 2c m o ss e n s o r 摄像头7 2 1 3s i m 3 0 0g p r s 模块一7 2 2 系统软件设计所要做的工作7 第三章构建嵌入式l i n u x 系统9 3 1 嵌入式l i n u x 系统概述9 3 2u b o o t 简介及其移植9 3 2 1u b o o t 启动过程lo 3 2 2u b o o t 移植1 l 3 3l i n u x 内核及其移植1 5 3 3 1l i n u x 内核。1 5 3 3 2l i n u x 内核移植16 3 4 根文件系统的移植2 0 3 5 试验结果2 2 第四章图像采集程序设计2 5 4 1l i n u x 与外部设备的通信2 5 4 2v i d e 0 4 l i n u x 简介2 6 4 2 1v i d e 0 4 l i n u x 数据结构2 7 4 2 2 驱动模块加载2 9 4 2 3 获取图像信息2 9 4 3 程序的编译与调试3 3 4 3 1m a k e 工具及m a k e f i l e 文件3 3 4 3 2m a k e f i l e 编写3 5 4 3 3 编译调试3 6 4 4 图像压缩3 7 4 4 1j p e g 压缩标准3 7 4 4 2j p e g 编解码原理3 7 4 4 3j p e g 压缩过程3 8 4 5 试验结果4 0 第五章g p r s 拨号连接4 3 5 1g p r s 网络4 3 5 2p p p 协议4 5 5 3 拨号连接4 7 5 3 1l i n u x 下拨号方式4 7 5 3 2 拨号连接4 8 5 4 试验结果5 l 5 3 5 3 5 4 5 6 5 8 6 1 6 3 6 5 6 7 6 9 存档 测和管理。远程监控技术在国民生产的很多领域都有十分广泛的应用,例如工业 控制、交通、国防、煤矿、电力系统以及智能住宅等。 随着各行各业自动化水平的提高,需要监控的对象种类也越来越多。在这些 监控对象中,有些监控点和中央控制中心距离比较远且位置比较分散、环境恶劣。 如果采用传统的有线监控方式,布线成本非常高,并且需要花费大量的人力、物 力和财力进行线路的维护。如果需要监控移动的对象,或者遇到河流山脉等布线 无法跨越的障碍时有线网络便束手无策。在这种情况下无线监控的优势就显现出 来。无线监控采用的无线网络具有可移动性强、方便快捷、支持高速移动等特点。 根据使用的需要,可随时增加、减少网络监控点的位置,甚至高速移动的执行监 督任务的车辆也可以成为移动的监控点。无线监控以其部署位置灵活、覆盖范围 广、与有线监控融合方便的优势,目前可以作为有线监控的有力补充。此外,无 线监控还有如下优势: 1 、成本低。使用无线网可以避免安装线缆的高成本费用、租用线路的费用 以及设备移动时增加的相关费用。 2 、灵活性。由于没有线缆的限制,具有灵活的扩展性,无线监控还可以随 时添加新的监控点。 3 、移动性。无线局域网设置允许用户无论任何时间、任何地点都可以访问 网络数据,不需要指定明确的访问地点,因此用户可以在网络中漫游。 4 、快速安装。无线局域网的安装工作非常简单,无需施工许可证,不需要 布线,安装时间比有线网络节省许多。 保护用户已有投资,监控点只需把无线设备搬迁至新地点安装即可,不需要 像有线网络一样完全重新铺设。无线监控系统不受地理环境、气候、时问限制的 优点将使其在工业自动化和其他领域的应用越来越广泛。因此对这种技术的研究 就有很重要的意义。 目前,随着无线技术的发展,无线传输技术应用也越来越广泛。除了在大中 城市建设的公共安全监控系统外,无线监控还凭借安装方便、灵活性强、性价比 天津l :业人学硕十学何论文 高等特性,在交通、运输、航运、水利、治安、消防等很多领域得到了广泛的应 用。无线监控也适用于市区相关部门通过监控视频展示街区、建筑,提升城市形 象。无线监控使车载监控和应急处理等社会联动、指挥调度等成为可能。边远和 野外地区如电力高压线线路、高速公路、环境监测、森林防火、煤矿开采、石油 开采、输油管线、防洪抢险等可采用该方式;各类公共汽车、内河航运船只、出 租车等公共交通工具上的治安防范、反恐防暴,各种机动灵活场所的临时性监控 等也可采用该方式。 无线以太网的出现,给监控系统带来了新的应用方式。无线监控系统在原有 的以太网监控系统的基础上,抛弃了网络电缆,用无线微波进行数据传输,极大 的降低了网络布线的成本,大大增强了监控系统的灵活性和可扩展性。 无线监控将视频监控系统带进了更广阔的应用领域。城市无线宽带实现了城 区信号覆盖,为无线监控技术的使用铺平了道路。同时无线监控的关键在于提供 切合实际的应用服务,构建在无线网络的监控系统成为监控业务发展的新热点。 目前,上海j 下积极开展“无线上海”建设,采用w i m a x 、w i f i 无线覆盖,同时 布局无线监控系统,开展城市服务以迎接2 0 1 0 年世博盛会,伴随平安城市各项 工作的展开,无线监控在警用装备市场具有一定的应用前景,将促进安保行业迅 猛发展。各监控行业设备厂家也正在积极地进行无线环境下网络视频服务器的技 术优化,使得网络视频终端设备更适合3 g 等移动网络的特点。 目前,我国电信运营企业j 下在向信息化深入推进转型,无线监控业务是运营 商比较重视的一项增值业务,各大运营商都在纷纷打造自己的无线视讯平台。电 信企业开展无线监控业务有很多优势,运营商拥有全国统一的数字网络、优质品 牌和强大的客服体系,同时由于电信网络分布广,监控系统的规模可以做到很大, 监控摄像头的部署可以做到几千乃至数万个,可以覆盖整个城市。 国内运营商在无线监控方面已经实现或正在探讨商用,如中国移动为奥帆赛 提供的无线视频同传服务;与相关厂家合作推出的“手眼通”监控业务。中国电信 推广的视频监控品牌“全球眼”也在着力规划和推进无线监控业务的发展。在运营 方面,运营商提供计时、包月、计量等多种资费模式,同时根据不同用户群、不 同地区的消费能力制订不同的资费标准i l 引。 1 2 本文完成的主要工作 1 、构建嵌入式l i n u x 系统,对b o o t l o a d e r 、l i n u x 内核和根文件系统进行移 植,使l i n u x 系统运行于基于$ 3 c 2 4 4 0 芯片的开发板上。 2 、根据l i n u x 内核源文件理解摄像头驱动程序以及l i n u x 的内核结构和 2 第一章绪论 l i n u x 下设备驱动程序的实现机制,重新编译l i n u x 内核,使新内核能够支持本 课题所采用的u s b 摄像头。 3 、在驱动程序实现基础上,采用v i d e 0 4 l i n u x 2 内核应用编程接1 3 函数,实 现对图像信号的快速采集,并采用j p e g 编码算法对图像数据进行压缩。 4 、编写g p r s 模块驱动程序,移植p p p 程序,实现利用g p r s 网络传输 数据。 5 、编写上位机控制和接收程序。 天津。i :业人学硕十学伊论文 4 系统的工作原理是首先移植基于具体硬件功能的嵌入式l i n u x 操作系统到 系统平台中,针对使用的数码摄像头控制器芯片在操作系统中编写驱动程序实现 对摄像头的驱动,系统平台中操作系统启动后加载摄像头驱动,接着图像采集应 用程序实现对图像信号的采集,$ 3 c 2 4 4 0 再对采集到的图像数据进行j p e g 压缩, 压缩后的图像数据保存成文件的形式,最后运行网络通信程序把文件发送出去, 远端主机收到文件后可解压显示,同时也可通过网络对系统平台进行远程控制。 2 1 系统硬件设计 基于嵌入式技术的监控系统前端采用摄像头采集图像,并压缩编码成j p e g 格式,然后通过无线网络发送到监控中心。监控中心利用软件进行解码,在p c 机上进行显示和处理【2 1 1 。系统硬件结构如图2 2 所示。 5 天津i :业人学硕十学何论文 2 i i $ 3 c 2 4 4 0 处理器 图2 - 2 系统的硬件结构图 s a m s u n g 公司推出的这款3 2 位r i s c 处理器$ 3 c 2 4 4 0 是一款专为手持设备 而设计的芯片,具有极低的功耗和高速的处理计算能力,采用的是a r m 9 2 0 t 内 核【1 】【3 】。a r m 9 2 0 t 具有m m u 、a m b ab u s 和h a r v a r d 高速缓冲体系结构。该结 构具有独立的1 6 k b 指令c a c h e 和1 6 k b 数据c a c h e ,每个c a c h e 都由8 字长的 行构成【6 】【17 1 。 其体系结构的特点为: 1 6 3 2 位r i s c 体系结构和a r m 9 2 0 t 内核最强大的指令集。 加强的a r m 体系结构m m u 用于支持w i n c e ,e p o c 3 2 和l i n u x 。 指令存储缓冲器( i c a c h e ) ,数据存储缓冲器( d c a c h e ) ,写缓冲器和物理 地址t a gr a m 减少主存带宽和响应性带来的影响。 采用a r m 9 2 0 tc p u 内核支持a r m 调试体系结构。 内部高级微控制总线( a m b a ) 体系结构( a m b a 2 0 ,a h b a p b ) 。 系统管理器 支持快速总线模式和同步总线模式 寻址空间:每b a n k1 2 8 m 字节( 总共1 g 字节) 支持可编程的每b a n k8 1 6 3 2 位数据总线带宽 8 个存储器b a n k ,其中6 个适刚于r o m ,s r a m 和其他,另外两个适用于 r o m s r a m 和同步d r a m 所有的存储器b a n k 都有可编程的操作周期 支持外部等待信号延长总线周期 6 第二章系统的总体没计 支持从各种型号的r o m 引导和从n a n df l a s h 启动引导 d m a 控制器 4 通道的d m a 控制器 支持存储器到存储器,i o 到存储器,存储器到i o 和i o 到i o 采用猝发传输模式加快传输速率 工作频率 f c l k 最高达到4 0 0 m h z h c l k 最高达到1 3 6 m h z o p c l k 最高达到6 8 m h z 2 1 2c m o ss e n s o r 摄像头 a n c 网魔摄像头采用c m o s 图像传感器,动态像素为5 0 0 万像素,帧速为 3 0 帧秒,接口为u s b2 0 接口。c m o s 图像传感器是近些年发展较快的新型图 像传感器,由于采用了c m o s 技术,可以将像素阵列与外围支持电路( 如图像传 感器核心、单一时钟、所有的时序逻辑、可编程功能和模数转换器) 集成在同一 块芯片上,具有体积小、重量轻、功耗低、编程方便、易于控制等优点。对于手 持式设备来说,体积和功耗是进行软硬件设计时重点考虑的问题,因此c m o s 图像传感器应用在手持式设备当中将会有广阔的前景。 2 1 3s i m 3 0 0g p r s 模块 s i m 3 0 0 以小尺寸和低功耗实现语音、s m s 、数据和传真信息的高速传输。 s i m 3 0 0 同时兼容g s m 和g p r s 通信的功能【5 】。支持双频( g s m 9 0 0 g s m 18 0 0 ) , 支持数字、语音、短消息和传真。s i m 3 0 0 的数据输入输出接口实际上是一个串 行异步收发器,符合r s 2 3 2 接口标准,具有固定的传输参数:8 位数据位和1 位 停止位,无校验位,波特率在3 0 b p s 1 1 5 2 0 0 b p s 之间可选。集射频和基带电路于 一体,支持g s m 0 7 0 5 和g s m 0 7 0 7 所定义的a t 指令集。s i m 3 0 0 的优良性能使 其能够应用于如w l l 、m 2 m 、手持设备等许多领域。支持用户定制的m m i 和 键盘和l c d ,内嵌强大的t c p i p 协议栈,基于成熟可靠的技术平台,可满足本设计 的要求【3 0 】。 2 2 系统软件设计所要做的工作 嵌入式l i n u x 系统在软件上通常可以分为四个层次: 1 、引导加载程序,包括固化在固件中的b o o t 代码和b o o t l o a d e r 两大部分。 7 天津j i :业人学硕十学位论文 有些c p u 在运行b o o t l o a d e r 之前先运行一段固化的程序,比如x 8 6 结构的c p u 就是先运行b i o s 中的固件,然后才运行硬盘第一个分区中的b o o t l o a d e r 。在大 多数嵌入式系统中没有固件,b o o t l o a d e r 就是上电后执行的第一个程序。 2 、l i n u x 内核。特定于嵌入式板子的定制内核以及内核的启动参数。内核 的启动参数可以使内核默认的,或是由b o o t l o a d e r 传递给它的。 3 、文件系统。包括根文件系统和建立于f l a s h 内存设备之上的文件系统。 里面包含了l i n u x 系统能够运行所必须的应用程序、库等。 4 、用户应用程序。特定于用户的应用程序,它们也存储在文件系统中。有 时在用户程序和内核之间可能还会包括一个嵌入式图形用户界面。 软件设计主要包括嵌入式操作系统以及用户应用程序,也就是嵌入式l i n u x 操作系统环境的建立以及在此系统下进行应用程序的开发。 第二章构建嵌入式l i n u x 系统 第三章构建嵌入式l i n u x 系统 3 1 嵌入式l i n u x 系统概述 简单地说,l i n u x 是一套免费使用和自由传播的类u n i x 操作系统,它主要 用于基于i n t e lx 8 6 系列c p u 的计算机上。这个系统是由全世界各地的成千上万 的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世 界都能自由使用的u n i x 兼容产品。l i n u x 的出现,最早丌始于一位名叫l i n u s t o r v a l d s 的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是 想设计一个代替m i n i x ( 是由一位名叫a n d r e wt a n n e b a u m 的计算机教授编写的 一个操作系统示教程序) 的操作系统,这个操作系统可用于3 8 6 、4 8 6 或奔腾处 理器的个人计算机上,并且具有u n i x 操作系统的全部功能,因而开始了l i n u x 雏形的设计。 l i n u x 以它的高效性和灵活性著称。它能够在p c 计算机上实现全部的u n i x 特性,具有多任务、多用户的能力。l i n u x 是在g n u 公共许可权限下免费获得 的,是一个符合p o s i x 标准的操作系统。l i n u x 操作系统软件包不仅包括完整的 l i n u x 操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还 包括带有多个窗口管理器的x w i n d o w s 图形用户界面,如同我们使用w i n d o w s n t 一样,允许我们使用窗口、图标和菜单对系统进行操作。 l i n u x 之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于 自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自 己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因 是,它具有u n i x 的全部功能,任何使用u n i x 操作系统或想要学习u n i x 操作系 统的人都可以从l i n u x 中获益【9 】【l o 】。 3 2u - b o o t 简介及其移植 系统上电之后,需要一段程序来进行初始化:关闭w a t c h d o g 、改变系统 时钟、初始化存储控制器、将更多的代码复制到内存中等。简单的说,b o o t l o a d e r 就是这么一段程序,它在系统上电时开始执行,初始化硬件设备,准备好软件环 境,最后调用操作系统。可以增强b o o t l o a d e r 的功能,比如增强网络功能、从p c 上通过串口或网络下载文件、烧写文件、将f l a s h 上压缩的文件解压后再运行等, 9 天津i :业人学硕十学位论文 这就是一个功能更强大的b o o t l o a d e r 。b o o t l o a d e r 的实现非常依赖于具体的硬件, 在嵌入式系统中硬件配置千差万别,即使是相同的c p u ,它的外设也可能不同, 所以不可能有一个b o o t l o a d e r 支持所有的c p u ,所有的电路板,因此需要进行一 些移植。 本文采用的b o o t l o a d e r 为u b o o t 。u b o o t 是一个庞大的公开源码的软件。他 支持一些系列的a r m 体系,包含常见的外设的驱动,是一个功能强大的板极支持 包。其代码可以从h t t p :s o u r c e f o r g e n e t p r o j e c t s u b o o t 下载。u - b o o t 是一个o p e n s o u r c e 的b o o t l o a d e r 。u b o o t 是在p p c b o o t 以及a r m b o o t 的基础上发展而来,相当 的成熟和稳定,由于其开发源代码,其支持的开发板众多,已经在许多嵌入式系 统开发过程中被采用。它具有如下特性: 开放源码 支持多种嵌入式操作系统内核,如l i n u x 、n e t b s d 、v x w o r k s 、q n x 支持多个处理器系列,如p o w e r p c 、a r m 、x 8 6 、m i p s 、x s c a l e 较高的可靠性和稳定性 高度灵活的功能设置,适合u - b o o t 调试、操作系统不同引导要求、产品发 布等。 丰富的设备驱动源码,如串口、以太网、s d r a m 、f l a s h 、l c d 、n v r a m 、 e e p r o m 、r t c 、键盘等。 支持n f s 挂载、从f l a s h 中引导压缩或非压缩系统内核。 支持目标板环境变量多种存储方式 上电自检功能:s d r a m 、f l a s h 大小自动检测,s d r a m 故障检测,c p u 型号。 3 2 1u b o o t 启动过程 u b o o t 的启动分为两个阶段。第一阶段使用汇编来实现,它完成一些依赖于 c p u 体系结构的初始化,并调用第二阶段的代码;第二阶段通常使用c 语言来 实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和可移植性。 这两个阶段完成的功能可以如下分类。 l 、第一阶段的功能: 硬件设备初始化 为加载u b o o t 第二阶段代码准备r a m 空间 复制u b o o t 的第二阶段代码到r a m 空间中 设置好堆栈 跳转到第二阶段代码的c 入口点 在第一阶段进行的硬件初始化一般包括:关闭w a t c h d o g 、关中断、设置 1 0 第三章构建嵌入式l i n u x 系统 c p u 的速度和时钟频率、r a m 初始化等。 2 、第二阶段的功能: 初始化本阶段要使用到的硬件设备 监测系统内存映射 将内核映像和根文件系统映像从f l a s h 上读到r a m 空间中 为内核设置启动参数 调用内核 为了方便开发,至少要初始化一个串口,以便输出打印信息。所谓检测内存 映射,就是确定板上使用了多少内存、它们的地址空间是什么。 3 2 2u b o o t 移植 开发板s m d k 2 4 1 0 的配置适用于大多数$ 3 c 2 4 1 0 丌发板,或是只需要极少的 修改即可使用。但是目前u - b o o t 中没有对$ 3 c 2 4 4 0 的支持。需要自己移植。 本文移植的u b o o t 版本为u - b o o t l 3 4 ,移植使用非n a n d 1 e a g c y 方法,移植 好的u 。b o o t l 3 4 功能除了基本功能外,加上了y a f f s 映像的烧写功能,加入了从 n a n d f l a s h 启动的功能,在往n a n d f l a s h 写入数据时,可以显示进度。在使用上要 注意使用n a n dw r i t e y a f f s 命令写入y a f f s l 映像时,文件长度参数一定要与y a f f s 映像的大小完全一致,否则有可能产生坏块。本文的开发环境是f e d o r a l 0 ,交叉 编译器是a r m 1 i n u x g c c 3 4 1 。 移植的过程分为以下几个阶段: l 、第一阶段任务是在u b o o t 系统中,建立起自己的开发板体系。首先建立 u t u 2 4 4 0 板的体系。方法如下: ( 1 ) 打开u b o o t 主目录下的m a k e f i l e ,找到s m d k 2 4 1 0c o n f i g ,在其下,仿 照它的格式加入如下语句 u t u 2 4 4 0 _ e o n f i g :u n c o n f i g $ ( m k c o n f i g ) $ ( :印n f i g = ) a r ma r m 9 2 0 tu t u 2 4 4 0n u l l s 3 c 2 4 x 0 各项的意思如下: a r m - c p u 的架构( a r c h ) a r m 9 2 0 t :c p u 的类型( c p u ) ,其对应于c p u a r m 9 2 0 t 子目录。 u t u 2 4 4 0 :开发板的型号( b o a r d ) ,对应于b o a r d u t u 2 4 4 0 目录。 n u l l :开发者或经销商( v e n d e r ) 。 s 3 c 2 4 x o :片上系统( s o c ) 。 此步是为了加入自已的开发板,非必须也可以在现有的开发板基础上修改。 ( 2 ) 修改c r o s sc o m p i l e 为自己的a r mg c c 编译器 天津1 :业人学硕十学位论文 ( 3 ) 在b o a r d 子目录中建立自己的开发板u t u 2 4 4 0 目录,然后,将s m d k 2 4 1 0 目录下的文件考入此目录中。并将其中的s m d k 2 4 1 0 c 改名为u t u 2 4 4 0 c o 修改自 己的开发板u t u 2 4 4 0 目录下的m a k e f i l e 文件, c o b j s:= u t u 2 4 4 0 of l a s h o ( 4 ) 在i n c l u d e c o n f i g s 中建立配置头文件,将s m d k 2 4 1 0 的相应头文件复制 一份在相同目录下。并改名为u t u 2 4 4 0 h ( 5 ) 回到u b o o t 主目录,m a k eu t u 2 4 4 0,再,编译生成u config m a k eb o o tb i n 成功。 2 、本版u - b o o t 依然没有提供对$ 3 c 2 4 4 0 的支持,因此本阶段任务是加入 $ 3 c 2 4 4 0 相关的代码,使得u b o o t 可以在s 3 c 2 4 4 0 上正常工作。但没有增加任何 附加功能。 下面把主要修改的地方做一下介绍: ( 1 ) c p u 锄9 2 0 t s t a n s ( 加入$ 3 c 2 4 4 0 的时钟相关的寄存器定义,加入时 钟初始化代码,以使$ 3 c 2 4 4 0 工作在4 0 5 m h z ) ( 2 ) b o a r d u t u 2 4 4 0 l o w l e v e li n i t s ( 加入$ 3 c 2 4 4 0 内存控制寄存器的定义) ( 3 ) b o a r d u t u 2 4 4 0 u t u 2 4 4 0 c ( 修改g p i o ,p l l 的设置,应注意g p b c o n 的设置,不要让蜂呜器响) ( 4 ) i n c l u d e c o n f i g s u t u 2 4 4 0 h ( 设定环境变量) 以下文件主要加入c o n f i g $ 3 c 2 4 4 0 宏定义以使得编译一些$ 3 c 2 4 1 0 的代 码,和加入l e d 灯的控制。以指示u b o o t 程序进程。 i n l c u d e s 3 c 2 4 x 0 h c p u a r m 9 2 0 t s 3 c 2 4 x 0 i n t e n u p t s c ( 这里还要加入c o n f i q u t u 2 4 4 0 ) c p u a r m 9 2 0 t s 3 c 2 4 x o s e r i a l c c p u a r m 9 2 0 t s 3 c 2 4 x 0 s p e e d c c p u a r m 9 2 0 t s 3 c 2 4 x 0 u s b _ _ o h c i c c p u a r m 9 2 0 t s 3 c 2 4 x 0 u s b cc p u a r m 9 2 0 t s 3 c 2 4 x 0 i 2 c c d r i v e r s u s b u s b o h c i c d r i v e r s r t c s 3 c 2 4 x 0 一r t c c l i b a r m b o a r d c 编译成功。将u b o o t b i n 烧入n o r - f l a s h 即可运行。 为方便使用和u b o o t 的调试。要将此u b o o t 代码再做一下修改,使其可以 在内存中运行。这样,可以用开发板自带的u - b o o t 将其下载到内存中,再在内存 中运行u - b o o t 。为了在内存中运行,将u - b o o t 1 3 4 e p u a n n 9 2 0 t 中的s t a r t s 中 # i f n d e fc o n f i gs k i pl o w l e v e li n i t 1 2 第三章构建嵌入式l i n u x 系统 b l c p u _ i n i tc r i t # e n d i f 此段代码中的b lc p u注释掉,即不进行 的初始化工作( 此工作,_ i n i t c r i tc p u 当前在板子上运行的u b o o t 已完成,故不能再次进行) ,即改为 # i f n d e fc o n f i g s k i p l o w l e v e l i n i t b lc p ui n i t _ c r i t # e n d i f 修改b o a r d u t u 2 4 4 0 e o n f i g m k 中t e x tb a s e 值为0 x 3 3 0 0 0 0 0 0 使用u b o o t 命令l o a d0 x 3 3 0 0 0 0 0 00 x 1 7 e a 8 将u - b o o t b i n 装入内存。再用g o 0 x 3 3 0 0 0 0 0 0 命令,即可。 3 、移植u b o o t 的d m 9 0 0 0 网卡驱动。u b o o t 白带网卡驱动,所以只要做些 设置即可。在i n c l u d e c o n f i g s u t u 2 4 4 0 h 中加入d m 9 0 0 0 定义并加入p i n g 命令定义。 4 、移植n a n d f l a s h 驱动,此阶段工作仅是让u b o o t 可以操作读写n a n df l a s h 。 还不能让它从n a n df l a s h 启动。 首先,要说明一下c f gn a n dl e g a c y 的使用。在u - b o o t 的d r i v e r s m t d 下有两个目录,分别是n a n d 和n a n d _ l e g a c y 。在n a n d 目录下的是n a n d 的初始化 函数和n a n d 的操作读写函数,是使用l i n u x 的m t d 构架的。此目录下的文件,只 有在定义了c f gc m dn a n d 宏和没有定义c f gn a n dl e g a c y 宏的情况下 才会被编译。在n a n d _ l e a g c y 目录下的文件也是是实现n a n d 相关操作命令,如 r e a d ,w r i t e 等命令的功能,但不是使用l i n u x 的m t d 构架。此目录下的文件,只有 在定义了c f gc m dn a n d 和定义了c f gn a n dl e g a c y 宏的情况下才会定 义。此目录下的文件u b o o t 组织已不推荐使用。事实上,此版中,$ 3 c 2 4 1 0 构架 已不支持对n a n d _ l e a g c y ,因此,在移植中,是用的不定c f g n a n d l e g a c y 的方式,即非n a n d _ l e a g c y 方式。主要修改的地方主要有以下几点: ( 1 ) 在i n c l u d e c o n f i g s u t u 2 4 4 0 h 中加注0 段代码段,这段代码是让u b o o t 启用其自带n a n df l a s h 驱动,并设置相应的n a n df l a s h 参数。 ( 2 ) 改写c p u a r m 9 2 0 t s 3 c 2 4 x 0 n a n d c 中的部分内容( 此文件内是与芯片紧 密相关的代码) ,一是b o a r dn a n d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论