(电机与电器专业论文)基于嵌入式家庭网关的arminux移植与应用研究.pdf_第1页
(电机与电器专业论文)基于嵌入式家庭网关的arminux移植与应用研究.pdf_第2页
(电机与电器专业论文)基于嵌入式家庭网关的arminux移植与应用研究.pdf_第3页
(电机与电器专业论文)基于嵌入式家庭网关的arminux移植与应用研究.pdf_第4页
(电机与电器专业论文)基于嵌入式家庭网关的arminux移植与应用研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(电机与电器专业论文)基于嵌入式家庭网关的arminux移植与应用研究.pdf.pdf 免费下载

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

文档简介

ii abstract in digital technology and modern society that network technology develop rapidly, family long-range to manage and control, informationization of household appliances with networked to become the trend of the times.the connections of the home and internet need a nerve center to be the family network central controller in familys information-based network technology system research and product development , or called the home gateway . home gateway externally link with internet, internal wireless lan join household appliances and other power consuming facility into an organic whole inside house, have offered network platform and open automatic system directed against the consumption electronic product, can realize the intellectual house , various kinds of functions and services of the electrical home appliances network on this basis. the thesis has introduced embedded system and the definition of the embedded home gateway , development overview ,etc. at first, then provide the software and hardware structure chart of the gateway. probe into embedded linux operating system thoroughly , has analysed the boot course of linux especially and bootloader code, put up the development environment of embedded linux , has laid a solid foundation for the work of transplantation for the future. have chosen armlinux operating system as transplanting to the target based on the analysis and the study about software and hardware structure of the whole system., and has succeeded in transplanting it to the platform of hardware taking s3c2410 microprocessor as the core. have transplanted and tested the r/w yaffs file system to nand flash memory , build cramfs +yaffs multi file system on the basis of this. have solved problems about the dynamic access of the data and systematic issue of stability in the system. thesis also related to armlinux program development and debug method. confirmed the b/s mode based on the requirement analysis of system. have transplanted embedded web server and database, then carried on the development of the application program on the basis of here. did the beneficial discussion and practice realize to communication protocol . isolate communication protocol relevant part from other module , is it leave bigger upgrading iii space to issue for national standard meet the present need as well as. armlinux operating system can run steadily on the target board through the above job. the result of the test indicates , the system has reached the anticipated goal basically, have very good dependability . this is a sub subject in research and development of embedded network central controller in home of a fund project of remarkable innovation of talent of henan province. research of this subject has important meaning very to imprison for realize embedded home gateway . have solved the most important and most difficult to solve problem in this area. keywords: embedded system; home gateway; armlinux; yaffs; web server; sqlite 郑州轻工业学院硕士学位论文 1 第一章 绪论第一章 绪论 在数字技术和网络技术迅速发展的现代社会,信息化电器、便携式通信和数据处理 设备在家庭中得到了越来越广泛的应用, 人们对家用电器在智能化和互连性上提出了要 求,家庭安全及环境控制的智能化需求也日益迫切。在此基础上实现智能住宅、家电网 络的功能和服务智能小区成为现代人追求的目标。 显然, 家庭网关正是为适应这一发展趋势而提出的, 可以将智能家电连接到互联网, 成为家庭内部网的出口。业界越来越看好家庭网关的发展趋势,希望通过家庭网关使百 姓的家居生活实现智能化和网络化1。 11 嵌入式系统11 嵌入式系统 111 嵌入式系统概述111 嵌入式系统概述 嵌入式系统是指以应用为目的,嵌入于各种设备及应用产品内部的计算机系统。 简单 的说就是系统的应用软件与硬件一体化。这种系统具有软件代码小、高度智能化、响应 速度快等特点,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可 靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外 围硬件设备、嵌入式操作系统及应用软件系统等部分组成。它是集软硬件于一体的可独 立工作的“器件” ,用于实现对其它设备的控制、监视和管理等功能。 嵌入式系统至今已经有 30 多年的历史了,其技术的发展如今已经发展到以嵌入式操 作系统为标志的嵌入式系统时期。这一阶段系统的主要特点是:嵌入式操作系统能运行 于各种不同类型的微处理器上,兼容性好、操作系统内核精小、效率高,并且具有高度 的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以 及用户界面等功能;具有大量的应用程序接口(api),开发应用程序简单;嵌入式应用软 件随着硬件的发展,嵌入式系统的应用领域日益扩大,提供的应用功能也越来越复杂, 控制程序被逐步加入了许多功能,而这些功能有很多是可以由操作系统来提供的。 目前嵌入式系统正经历一个以 internet 为标志的迅速发展的阶段。目前大多数嵌入 式系统还孤立于 internet 之外,但随着 internet 的发展以及 internet 技术与信息家电、工 业控制技术等结合日益密切,嵌入式设备与 internet 的结合将代表着嵌入式技术的真正 未来。 随着信息时代的到来,各种智能信息终端产品层出不穷,机顶盒、数字电视等信息 郑州轻工业学院硕士学位论文 2 家电及个人 pda、wap 手机等产品都蕴藏着巨大的商机。idg 发布的统计数字表明,未 来的四五年内,信息家电市场会成长 5 倍10 倍。信息家电作为家庭信息终端,之所以变 得火爆,一个很重要的原因就是嵌入式系统的加入。 112 嵌入式系统硬件发展112 嵌入式系统硬件发展 多年来,嵌入式系统一直被广泛应用于各种设备当中,大到车、船和卫星,小到信 息家电,那时的大部分嵌入式系统并不需要操作系统。首先是因为它们的功能有限,没 有必要使用操作系统。其次是因为它们采用 4 位或 8 位的微处理器,有的内存少得不到 1k 字节,操作系统无法在上边运行。 嵌入式系统的高速发展极大地推动了 arm 嵌入式微处理器的发展。以前的嵌入式 系统大多采用 cisc(复杂指令集计算机)架构,跟 cisc 相比, risc(精简指令集计 算机)以其硬件结构单纯,成本低,省电良好的优良特性受到了嵌入式系统的青睐,而 arm 正是 32 位 risc 微处理器。arm 公司是 32 位嵌入式 risc 微处理器领域的领先 供应商,在世界范围有超过 100 个的合作伙伴,它们共同保证了基于 arm 微处理器核 的设计可以很快投入市场56 。 113 嵌入式操作系统概述113 嵌入式操作系统概述1112 从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有 windowsce, psos,vxworks,qnx,hopen os 等。这些商家开发嵌入式系统已经有 20 多年的经 验,其产品系统目前的应用范围也比较广泛。下面对这些典型的嵌入式操作系统做一些 分析和比较。 microsoft windowsce 是一个简洁的、高效率的多平台操作系统。 它不是削减的 windows95 版本,而是从整体上为有限资源的平台设计的多线程、完整优先权、多任务 的操作系统。 它的模块化设计允许它对于从掌上电脑到专用的工业控制器等电子设备进 行定制。操作系统的基本核心需要至少 200k 的 rom。但是它的价格太高,使得整个产 品的成本急剧上升。 psos 现在是属于 windriver 公司的产品,这是一个模块化、高性能的实时操作系 统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件 上提供高性能和高可靠性。 可以让开发者将操作系统的功能和内存需求按每个应用的需 要定制成专门的系统。开发者可以利用它来构建从简单的、单个独立设备到复杂的、网 络化的多处理器系统。 郑州轻工业学院硕士学位论文 3 windriver 的 vxworks 是目前嵌入式系统领域中使用较广泛的系统。 具有先进的网 络功能。支持多种微处理器,如 x86,68k,ppc,cpu 32,sparc,sparclite,sh, coldfire,r3000,r4000,c16x, arm 等。使用的是和 unix 不兼容的环境,大多 数的 vxworks 应用程序接口函数是专有的。采用 gun(通用公共许可证)的编译和调 试器。 qnx 是一个实时的、可扩充的操作系统。它遵循 posix.1(程序接口)和 posix.2(命 令解释器和工具),部分遵循 posix.1b(实时扩展)。它提供一个很小的微内核以及一些 可选的配合进程。其核心仅提供 4 种服务:进程调度、进程间通信、底层网络通信和中 断处理,其进程在独立的地址空间运行。所有其它操作系统服务,都实现为协作的用户 进程,因此 qnx 核心非常小巧(qnx4.x 大约为 12k 字节),而且运行速度极快。这个灵 活的结构可以使用户根据实际需求,将系统配置成微小的嵌入式操作系统,或是包括几 百个处理器的超级虚拟机操作系统。 hopen os 是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的内核及 一些可以根据需要进行定制的系统模块组成。其核心 hopen kernel 一般为 10k 字节左 右大小,占用空间小,并具有实时、多任务、多线程的系统特征。使用者可以很容易地 对这一操作系统进行定制或作适当开发。 lynxos 是一个分布式、 嵌入式、 可规模扩展的实时操作系统, 它遵循 posix.1a (系 统接口扩展) 、posix.1b(实时扩展)和 posix.1c(线程)标准。lynxos 支持线程概 念,提供 256 个全局用户线程优先级; 提供一些传统的、非实时系统的服务特征,包 括基于调用需求的虚拟内存、一个基于 motif 的图形用户接口、与工业标准兼容的网络 系统以及应用开发工具。 linux 是一套以 unix 为基础发展而成的操作系统。自 1991 年诞生至今,linux 在 很多方面已经赶上甚至超过了很多商用的 unix 系统。它充分利用了 x86cpu 的任务切 换机制,实现了真正的多任务、多用户环境。linux 对硬件配置的要求相当低,能够在 4m 内存的 386 机器上很好的运行。 在应用于嵌入式系统方面,linux 以其以下的突出优点得以脱颖而出: 第一、 linux 系统是层次结构且内核完全开放。 linux 是由很多体积小且性能高的微 内核系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自 己的应用需要方便地对内核进行改造, 低成本地设计和开发出满足自己需要的嵌入式系 统。 郑州轻工业学院硕士学位论文 4 第二、强大的网络支持功能。linux 诞生于因特网时代并具有 unix 的特性,保证了 它支持所有标准因特网协议,并且可以利用 linux 的网络协议栈将其开发成为嵌入式的 tcp/ip 网络协议栈。此外,linux 还支持 ext2、fat16、fat32、romfs 等文件系统,为开 发嵌入式系统应用打下了很好的基础。 第三、linux 具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行 环境,可以跨越嵌入式系统开发中仿真工具的障碍。linux 也符合 ieee posix.1 标准, 使应用程序具有较好的可移植性。 第四,linux 具有广泛的硬件支持特性。无论是 risc 还是 cisc 32 位还是 64 位等 各种处理器,linux 都能运行。linux 通常使用的微处理器是 intel x86,但它同样能运 行于motorola公司的68k系列cpu和apple公司的powerpc、 intel公司的strongarm。 linux 支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元(mmu) 的处理器上运行。这意味着嵌入式 linux 将具有更广泛的应用前景。 另外为实时系统而开发的变种 rt linux(real-time linux),可以让 linux 支持硬 实时任务;linux 的开放式开发原则使得 linux 下的驱动和升级变得越来越多和越来越 快。 通过以上分析可以看出,嵌入式 linux 操作系统是最具有良好应用前景的嵌入式操 作系统,这正是本课题选择它开发嵌入式家庭网关的原因。 12 嵌入式家庭网关12 嵌入式家庭网关 20世纪中期,大量采用电子技术的家用电器问世,带来了“住宅的电子化” 。80年 代中期,将家用电器、安防报警和通讯设备集成,形成了商用的智能家庭控制设备,从 而带来了“住宅自动化”时代。90年代,由于通讯和信息技术的发展,人们提出了“住 宅信息时代” 。随着internet向普通家庭生活中的不断扩展,消费电子、计算机、通讯一 体化趋势日见明显,智能化信息家电(ia:information appliance)产品已经开始步入社 会和家庭19。 随着信息社会的发展,网络和信息家电已越来越多地出现在人们的生活之中,而这 一切发展的最终目标都是给人类提供一个舒适、便捷、高效、安全的生活环境。如何建 立一个高效率、低成本的智能家居系统已成为当今世界的一个热点问题。智能家居系统 的提出和实现不仅会带来普通居民用户家庭生活方式上的变革, 而且将波及工业控制等 许多与internet相关的嵌入式应用领域。 而以智能家居为最基本构成单元的一个有序化网 络体系结构的诞生则会为internet注入新的生机和活力。 郑州轻工业学院硕士学位论文 5 智能家居系统又称智能家庭局域网, 是适应现代化家庭生活而形成的一个形式多样 化的网络结构,它借助现有的计算机网络技术将家庭内各种家电和设备连网,通过网络 为人们提供各种丰富、多样化、个性化、方便、舒适、安全和高效的服务。智能家庭局 域网主要包含家庭计算机网络、 信息家电、 智能仪表、 安防设备等各种不同类型的子网。 根据各个家庭的具体需求量体裁衣,构成一个特定形式的智能家居系统。 智能家庭局域网的核心是家庭网关,它不仅负责各种不同类型子网之间的协议转 换,而且还要完成家居智能控制和internet 接入功能。智能家庭网关是一个独立、智能、 灵活多变、标准化的家居网络系统接口单元。它通过各种途径(如internet、wap、电话、 手机等)从多种多样的外部网络接收通信信号,然后通过家庭内部网络将信号传送到特 定的用户设备上,并将相应信号反馈给外部通信节点,实现整个远程交互过程。网关既 是家庭智能化系统的中心,又是小区智能网络上的智能节点。这个控制系统不仅仅是完 成网络接入,它将还是家用电器、照明、安防、三表计费和小区网络联接的物业管理系 统的集中控制中心。要求网关功能齐全、操作简单,以满足不同知识层次,不同消费层 次、年龄阶段的用户。 嵌入式 internet 是近几年发展起来的一项新兴概念和技术,是指设备通过嵌入式模 块而非 pc 系统直接接入 internet,以 internet 为介质实现信息交互的过程,通常又称为 非 pc internet 接入。国外许多大公司如 emware、microchip、sii 等联合成立了嵌入式 internet 联盟,来专门讨论和制定嵌入式 internet 领域的标准和开发相关的技术。随着嵌 入式 internet 产品的开发和应用,远程监控、数据采集和系统重构等领域将会发生深刻 的变革。一方面微处理技术的飞速发展和系统设计水平的不断提高:cpu 速度的不断提 高,risc 技术和虚拟技术的应用,外部电路的内部集成化。微处理器在家庭和工业的 各个领域得到了广泛的应用。另一方面嵌入式技术的发展和成熟,各种网上信息产品的 出现,使得嵌入式家庭网关的开发成为可能。 13 国内外研究现状13 国内外研究现状 近年来,国际上许多大公司都提出了相应的解决方案,国外在探索现代化智能家居 系统及其核心技术的过程中, 已逐渐形成了一些相关的标准, 分别受许多大公司的支持, 其中较有影响力的是osgi (open services gateway initiative)的specificationrelease1.0 和eia/tia相关标准。但迄今为止,这一领域的国际标准尚未成熟,各国正努力研制适 合于本国国情的智能家居系统,不同的人或不同的厂商对家庭网关有着不同的定义。 无论何种定义,家庭网关本质上是作为连接家庭内部和外部网络的一种物理接口。 郑州轻工业学院硕士学位论文 6 物理层系列接口是实现家庭局域网内部网络结构的底层硬件协议接口, 是智能家庭局域 网的最基本部件。目前国际上流行的物理层系列接口主要包含无线射频(rf) 、电力载 波(pl) 、双绞线(rs485等) 、蓝牙技术(bluetooth) 、无线以太网(ieee802.11) 、x11、 homerf技术等,这些接口涵盖了从以智能设备监控为代表的低速数据链路接口和以家 庭多媒体娱乐和视频监控为代表的高速数据链路接口。 家庭网关的实现可以是基于 pc 机或非 pc 机。 以 pc 机为中心拓扑的家庭网络有两 个特点:首先,家庭网络以 pc 机为中心,pc 机与外设之间以通过各类扩展接口进行通 信,要求 pc 始终处于开机并且可以进行通讯的状态。其次,为了运行平稳它还要求不 能在计算机上运行干扰通讯任务的软件和硬件,这些就造成使用成本太高,不适合普通 家庭用户。随着嵌入式 internet 技术的发展智能家居系统已由开始时以 pc 为控制中心 逐渐转向以嵌入式家庭网关为核心的嵌入式系统领域,为适用于普通的家庭用户,网关 一般设计为非 pc 机廉价设备,采用高性能微处理器16。 目前嵌入式家庭网关成了大家研究的热点, 各个单位都在加紧嵌入式家庭网关的开 发1718 ,国内外的研究主要关注于两方面的问题: 首先是家庭网关接入外部 internet 网络方面问题。又包含接入方式(例如 adsl、 cable、卫星和 lan 等) 、网络通信的协议(嵌入式 tcp/ip 协议栈) ; 其次是功能实现问题, 现在绝大多数嵌入式家庭的网关都实现了一般的互联网浏览 功能(嵌入式 web 服务器+cgi) ,但在通过管理程序对智能家电进行监控与交互的这一 点上国外的产品也不多,可以说国内、国外公司处于同一个起跑线上3132。 由于嵌入式技术的飞速发展,国内各个单位也都在加紧嵌入式家庭网关的开发,目 前嵌入式家庭网关有中科院研究的基于电力线载波的嵌入式家庭网关、 华恒公司的嵌入 式家庭网关方案、易居科技的嵌入式家庭网关方案、neteasy 提出的家庭网关方案等。 但它们都还没有推出成熟的商业产品。 14 研究背景、目标和意义14 研究背景、目标和意义 141 研究背景141 研究背景 信息家电使广大消费者既超越了现在所面临的经济和知识门槛, 又享受到数字生活 或网络生活,因而有着巨大的潜在市场,对于促进国民经济的快速发展改善人民的生活 都有重要意义。 因此国家在第十个五年计划和第十一个五年计划中都将信息家电作为一 个重要的方面加以强调,对这方面的研究投入和政策都给予了相应的支持。 郑州轻工业学院硕士学位论文 7 由于家庭网关的技术标准目前还难以统一;宽带网运营商、接入商、增值服务商、 宽带设备与宽带应用软件生产商、智能小区投资开发商、物业管理商等等一系列商家的 配合还尚需时日; 用户现阶段的不同实际功能需求等因素, 市场真正启动尚需相当时间。 目前, 我国的信息家电市场还处在试探阶段, 还远未成熟目前还有待进一步开发、 培育。 基于pc实现的家庭网关的在使用上有着较大的局限,况且价格非常高2223。许多 的家庭在相当长时期内并不需要这种级别的网关。 随着嵌入式技术的发展和成熟,32-bit 的微处理器已经能满足嵌入式家庭网关的要 求,linux 成了嵌入式领域应用最广的操作系统,现在各个单位都在加紧嵌入式家庭网 关的开发 2425。 本课题是河南省杰出人才创新基金项目(项目号为:0321000300) “嵌入式家庭网 络中央控制器的研究与开发”中的一个子课题,重点研究了基于嵌入式家庭网关的 armlinux 的移植和应用开发,是在信息家电发展的大趋势和国内外研究背景之下的有 益尝试。 142 课题任务和目标 142 课题任务和目标 嵌入式家庭网络中央控制器以目前的两大热点embedded internet和linux作为研究 对象,课题的主要任务是实现嵌入式家庭网关的操作系统移植和基本软件功能支持,最 终提供一个功能实用、性能稳定的嵌入式操作系统。 在实际研发过程中,首先,针对具体问题考虑嵌入式系统的整体设计,通过调研和 比较,决定在总体上定位为嵌入式 linux 系统,采用了 arm 核的 s3c2410 微处理器。 s3c2410 提供了一套比较完整的通用系统的外围设备,并且使得整个系统消耗最小,而 且因为它具有很多常用的功能模块,所以也免去了添加配置附加设备的麻烦。基于以上 技术优势,进一步选用了 armlinux 嵌入式操作系统。首先对嵌入式 linux 操作系统做 分析、研究,然后将其移植到 arm 微处理器平台上,再开发或移植有关硬件驱动并实 现 web 服务和数据库服务。 基于此,本论文的研究要求实现以下目标: (1)解决基于 arm 的 linux 的实际移植问题,将 armlinux 移植到以 s3c2410 微 处理器为核心的硬件平台上; (2)基于硬件存储类型,根据家庭网关中对数据读写与存取的需要完成多文件系统 的构建与移植; (3)硬件驱动程序的移植于开发,实现家庭网关的动态 web 页功能; 郑州轻工业学院硕士学位论文 8 (4)实现家庭网关的嵌入式 web 服务、嵌入式数据库服务、gui 移植开发; (5)编写管理控制程序,实现与终端设备的交互。 143 研究意义 143 研究意义 近年来,我国的住宅建设产业发展迅速,对先进的电子信息技术需求迫切。在智能 小区的公共智能化设施开发方面已经取得了很大的进展。 但是在具有小区集中联网能力 和联接互联网能力的先进智能家居设备,以及适用于住宅小区的控制网络的开发方面, 虽然投入的人力物力巨大,但迄今为止尚未取得实用化的成果28。智能家居是信息时代 和计算机应用科学的产物,是现代高科技、现代建筑与现代生活理念的完美结合。加快 启动智能家居发展,必将大大推动我国实现家庭信息化进程。智能家居能够为人们提供 更加轻松、有序、高效的现代生活方式,在不久的将来,没有智能家居系统的住宅肯定 不合潮流。 家庭网关的成功研制,将大大提高住宅的科技含量,促进住宅建设产业的发展,将 大大提高智能家居和数字化社区信息网络设备的研究开发和应用水平, 促进我国智能家 居、智能化小区产业的发展。家庭网关是智能小区中最重要的部分,预计未来将占到智 能小区设备的 1/21/3 左右,其技术、经济意义重大。 随着价格低廉、结构小巧的 cpu 和外设连接提供了稳定可靠的硬件架构。32 位的 微处理器已经能够满足嵌入式家庭网关的硬件要求:可以运行操作系统、运行 tcp/ip 协议,可以进行各种应用程序的开发2529。目前,限制嵌入式系统发展的瓶颈突出表现 在软件方面, 实现嵌入式家庭网关的关键技术就是操作系统的移植以及家庭网关基本软 件功能的实现。故本论文的研究成果对于整个家庭网关的实现具有重要的意义。有了操 作系统和基本软件功能的支持,在此基础上进行上层应用程序的开发将不会太难。 基于嵌入式 linux 的开发是国内外目前研究的热点,并必将在不久的将来获得高速 的发展和广泛应用。课题主要研究了嵌入式家庭网关中 linux 软件的移植与开发,基于 探讨了基于 arm 硬件平台的嵌入式系统的开发方法。不仅完成了项目的具体需求,而 且熟悉了嵌入式系统的移植开发方法,可以类似地将嵌入式 linux 操作系统移植到其它 平台上,通过开发其它的应用来进行嵌入式产品的开发。这对推动我国嵌入式 linux 系 统的开发具有重要的意义30。 15 本文章节安排15 本文章节安排 全文共分六章,各章的内容安排如下: 郑州轻工业学院硕士学位论文 9 第一章介绍了嵌入式系统和嵌入式操作系统的概念, 分析了家庭网关的国内外研究 状况,给出了研究背景、研究目标和研究意义。 第二章建立了嵌入式家庭网关的总体框架。 第三章首先介绍了嵌入式系统开发的传统方法, 在实践中采用了一种利用虚拟机的 新思路,针对 arm 硬件平台搭建了嵌入式 linux 开发环境。 第四章深入地对 armlinux 操作系统作了分析,包括 armlinux 的内核结构、启 动过程等。详细介绍了具体的移植过程。 第五章主要研究了 nand 型闪存和 yaffs 可读写文件系统, 并基于此搭建了多文 件系统。 第六章实现了嵌入式动态 web 服务器。 第七章实现了嵌入式数据库并进行了相关软件的开发。 本章小结本章小结 本章是绪论部分,首先介绍了嵌入式系统、嵌入式操作系统和嵌入式家庭网关的概 念,分析了家庭网关的国内外研究状况,然后给出了研究背景、研究目标和研究意义, 最后介绍了本论文的章节安排。 郑州轻工业学院硕士学位论文 10 第二章 嵌入式家庭网关系统设计第二章 嵌入式家庭网关系统设计 21 嵌入式家庭网关的需求分析21 嵌入式家庭网关的需求分析 本课题是近几年发展起来的嵌入式internet技术在信息家电网中的一次具体实践, 要 求以嵌入式微处理器为中心建立家庭网络中央控制器硬件平台,实现内外网的信息交 互。对外通过宽带ethernet、modem与internet连接,内部将家用电器及其他用联网设施 通过家庭内部无线局域网连接成一体。 功能上要求实现信息家电、安全防范及三表的集中管理,远程终端通过普通的浏览 器就可以对家用电器进行状态查 询和控制,在本地同时利用彩色 显示屏浏览各类信息,利用触摸 屏进行家庭内部控制,此外还可 通过网络中央控制器以电话、短 信、电子邮件等多种形式将家电 故障信息通知主人或上报厂家提 请处理。 图2-1 信息电器网络结构示意图 这种网络框架使得内外网分离、节约了资源降低了成本而且有利于信息的集中处 理,体现了嵌入式internet的优点。 同时也使得必须基于嵌入式系统的有限资源来实现丰富的管理与控制功能, 在硬件 的选择和软件的体系结构方面都较pc软件的开发模式有较大的不同, 开发路线也较为复 杂。 22 嵌入式家庭网关的硬件框架22 嵌入式家庭网关的硬件框架 三星芯片s3c2410是基于arm920t内核而开发的一款面向消费类电子产品的多功 能 soc(集成至芯片的系统),其内核在通用 arm9tdmi 内核的基础上增加了存储管理 单元(mmu)和指令与数据缓存(cache) ,有着极大的性能价格比优势。s3c2410 也是 世界上第一个带有 nand 闪存启动装载的 soc, 除具备一般嵌入式芯片所具有的总线, sdram 控制器,3 个串口等外设之外,s3c2410 还具有 tft lcd 控制器、usb slave、 usb host、i2c 总线控制器、spi 控制器、iis 音频接口、sd makeinstall 安装成功后,glibc库将安装在/usr/local/arm-linux目录下。 客户机中的debian操作系统是最自由的开源linux,有着众多的软件包和开发工具主 要是用于代码编写和进行交叉编译,在我们选用的fs2410开发板上使用的工具链是 cross-2.95.3.tar.bz2,安装此编译器只需要在/usr/local 目录下建一个arm 的目录,进入该 目录再执行解包命令(tar zxvf /mnt/cdrom/linux/toolchain/cross-2.95.3.tar.bz2 )即可, 然后可编辑/etc/bashrc 文件,增加路径export path=/usr/local/arm/2.95.3/bin:$path,以 后编译内核或其他应用程序均可用arm-linux- 来指定交叉编译器。 334 扩展开发环境的功能334 扩展开发环境的功能 在安装了宿主机和虚拟计算机各自的操作系统之后,就已经可以进行基本的嵌入式 系统开发了,为了达到更好的效果,还可以做一些扩展工作。 win2000 具有稳定的内核和丰富的服务功能,其内置的 iis 信息服务组件提供了 www、ftp 等等服务,可以开启 www 服务进行嵌入式系统中网页的测试开发,ftp 服务则为宿主机、客户机和目标机的资源共享和通讯提供了解决方法,当然也可采用更 易于使用的 server-u 等 ftp 服务器。 为了便于客户机和目标机交互,采用了 nfs(network file system)网络文件服务, nfs 是一种在不同机器之间共享文件的方法, 可以使本地机器象使用本地硬盘一样使用 远程文件系统。linux 既可以作为 nfs 客户端,也可以作为 nfs 服务器。 我们可以将 debian 所共享出来的文件系统,挂载 (mount) 在目标机系统上,然后 郑州轻工业学院硕士学位论文 21 就可以很方便的使用 debian 系统的资源进行软件开发调试而操作起来就像在本地操作 一样。 另外在嵌入式开发环境下有多种开发方式,使用 nfs 在嵌入式开发中还有更重要 的作用,通过 nfs(网络文件系统)服务器调试应用程序的方法以其简便实用获得了广 泛的应用。 有了 nfs 服务甚至可以通过网口挂载 linux 内核, 而不必通过串口烧写内核, 大大提高内核裁剪移植的效率。 图 3-2 通过 nfs 服务器开发应用程序时的开发环境 由于本系统采用了基于虚拟机技术的开发环境,可以在 linux 客户机中配置 nfs 服务器,同时机也可将其配置为 samba 服务器,这样宿主机上的 windows 系统就也可 以访问 linux。整个开发环境示意图如图 3-2 所示。开发时需要进行以下配置: (1)nfs 在目标板上的配置。 编译 linux 内核时,在内核配置中选择以下几项: file systems - network file systems - nfs file system support file systems - network file systems - provide nfsv3 client support 在用户配置中选择以下几项: network -applications - portmap busybox - mount busybox - mount:support nfs mounts busybox - umount 配置好以后,重新编译 linux 内核。 (2)在装有 linux 的客户机上建立输出目录。 关闭防火墙,新建输出目录/home/nfsout。由于/etc/exports 文件是控制 nfs 服务器 要输出哪些目录的, 故编辑/etc/exports 文件, 在该文件中增加/home/nfsout/ 9 装有linux操作系统,配置成 nfs服务器和 samba 服务器 用来运行armlinux操作 系统和应用程序的平台 装有windows操作系 统,配置了iis服务及 ads软件开发环境 宿主机 目标板 客户机 进行开发调试 被挂载 windows访问linux 郑州轻工业学院硕士学位论文 22 (rw), 其中 9 是目标板的 ip 地址。 然后用如下命令启动 nfs 服务器: /etc/rc.d /init.d/nfs start (3)在目标板上挂载 nfs 服务器上的输出目录。 目标板加电运行后,在 linux 的控制台(宿主机的超级终端)上运行 portmap,然 后将 nfs 服务器安装到目标板的/var 目录下。安装好 nfs 后,就可以进入 nfs 服务器 上各输出目录去运行程序。 当开发一个新的应用程序时,先在宿主机上进行编写和编译该应用程序,当应用程 序被编译连接成可执行的二进制代码后,宿主机通过 samba 服务器访问被配置成 nfs 服务器的 pc 机, 把应用程序的可执行代码放到 nfs 服务器的输出目录/home/nfsout 中, 然后将 nfs 服务器的输出目录挂载到目标板的/var 目录下,在 armlinux 的控制台上 进入该目录下执行应用程序。 本章小结本章小结 基于开放源码的 linux 系统在嵌入式系统的应用中发展迅速,掌握其开发技术对 于开发者是非常重要的。 本章在广泛考察和实践后提供了一种基于虚拟机技术的搭建嵌 入式 linux 开发环境的方法,为开发人员提供了便捷实用的工作环境。 郑州轻工业学院硕士学位论文 23 第四章 第四章 armlinux 操作系统的移植和分析操作系统的移植和分析 41 41 linux 系统在系统在 arm 平台的移植平台的移植 411 移植的概念411 移植的概念 使某一个平台的代码运行在其他平台上的过程就叫作移植。 在同一个硬件平台上可 以嵌入不同的嵌入式操作系统, 同样有些操作系统经过移植后可以运行在不同的硬件平 台上。linux操作系统就可以通过移植使之运行于arm、powerpc、m68k等硬件平台上。 在linux系统内核代码中有arch目录, 其中包含了不同平台 (包括i386) 的代码, arch 目录中的代码是为多平台设计的,与体系结构相关的代码存放在arch/和 include/asm-/目录中,是linux支持的体系结构的简称。比如 说,arm体系结构对应的简称是arm。与这种体系结构相关的代码都存放在arch/arm/以 及include/asm-arm/目录下。 嵌入式系统是“硬件可裁剪”的,因此工程师们设计的硬件电路会有所不同,我们 必须要做的就是结合自己的硬件电路,对已有的内核代码进行修改移植。 412 412 linux 内核结构内核结构 在移植linux操作系统以前,需要先认识一下linux的内核结构。linux内核主要有五 个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口、进程间通信。 图4-1 linux 内核代码分布 一般在linux系统中/usr/src/linux-*.*.*(*.*.*)代表内核版本,如2.4.18)目录下就是内 i386 drivers vfat arm ext2 video char ipv4 802 fs arch net init kernelmm ipc include 郑州轻工业学院硕士学位论文 24 核源代码(若没有类似目录则是因为还没有安装内核代码) 。linux内核非常庞大,包括 驱动程序在内有数百兆之多。整个代码分布如图4-1所示。 /arch 子目录包含了所有硬件结构特定的内核代码。如i386,alpha和arm。 /dricers 子目录包含了内核中所有的设备驱动程序,如usb和sound。 /include 子目录包含了建立内核代码时需要的大部分库文件,这个模块利用其他模 块重建内核。该目录也包含了不同平台需要的库文件,比如asm-arm是arm平台需要的库 文件。 /init子目录包含了所有内存的初始化代码,内核从此处工作。 /ipc子目录包含了进程通信代码。 /kernel子目录包含了主内核代码。 /mm子目录包含了所有内存管理代码。 /net子目录包含了和网络相关的代码。如atm,ipv6。 /fs子目录包含了所有文件系统的代码。如nfs,ext3和jffs2等。 一般在每个目录下都有一个depend文件和一个makefile文件。这两个文件都是编译 时使用的辅助文件。其中makefile文件指出了编译时需要的编译器,也是移植内核过程 中不可缺少的。 linux系统能够支持如此众多的硬件平台的部分原因是因为内核把源程序代码清晰 地划分为体系结构相关部分和体系无关部分。 arch目录包含了体系相关部分的内核代码。 其中的每一个目录都代表一种硬件平台, 比如我们使用的arm平台和pc使用的i386。 对 于任何平台,都必须包括以下几个目录。 boot:包含启动内核所使用的部分或全部平台特有代码。 kernel:存放支持体系结构特有的(如信号处理和smp)特征的实现。 lib:存放高速的体系结构特有的(如strlen和memcpy)通用函数的实现。 mm:存放体系结构特有的内存管理程序的实现。 math-emu:模拟fpu的代码。对于arm处理起来说,此目录用mach-xxx代替。 显然,移植工作的重点就是arch目录下的文件。 413 移植413 移植 linux 操作系统操作系统 标准linux的内核源码可以从下载,也可以从其它镜像ftp站点上方 便地获得。基于标准linux内核为arm做的补丁可以从.uk上下载。 当然也可以下载已经针对标准内核打好补丁的arm linux源码包, 例如skyeye上提供的 郑州轻工业学院硕士学位论文 25 linux-2.4.18-rmk7.tar.bz2就是基于2.4.18 内核和rmk7补丁,可以直接解压之后进行编译。 建议使用已经打好arm补丁的内核源码如2.4.18-rmk7.tar.gz。 认识linux内核结构以后,就可以开始进行移植工作了。假定内核代码存放在 /usr/src/linux-2.4.18下,并设置环境变量$kernelcode=/usr/src/linux-2.4.18。 1设置目标平台和交叉编译器 修改根目录中的makefil

温馨提示

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

评论

0/150

提交评论