(通信与信息系统专业论文)基于omap5910的远程控制图象显示系统的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于omap5910的远程控制图象显示系统的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于omap5910的远程控制图象显示系统的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于omap5910的远程控制图象显示系统的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于omap5910的远程控制图象显示系统的设计与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(通信与信息系统专业论文)基于omap5910的远程控制图象显示系统的设计与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 随着社会的发展 嵌入式的应用在人们的生活当中扮演着越来越重要的角 色 但是 目前的嵌入式应用还是以单核处理器为主 即单独使用a r m p o w e r p c d s p 等处理器来进行相关处理 这样虽然可以节省成本 但是随着嵌 入式应用系统的大型化 存储空间而言 和复杂化 以及人们对处理质量的高要 求 单核处理器逐渐表现出力不从心 在这种形式下 t i 公司开发了双核处理 器 o m a p o m a p 体系结构的设计理念是 用a r m 来实现控制 用d s p 来处理数据 这种高效率 高质量既分工又协同工作的设计理念 越来越被人们 所认可 本论文提出了利用o m a p 处理器实现远程控制图象显示系统的设计方案 o m a p 5 9 1 0 芯片具有低功耗多接口的特点 是o m a p 5 9 1 0 平台的硬件核心 嵌 入式l i n u x 是o m a p 5 9 1 0 平台的操作系统 提供了o m a p 5 9 1 0 平台的各种外围 设备驱动 以太网控制器a x 8 8 7 9 6 用来实现o m a p 5 9 1 0 平台的以太网接口 3 5 寸t f t l c d 接口板l q 0 3 5 q 7 d b 0 2 用来实现o m a p 5 9 1 0 平台的l c d 显示接口 利用l i n u x 下的s o c k e t 编程机制和f r a m e b u f f e r 显示模式来实现网络命令传输程 序和图象显示程序 并且把应用程序移植到d a v i n e i d m 6 4 4 6 平台 实验结果表明 本设计方案可以实现一台p c 同时有选择地远程控制多台 o 脚5 9 1 0 平台实现图象显示的功能 在局域网环境下 命令和文件的传输速 度可以到达1 0 m b p s 在o m a p 5 9 1 0 平台上可以显示分辨率为2 4 0 3 2 0 象素 格式为r g b 5 6 5 的b m p 图像 在d a v i n c i d m 6 4 4 6 平台上可以显示分辨率为 1 6 0 0 1 2 0 0 象素格式为r g b 8 8 8 的立体图像 关键词 o m a p 5 9 1 0 嵌入式l i n u x 网络接口设备驱动 b m p 文件 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 es o c i e t y t h ea p p l i c a t i o no fe m b e d d e ds y s t e mh a s b e e na ni m p o r t a n tp a r to fp e o p l e sl i f e n o w m o s to ft h ee m b e d d e ds y s t e mi sb a s e d o ns i n g l e c o r ep r o c e s s o r s u c ha sa r m p o w e r p c a n dd s p 1 1 1 ea d v a n t a g eo ft h e s e d e v i c e si sl o wc o s t b u tt h e ya r en o tb ec o m p l e x q u i c ka n db i g m e m o r y e n o u g h s o t h a t1 1d e s i g na n dp r o d u c eo m a p o n ek i n do fd u a l c o r ep r o c e s s o r o n ec o r ei sa r m u s e df o rc o n t r o l t h eo t h e rc o r ei sd s pu s e df o rd a t ap r o c e s s i n g 1 1 1 i sp a p e rp r e s e n t sad e s i g nt oa c h i e v er e m o t e c o n t r o l l i n gi m a g ed i s p l a ys y s t e m b a s e do no m a p 5 910 皿eo m a p 5 910c h i pi st h ec o r eo ft h eo m a p 5 910p l a t f o r m s h a r d w a r e w h i c hi sl o wp o w e rc o s ta n dh a sm a n yi n t e r f a c e s e m b e d d e dl i n u xi st h e o p e r a t i n gs y s t e mo fo m a p 5 9 1op l a t f o r m w h i c hp r o v i d e sd r i v e r so ft h ep l a t f o r m s p e r i p h e r a ld e v i c e s a x 8 8 7 9 6i su s e dt oa c h i e v ee t h e m e ti n t e r f a c eo fo m a p 5 9 10 p l a t f o r ma n d3 5 i n c ht f t l c db o a r dl q 0 3 5 q 7 d b 0 2i su s e dt oa c h i e v el c d i n t e r f a c eo fo m a p 5 910p l a t f o r m a p p l i c a t i o no fc o m m a n dt r a n s m i s s i o na n di m a g e d i s p h ya r eb a s e do ns o c k e tp r o g r a m m i n ga n df r a m e b u f f e ru s i n go fl i n u x w h i c h n e e dt or e p l a n tt od a v i n c i d m 6 4 4 6 p l a t f o r m t h ee x p e r i m e n t a lr e s u l ts h o w st h a t o n ep cc a nr e m o t i n g c o n t r o ls o m e o m a p 5 910p l a t f o r m st od i s p l a yi m a g e sa to n et i m e u n d e rt h el a ne n v i r o n m e n t t h es p e e do ft r a n s m i s s i o no fc o m m a n d sa n df i l e sc a nc a t c hlo m b p s t h eb m p i m a g e w h o s er e s o l u t i o ni s2 4 0 奉3 2 0 a n dc o l o ri sr g b 5 6 5c a l lb ed i s p l a y e do no m a p 5 9 10 p l a t f o r m t h es t e r e oi m a g ew h o s er e s o l u t i o ni s 16 0 0 幸12 0 0 a n dc o l o ri si 己 i b 8 8 8c a n b ed i s p l a y e do nd a v i n c i d m 6 4 4 6 p l a t f o r m k e yw o r d s o m a p 5 910 e m b e d d e dl i n u x n e t w o r ki n t e r f a c ed e v i c ed r i v e r b m p f i l e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果 除了文中特别加以标注和致谢之处外 论文中不包含其他人已经发表 或撰写过的研究成果 也不包含为获得丞鲞盘堂或其他教育机构的学位或证 书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意 学位论文作者签名 孝媳 签字日期 2 唧年莎月 f 日 学位论文版权使用授权书 本学位论文作者完全了解基鲞盘堂有关保留 使用学位论文的规定 特授权墨鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索 并采用影印 缩印或扫描等复制手段保存 汇编以供查阅和借阅 同意学校 向国家有关部门或机构送交论文的复印件和磁盘 保密的学位论文在解密后适用本授权说明 学位论文作者签名 彼雾 签字日期 胛年 月 垆日 名 2 裕牵 蝴期 吖年侈晰日 第一章绪论 1 1 引言 第一章绪论 o m a p o p e nm u l t i m e d i a a p p l i c a t i o n sp l a t f o r m 是美国德州仪器公司 t i 推出的专门为支持第三代 3 g 无线终端应用而设计的应用处理器体系结构 o m a p 处理器提供了语音 数据和多媒体所需的带宽和功能 可以在极低的功 耗条件下为高端3 g 无线设备提供极佳的性能 o m a p 嵌入式处理器系列包括应 用处理器及集成的基带应用处理器 目前已广泛应用于p d a w e b 记事本 远 程通信 医疗器械等领域 o m a p 5 9 1 0 是o m a p 系列的最新成员 它采用 a r m d s p 双内核架构 具有新一代增强型多媒体应用所需的实时性能与更低功 耗 并具有极强的数据处理能力和逻辑运算能力 在移动通信与多媒体信号处理 及p d a 方面有良好的开发和应用前景 本论文阐述了利用0 m a p 5 9 1 0 的网络传输和多媒体信号处理功能来完成网 络命令传输和图象显示应用的设计方案 该设计方案主要包含两个方面的功能 远程控制和图象显示 所谓远程控制 就是客户端p c 和服务器端o m a p 5 9 1 0 平台连接之后 用户将相应的命令从客户端传送到服务器端 然后服务器端接收 并执行相应的命令 所谓图象显示 就是在o m a p 5 9 1 0 平台上显示b m p 图像文 件 另外 基于o m a p 5 9 1 0 平台的应用程序可以移植到d a v i n c i d m 6 4 4 6 平 台 从而得到更为广泛的应用 1 2 本文的主要贡献和完成的工作 本文阐述了基于o m a p 5 9 1 0 的远程控制图象显示系统的设计方案和实现过 程 主要论述了如何设计o m a p 5 9 1 0 平台 以及如何在平台上实现网络传输和 图象显示的应用 本文分析了o m a p 5 9 1 0 芯片的特点和优点 给出了设计中选 择这一款芯片的理由 论述了如何构建适用于o m a p 5 9 1 0 平台的嵌入式l i n u x 操作系统 本文着重分析了o m a p 5 9 1 0 平台的以太网接口和l c d 接口的软硬件 实现 以及网络传输和图象显示两个应用程序的实现 另外 本文还给出了应用 程序移植中需要注意的问题 第一章绪论 本论文的工作主要分为三个方面 1 构建o m a p 5 9 1 0 平台 主要任务包括 构建适用于o m a p 5 9 1 0 平台的嵌入式l i n u x 操作系统 o m a p 5 9 1 0 平台的网络模块的设计 包括硬件电路的设计和基于 l i n u x 操作系统的以太网控制芯片的驱动程序的实现 o m a p 5 9 1 0 平台的l c d 模块的设计 包括硬件电路的设计和基于 l i n u x 操作系统的l c d 控制器的驱动程序的实现 2 在o m a p 5 9 1 0 平台上实现网络传输 图象显示 f t p 断点续传三个应用 程序 利用s o c k e t 编程 通过以太网 实现 一对多 的命令传输 编写在o m a p 5 9 1 0 平台上的b m p 文件显示程序 利用l i n u x 的f t p 工具实现断点续传功能 3 将基于o m a p 5 9 1 0 平台的应用程序移植到d a v i n e i d m 6 4 4 6 平台 平 厶 口 最终实现的 基于o m a p 5 9 1 0 的远程控制图象显示系统 的结构大致如下 多台o m a p 5 9 1 0 平台分置于局域网中的不同地点 它们作为服务器 启动后等 待客户端的连接 用户面对的是一台p c 它作为客户端 实际应用中 用户启 动p c 客户端的连接程序 使得客户端向某个或者某几个o m a p 5 9 1 0 平台发起连 接并建立连接 然后发送用户的命令到各个服务器 服务器接收到命令后执行之 命令主要有两个 一个是在本地显示b m p 格式的图像 另一个是从p c 下载指 定的b m p 文件到本地 本系统的架构如图1 1 所示 图1 1 基于o m a p 5 9 1 0 的远程控制图象显示系统架构图 第一章绪论 1 3 论文结构 本文的结构如下 第一章 绪论 主要介绍了本论文的主要贡献和完成的工作 第二章 o m a p 5 9 1 0 和嵌入式l i n u x 简单地介绍了o m a p 5 9 1 0 的软硬件 结构 重点突出了它的优点和本设计方案选择它的原因 详细地阐述了如何构建 一款适用于o m a p 5 9 1 0 的嵌入式l i n u x 操作系统 涉及到g c c 编译器 l i n u x 内 核裁减与编译 根文件系统的建立 b o o t l o a d e r 等内容 第三章 o m a p 5 9 1 0 平台的网络模块的设计 详细地介绍了基于o m a p 5 9 1 0 平台的以太网接口的硬件和软件的实现 其中对l i n u x 系统下的设备驱动程序的 相关概念和开发方法做了较为深入的分析 第四章 o m a p 5 9 1 0 平台的l c d 模块的设计 介绍了基于o m a p 5 9 1 0 的 l c d 接口的硬件和软件的实现 第五章 系统的应用程序的实现及其移植 详细地介绍了网络传输程序和 b m p 文件显示程序的设计 涉及到s o c k e t 编程 l i n u x 的网络体系结构 b m p 文件格式 l i n u x 系统调用等内容 另外 还给出了应用程序移植中应该注意的 问题 第六章 总结和展望 对本文所作的工作进行了总结 并对远程控制图象显 示系统的进一步开发和完善提出了展望 第二章0 m a p 5 9 1 0 和嵌入式l i n u x 第二章o m a p 5 9 1 0 和嵌入式l i n u x o m a p 5 9 1 0 平台分为硬件和软件两部分 o m a p 5 9 1 0 芯片是平台硬件的核心 部分 嵌入式l i n u x 系统是平台的软件环境 2 1o m a p 5 9 1 0 介绍 2 1 1o m a p 5 9 1 0 的基本特性 1 2 移动通信的发展对数字信号处理芯片提出了越来越高的要求 传统的d s p 芯片已经不能胜任 为了满足移动通信和多媒体领域新应用的需要 德州仪器公 司提出了开放式多媒体应用平台o m a p 体系结构 并为此设计了o m a p 芯片 o m a p 5 9 1 0 是o m a p 家族中较典型 较先进的一款 o m a p 5 9 1 0 采用独特的双核结构 把高性能低功耗的d s p 核与控制性能很 强的a r m 微处理器结合起来 具有集成度高 硬件可靠性和稳定性强 速度快 数据处理能力强 功耗低 开放性好等优点 o m a p 5 9 1 0 双核结构的主要优势在于 由两个独立的组件来完成应用处理 任务 其中m p u 子系统负责支持应用操作系统并完成以控制为核心的应用处理 而d s p 部分则负责完成多媒体信号 如音频 语音和图像 视频信号 的处理 与 单核结构相比 双核架构的一个明显优势就是可以使操作系统的效率和多媒体代 码的执行更加优化并延长电池寿命 同时采用双处理器可以将总工作负荷进行合 理划分 从而降低时钟工作频率 使系统的功耗降至最低 成功地实现了性能与 功耗的最佳组合 2 1 1 1o m a p 5 9 1 0 硬件功能模块 o m a p 5 9 1 0 采用2 8 9 管脚b g a 封装 其硬件功能模块包括m p u 子系统 d s p 子系统 存储器管理单元 t c 直接存储器访问单元 d m a 两级中断管理器及 丰富的外围接口等 其硬件架构如图2 1 所示 其中d s p 核 a r m 核以及存储器 管理单元 t c 这三个部分可以独立地进行时钟管理 从而有效地控制功耗 下面 简要介绍几个主要的功能模块 3 第二章o m a p 5 9 1 0 和嵌入式l i n u x r 丽溽丽 南爹融i 1 9 2 k bs r a m 内部存簧 外部快速存l 外部慢遵存 嚣接口l锫器接口 储嚣接口 存储器接口和交通控制嚣lt r a f f i cc o n t r o l l e rl d s p m m u 指令缀冲 m p u 接口 g a r a m o a r a m d s p 榱 d s p d m a 外设总线 y p 泣 m c b s p m c s i u a r t m p u i o g p i o m m c s d u s b 二c a m e r ai f i外设i o o 图2 1o m a p 5 9 1 0 硬件结构图 1 m p u 子系统 m p u 子系统中的t i 增强型a r m 9 2 5 核 是删埘s c 体系结构的先进代 表 工作主频为1 7 5 m h z 它包括存储器管理单元 1 6 k 字节的高速指令缓冲存 储器 8 k 字节的数据高速缓冲存储器和1 7 字的写缓冲器 片内有1 9 2 k 字节的 内部s r a m 可为液晶显示器等应用提供大量的数据和代码存储空间 a r m 9 2 5 核共有1 3 个内部中断和1 9 个外部中断 采用两级中断管理 此外 核内还有a r m c p l5 协处理器和保护模块 2 d s p 子系统 d s p 子系统中的c 5 5 xd s p 具有极佳的功耗性能比 工作主频为2 0 0 m h z 它支持无线网络传输与语音数据处理等工作 能提供高效率的数据处理能力 c 5 5 xd s p 采用了三项关键的革新技术 增大的空闲省电区域 变长指令 扩大 的并行机制 其结构针对多媒体应用做了高度优化 适合低功耗的实时语音图像 处理 c 5 5 xd s p 还新增了图像位移预测 离散余弦变换 反变换和1 2 像素插值 的视频硬件加速器 从而可以提高数据处理速度 降低视频处理功耗 此外 核 内还包括3 2 k 字的双存取s r a m 4 8 k 字的单存取s r a m 1 6 k 字的片内r o m 和1 2 k 字的高速指令缓存 3 存储器管理单元t c 存储器管理单元t c 管理着m p u d s p d m a 以及局部总线对o m a p 5 9 10 o m a p 5 9 1 0 内棱结拇 第二章0 m 3 5 9 1 0 和嵌入式l i n u x 系统存储资源 如s r a m s d r a m f l a s h r o m 等 的访问 它的主要功能是 确保处理器能够高效访问外部存储区 并避免产生瓶颈现象而降低片上处理速 度 t c 通过三种不同的接口支持处理器或d m a 单元对存储器的访问 即 e m i f s e m i f f 和i m i f 其中e m i f s 接口提供对f l a s h s r a m 和r o m 的 访问 e m i f f 接口提供对s d r a m 的访问 i m i f 接口提供对o m a p 5 9 1 0 片内1 9 2 k 字节s r a m 的访问 三个接口是完全独立的 从任何一个处理器或d m a 单元 都可以同时访问 在o m a p 5 9 1 0 平台的网络模块的设计中 就是利用了它的 e m i f s 接口来实现o m a p 5 9 1 0 的以太网接口功能 4 d m a 和外围接口 o m a p 5 9 1 0 微处理器有9 个独立通道和7 个接收 发送端口的d m a 控制器 d m a 控制器可响应内部和外部设备的请求 在m p ut 1 9 2 5 t a r m 9 t d m i 运行 条件下 完成外部寄存器 内部寄存器和外部设备之间的数据传输 系统d m a 的设置取决于m p ut 1 9 2 5 t a r m 9 t d m i 内核 此外 o m a p 5 9 1 0 微处理器还有一个独立的d m a 通道供l c d 控制器专用 l c d 控制器提供了支持被动彩色方式s t n 伪彩色 和主动彩色方式t f t 真彩色 显屏接口 并支持被动单色s t n 格式 o m a p 5 9 1 0 拥有自己专用的通道d m a 控制器来控制面板的显示 在后面的o m a p 5 9 1 0 平台的l c d 模块设计中 会详 细介绍这方面的内容 除l c d 控制器外 o m a p 5 9 1 0 片内还集成了其它的丰富的外围接口 如 通 用异步收发器 u a r t 脉宽音频发生器 存储器接口 摄像机接口 1 2 c 主机 接口 串行接口 主客户机u s b 口 安全数字多媒体卡控制器接口 红外接口 键盘接口等等 2 1 1 2o m a p 5 910 的软件架构 4 o m a p 5 9 1 0 的软件结构建立在两个操作系统之上 一是基于a r m 的 w i n d o w sc e l i n u x 等操作系统 二是基于d s p 的d s p b i o s 连接两个操作系 统的核心技术是d s p b i o s 桥 它是使用o m a p 5 9 1 0 的关键 对于软件开发者 来说 d s p b i o s 桥提供了一种使用d s p 的无缝接口 允许开发者在g p p 通用 处理器 上使用标准应用编程接口访问并控制d s p 的运行环境 利用t i 公司的 c c s 集成开发环境 从开发者的角度来看 o m a p 好像仅用g p p 处理器就完成 了所有处理功能 这样 开发者就不需要为两种处理器分别编程 这使编程工作 大为简化 在o m a p 体系结构下 开发者可以像对待单个g p p 那样对o m a p 的双处理器平台进行编程 而在开发多媒体应用程序时 也可以通过标准的多媒 体应用编程接口似ma p t 使用多媒体引擎 从而方便了应用程序的开发 多媒 第二章0 m a p 5 9 1 0 和嵌入式l i n u x 体引擎对相关的d s p 任务通过d s p 应用编程接口 d s p a p i 使用d s p b i o s 桥 最后由d s p b i o s 桥对数据 f o 流和d s p 任务控制进行协调 对于软件开发者而言 所有的o m a p 处理器都支持基于移动设备操作系统 的标准a p i 处于系统底层的o m a p 处理器对开发者是透明的 因为他们只需 按照自己的习惯对这些a p i 编程 o m a p 的编程者也不必了解复杂的器件层编 程方式 因为d s p b i o s 桥可以将操作系统的a p i 中的实时处理任务无缝地传递 给d s p 核 具体的处理过程对于缺乏d s p 编程经验的开发人员是透明的 这是 o m a p 处理器的主要优点之一 2 1 2o m a p 5 9 1 0 的突出优点 脚5 9 1 0 的主要优点如下 1 低功耗 采用a r m d s p 的双核结构 a r m 主要用来实现对整个系统 的控制 包括 运行操作系统 界面控制 网络控制和d s p 数据处理的控制 d s p 则负责完成多媒体信号的高效处理 包括文本 音频 视频等 单纯使用 a r m 的话 不可能在提供必需的信号处理能力的同时 又使得功耗很低 所以 在系统中引入了专门从事数字信号处理并且功耗很低的d s p d s p 能以更小的 功耗更快地执行更多的操作 低功耗为o m a p 广泛地应用于无线终端设备提供 了更好的条件 2 高性能 在a r m 对整个系统控制的同时 利用d s p 来处理跟音频 视 频有关的多媒体数据 改善了基本的无线电话的通话质量 有效地执行回声对消 和噪声抑制算法 从而在复杂环境下更好地实现语音识别功能 真正实现了多媒 体的多任务操作一一可以在流畅地播放多媒体文件的同时保证高质量的通话功 能 3 多接口 o m a p 5 9 1 0 芯片具有丰富的外围接口 这些丰富的外围接口 使o m a p l 5 1 0 可以实现多种功能的扩展 从而得到广泛的应用 2 1 3 为什么选择o m a p 5 9 1 0 前面对o m a p 5 9 1 0 的硬件 软件接口 应用领域和突出优点做了一些简要 的介绍 在这些介绍中均触及到了选择这一款芯片的原因 在本章的最后 条理 地给出本系统选择o m a p 5 9 1 0 的原因 主要是以下三个方面 1 o m a p 和d a v i n c i 同为n 公司的产品 同为a r m d s p 的双核结构 在 某种意义上可以说 d a v i n c i 是o m a p 的升级版本 所以 在o m a p 上实现的 系统在d a v i n e i 上肯定能够实现 并且移植也会比较简单 同时 在o m a p 应用 过程中积累的经验对d a v i n c i 的应用具有很好的指导作用 第二章0 m a p 5 9 1 0 和嵌入式l i n u x 2 前面多次提到 o m a p 5 9 1 0 具有丰富的外围接口 o m a p 5 9 1 0 包含了串 口 存储器接口 i d e 硬盘接口 网口 l c d 控制器接口等各种接口 完全满 足图象显示系统的功能要求 3 o m a p 5 9 1 0 是o m a p 系列中最典型的一款 它不仅可以满足图象显示系 统的所有功能 而且去除了一些不必要的扩展 在不显得多余的同时节省了成本 另外 该款芯片在市场上比较容易买到 2 2 嵌入式l i n u x 5 o m a p 5 9 1 0 平台的软件环境是嵌入式l i n u x 操作系统 为什么要选择l i n u x 操作系统昵 主要基于如下三个原因 1 o m a p 5 9 1 0 支持l i n u x 操作系统 2 l i n u x 操作系统具有源代码开发的特性 可以对其内核 特别是驱动程 序部分进行适当的修改从而支持特定的设备 而这些设备正是o m a p 5 9 1 0 平台 所使用的设备 比如 平台的网络控制器是a x 8 8 7 9 6 它的驱动程序就是对l i n u x 内核原有的以太网控制器8 3 9 0 的驱动程序 8 3 9 0 c 修改所得到的 3 符合嵌入式系统对操作系统体积的要求 因为l i n u x 在编译的时候不仅 可以添加必需的驱动模块 也可以将不用的驱动 文件系统等模块删除掉 经过 修剪的l i n u x 内核加上相应的根文件系统最终编译而成的适用于o m a p 5 9 1 0 的 嵌入式l i n u x 系统 文件v m l i n u x o u t 的大小在3 m 左右 完全可以满足嵌入 式的需要 最终的o m a p 5 9 1 0 平台的f l a s h 的大小是4 m l i n u x 系统要想运行在o m a p 5 9 1 0 平台上 必须经过一个构建和编译的过 程 构建 指的是组织l i n u x 内核 l i n u x 文件系统以及b o o f l o a d e r 程序 编 译 则是在交叉编译工具下生成可以在o m a p 5 9 1 0 平台上运行的目标文件 2 2 1 交叉编译 o j 构建嵌入式l i n u x 系统 必须要有交叉编译工具 交叉编译就是在一个平台上生成能够在另一个平台上运行的代码 这里的平 台 包含两个概念 体系结构 a r c h i t e c t u r e 和操作系统 o p e r a t i n gs y s t e m 在嵌入式开发中 交叉编译是必不可少的 为什么呢 因为一般的编译工具需要 很大的存储空间 并需要很强的c p u 运算能力 而嵌入式硬件平台的存储空间 和运算能力都是有限的 所以在类似于a r m 这样的嵌入式硬件上无法安装并运 行编译器 因此只能把编译器安装到p c 宿主机 上 这样 希望运行在嵌入 式目标机上的程序就必须在p c 上进行编译 生成可在目标机上运行的目标代码 第二章o m a p 5 9 1 0 和嵌入式l i n u x 而安装在p c 上的编译工具就是交叉编译工具 就本系统的开发过程而言 需要交叉编译的阶段有两个 首先 在起始阶段 目标平台尚未建立 因此需要做交叉编译 以生成本系统所需要的b o o t l o a d e r 启 动引导代码 以及操作系统核心 其次 当目标平台启动之后 由于目标平台上 资源的限制 当本系统编译应用程序时 依然需要用到交叉编译 这里的交叉编 译工具是安装在p c 机上的 编译生成的目标文件可运行在0 m a p 5 9 1 0 平台上 交叉编译工具链主要分为三个部分 包含编译器 链接器 汇编器在内的二 进制工具 内核头文件和库文件 主要是g l i b e 交叉编译工具链的创建需要内 核头文件的选择与设置 编译器的设置 链接库的设置 二进制功能程序包的设 置等等的操作 2 2 2 构建嵌入式l i n u x 系统 构建嵌入式l i n u x 系统的过程大致分为三个方面 配置及建立内核 建立根 文件系统 配置引导软件 2 2 2 1 配置及建立内核 内核版本选择l i n u x 2 4 2 1 在建立内核的过程中 主要的工作就是写一个 合适的m a k e f i l e 文件 内核的编译包括以下几个步骤 建立内核源码的依存关系 建立内核映像 建立内核模块 1 首先建立依存关系 m a k ea r c h a r mc r o s sc o m p i l e a r m 1 i n u x c l e a n d e p 2 接着建立内核映像 m a k ea r c h a r mc i 的s sc o m p i l e a r m l i n u x z l m a g e z l m a g e 这个建立目标用来指示m a k e f i l e 建立经g z i p 算法压缩过的内核 映像 对应的v m l i n u x 这个建立目标用来指示m a k e f i l e 建立未经压缩的映像 在 x 8 6 上 还可以使用b z l m a g e 这个建立目标 b z l m a g e 是b i gz l m a g e 的简写 它 与b z i p 2 压缩工具程序无关 z l m a g e 和b z l m a g e 两个建立目标都是使用g z i p 算法 差别在于z l m a g e 产生的经压缩的内核映像无法超过5 1 2 k b 而b z l m a g e 则不受 这个限制 3 然后建立内核模块 m a k ea r c h a r mc i 的s sc o m p i l e a r m l i n u x m o d u l e s 模块部分不是被链接成主内核映像的一部分 而是建立成模块的内核 选项 m e n u c o n f i g 选项 m a k ea r c h a r mc r o s sc o m p i l e a r m 1 i n u x d i s t c l e a n 用于清除前面几个阶段产生的文件 包括 c o n f i g 文件 所有目标文件 以及内核映像 内核编译完成后 需要将内核安装到目标板上 对每个内核配置来说 需要 第二章 劓 a p 5 9 1 0 和嵌入式l i n u x 复制四个档案 压缩的内核映像 比如 z l m a g e 未压缩的内核映像 比如 v m l i n u x 内核符号映射文件 s y s t e m m a p 以及配置文件 e o n f i g 2 2 2 2 建立根文件系统 l i n u x 内核在系统启动期间进行的最后操作就是安装根文件系统 根文件系 统的项层目录主要包括 b i n 必要的用户命令 迸制文件 b o o t 引导加载程序使用的静态文件 d e v 设备文件和其它特殊文件 e t e 系统配置文件 包括启动文件 l i b 必要的链接库 例如c 链接库 内核模块 p r o e 用来提供内核与进程信息的虚拟文件系统 s b i n 必要的系统管理员命令 二进制文件 t m p 暂时性的文件 u s r 在第二层包含对大多数用户都有用的大量应用程序和文件 包括x 服务器 v a t 监控程序和工具程序所存放的可变数据 b o o t 根据引导加载程序和它的配置情况 可能不需要 b o o t 目录 这取 决于引导加载程序是否会在内核被启动之前从根文件系统取回内核映 像 l i n u x 根文件系统的创建过程主要表现在命令集的选择和安装 配置文件的 设置等方面 下面对其中的关键概念和主要操作作一下介绍 1 b u s y b o x l i n u x 具有丰富的命令集 但是 标准的工作站或服务器发行 套件都配备有数以千计的二进制命令文件 开发者却没有能力逐一交叉编译这么 多二进制文件 而且大多数嵌入式系统也不需要这么多二进制文件 为了给嵌入 式系统打造一个数量较小 功能较简单的命令集 提出两种做法 要么只挑选若 干标准命令 要么尽可能将命令集浓缩成只是实现必要功能的极少数应用程序 针对第二种做法 最常用的套件是b u s y b o x b u s y b o x 是一个小型的命令集 以 一个极小型的应用程序来提供整个命令集的功能 它几乎实现了一般的所有命 令 但是并不支持这些命令的所有选项 只提供一般命令的一些必要选项 一般 用于嵌入式 b u s y b o x 程序在目标板根文件系统上只安装了一个二进制文件 b i n b u s y b o x 该二进制文件不会直接调用 而是通过指向它的符号链接间接调 用的 这些符号链接将会出现在可以找到执行文件的所有目录中 b i n s b i n u s r b i n 和 u s d s b i n 键入一个命令 便会在以上的四个目录中找对应的符号链接 第二章o m a p 5 9 l o 和嵌入式l i n u x 找到后链接至i b i n b u s y b o x 二进制文件 然后根据传递的参数命令执行对应的进 程 2 启动时的配置 内核最后一个初始化动作就是启动i n k 程序 此程序在 终结系统启动程序之前会衍生各种应用程序 并且启动若干关键的软件组件 欲 使用安装在目标根文件系统上的i n i t 需要加入适当的 e t e i n i t t a b 文件 该文件主 要是在系统初始化时完成一些配置工作 比如分配口地址 挂载必要的设备文 件等等 最终的l i n u x 文件系统的i n i t t a b 文件的主要内容如下 w a i t b i n m o u n t tp r o ep r o c p r o c w a i t s b i r d i f e o n f i gl o1 2 7 0 0 1 w a i t s b i n i f c o n f i ge t h o2 0 2 1 l 3 2 6 6 w a i t b i r d m o u n t tv f a t d e v m m c a l m m cu m a s k o i o c h a r s e t g b 2 31 2 c o d e p a g e 9 3 600 o n c e m m c b i n n a n o x o n c e m m c b i n n x s c r t o p r e s p a w n b i n s h e d r o o t l i j i a n h u i s o c k e t t e r m i n a l 培 3 r a m d i s k 根文件系统选择运行在r a m d i s k 上 所谓的r a m d i s k 就是一个 内存块 作为一个盘分区来使用 或者说将内存模拟为硬盘空间 从而可以像对 待硬盘空间一样在其上保存文件 使用r a m d i s k 主要是为了提高访问速度 2 2 2 3 引导软件的设置 7 对于计算机系统来说 从开机上电到操作系统启动需要一个引导过程 嵌入 式l i n u x 系统同样离不开引导过程 这个引导软件叫做b o o t l o a d c r 在嵌入式系 统中 b o o t l o a d e r 的作用与p c 机上的b i o s 类似 通过b o o t l o a d e r 可以完成对 系统板上的主要部件如c p u s d r a m f l a s h 串口 网卡等进行初始化 也可 以下载文件到系统板上 对f l a s h 进行擦除与烧写 当运行操作系统时 它会在 操作系统内核运行之前运行 通过它 可以分配内存空间的映射 从而将系统的 软硬件环境带到一个合适的状态 以便为最终调用操作系统准备好正确的环境 支持a r m 平台的b o o t l o a d e r 中 应用最广泛的是u b o o t 针对o m a p 5 9 1 0 的特点 对u b o o t 作适当的修改 就可以成为o m a p 5 9 1 0 的b o o t l o a d e r 程序 u b o o t 的源码是通过g c c 和m a k e f i l e 组织编译的 顶层目录下的m a k e f i l e 首先可以设置平台的定义 然后递归地调用各级子目录下的m a k e f i l e 最后把编 译过的程序链接成u b o o t 映像 第二章0 m a p 5 9 1 0 和嵌入式l i n u x 2 2 3 编译并下载 嵌入式开发一般的流程是首先将b o o t l o a d e r 程序通过j t a g 接口烧写到嵌入 式平台的f l a s h 里面 然后利用b o o f l o a d e r 提供的网络功能 要么用t 却i 具从 宿主机上下载内核和根文件系统到f l a s h 存储并启动 当然 也可以下载到 s d r a m 直接启动 要么将目标板的根文件系统安装到宿主机上 利用 b o o t l o a d e r 提供的n f s 功能来使用之 t i 公司提供了c c s 软件来支持o m a p 5 9 1 0 芯片的开发 可以将b o o t l o a d e r 程序 l i n u x 内核 根文件系统编译到一起形成一个目标文件v m l i n u x o u t 然后 通过c c s 软件将其下载到目标板 可以下载到s d r a m 里直接启动 也可以进 一步烧写到f l a s h 里存储后再启动 2 3 本章小结 本章主要介绍了o m a p 5 9 1 0 芯片的硬件架构 软件架构和突出优点 特别 是对本设计方案选择这一款芯片的原因作了阐述 嵌入式l i n u x 系统是 o m a p 5 9 1 0 平台的软件环境 本章根据实际应用 详细论述了嵌入式l i n u x 系统 构建中涉及到的内核 根文件系统 启动软件等方面的知识 并介绍了l i n u x 系 统的编译和下载的方法 第三章0 m a p 5 9 1 0 平台的网络模块的设计 第三章o m a p 5 9 1 0 平台的网络模块的设计 o m a p 5 9 1 0 平台设计的主要工作是实现o m a p 5 9 1 0 的多个接口 串口 u s b 接口 存储器接口 硬盘接口等等 其中与远程控制图象显示系统直接相关的接 口有两个 以太网接口和l c d 显示接口 本章和接下来的第四章将对这两个接 口的设计作详细的论述 o m a p 5 9 1 0 平台的主要结构如图3 1 所示 这里省去了 串口 存储器接口等最基本的接口部分 仅仅说明了与本系统最相关的网络和显 示部分 图3 1o m a p 5 9 1 0 平台结构 本章对o m a p 5 9 1 0 平台的以太网接口的实现作详细的论述 该论述分为硬 件电路的设计和l i n u x 操作系统下的网络接口驱动程序的设计两部分 硬件设计 的内容主要包括 电路结构的介绍 芯片的选择 接口电路的设计等 软件设计 的内容主要包括 l i n u x 驱动程序架构的介绍 网络设备驱动架构的理解 模块 的工作原理 驱动程序的编写等 3 1t c p i p 网络体系结构 8 9 在介绍以太网接口设计之前 有必要先介绍一下t c p i p 网络体系结构 因 为i n t e r n e t 网络传输的建立是基于该结构的 计算机网络的各层及其协议的集合 称为网络的体系结构 a r c h i t e c t u r e 也就是说 计算机网络的体系结构就是这个计算机网络及其部件所完成的功能的 精确定义 i n t e r n e t 采用的是t c p i p 协议体系 t c p i p 是一个四层的体系结构 它包括应用层 传输层 网际层和网络接口层 t c p i p 协议的体系结构如图3 2 所示 第三章伽a p 5 9 1 0 平台的网络模块的设计 应用层 f t p h t t p t a a e o 应用层 t c p 报文段 s e g m e n t r 表示层 u d p 用户数据报 传输层 t c p u d p 会话层 i p 数据报 p a c k e t 网际层 i p 传输层 包 分组 网络层 l l c 网络接口层 a r p 数据链路层 m a c 帧 f r a m e 7 比特 b i t l 物理层 传输数据单位t c p i p 模型i s o o s i 模型 图3 2t c p i p 协议的体系结构 1 应用层 应用层是体系结构的最高层 应用层确定进程之间通信的性质 以满足用户的需要 这里的进程就是指正在运行的程序 在因特网中的应用层协 议很多 如支持万维网应用的h t t p 协议 支持电子邮件的s m t p 协议 支持文 件传送的f t p

温馨提示

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

评论

0/150

提交评论