




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 摘 要 近几年较为流行的 用开发技术 , 它改变了传统的 B/S 或 C/ 为软件实体之间共同协作提供了公共平台 。 嵌入式的 务技术 , 具有功能强大、实时性好、可靠性高和安全性好等优点,将成为今后 务技术发展的主流方向。 本文介绍了 定义及其关键技术,对于课题要求嵌入式的 用 软件虚拟出相应的 嵌入式的 开发环境 ,利用嵌入式 充当嵌入式的 台。本文就课题实现所须的一些关于嵌入式和 知识进行了详细介绍,具体介绍了如何利用 软件来模拟嵌入式系统。 这样我们就不必自己去主动解析 了解 细节。本文是用 C 来实现简单的客户端和服务器端的通信程序。能够进行简单的加、减、乘、除和幂运算 ,此外为了验证功能特此加入 部署股票报价 务 。 我们本次设计采用的软件都是免费的,下载方便使用简单,由此可见嵌入式 定有着广袤的前景。 关键词: 入式系 统 , I is in eb it / S / S to a is a of to of is to as to be of of of to to In we to to to is c to a of To or In to eb We of to so of of a we is an 录 摘 要 错误 !未定义书签。 错误 !未定义书签。 1 绪 论 错误 !未定义书签。 题背景 . 1 题研究的目的和意义 . 1 内外概况 . 2 2 系统需求及方案研究 4 统需求分析 . 4 统可行性分析 . 4 发工具分析和选择 . 4 键技术分析 . 14 本方案制定 . 17 3 户籍管理系统的设计 18 统总体设计 . 18 统功能描述 . 21 台程序设计 . 21 户籍管理系统的设计 24 算功能的实现 . 24 5 系统运行及结果分析 28 统运行情况 . 28 果分析 . 28 6 总结与展望 32 结 . 32 望 . 32 致 谢 33 参考文献 34 附录 A 附录内容名称 35 1 1 绪 论 题背景 目前国内外企业应用系统的结构主要有基于 “ 客户端 /服务器 ” 的 C/S 结构和基于 “ 浏览器 /服务器 ” 的 B/S 结构,虽然两种结构都曾广泛应用,但随着软件技术的不断不展,均暴露出了不少问题。 C/S 结构,由客户端与数据库服务器构成。客户端与用户进行交流,首先向数据库服务器发出请求,然后数据库服务器响应请求,并将结果返回客户端。相对于以前的单机结构, C/S 模式有了很大发展,能支持多用户共享数据库信息。但是,随着企业规模的不断扩大以及应用程序日益复杂化,这种结构的弊端逐渐暴露出 。 (1)客户端需要专用软件支持,而软件安装、维护及升级需要在客户端逐台进行,工作量大。 (2)系统资源浪费,由于硬件更新远跟不上软件的更新 速度,因此客户不得不在本地硬盘上安装大量软件,而实际只用到其中的很小部分。 (3)系统不支持 B/S 结构,由 务器负责与用户连接,响应用户请求后先对指令进行内部编码,判断指令的内容,然后执行相应的操作,需要时调用应用服务器中企业对象提供的服务,最后在服务器中产生动态的, 面,并回传到客户端浏览器显示结果。 B/S 结构主要是利用了不断成熟的 览器技术,结合浏览器的多种脚本语言 (如 术才能实现其强大功能。 B/S 结构的客户端无需再装用户界 面程序,用户界面完全由 览器实现,从而使得传统 C/S 结构下的客户端相比大大 “ 减肥 ” 。但是,随着 B/S 结构的不断发展与应用,其不足之处也开始暴露出来,由于它不支持跨平台通信,因此在大型的企业级基于 多层分布式体系结构的研究与应用应用系统中,一直都无法得到很好的应用。 无论是 是 构都只是同一数据库系统所采用的不同结构,无法在由多数据库组成的复杂系统中进行跨平台的交互,在一些大型的系统应用中,常常要整合现有的各个分布的子系统资源,而采用基于 多层分布技术正是解决这一难题的关键途径。 题研究的目的和意义 研究目的: 嵌入式 务的研究与实现。 术的发展将促使 用的成熟和完善 , 而 用模式将为商业2 应用提供指引 , 那就是 , 传统 用技术解决的问题是如何让人来使用 用所提供的服务 。 要解决如何让计算机系统来使用 用所提供的服务。 术完全基于标准的技术 , 只有基于标准 , 所有的开放厂商 才有相同的准则 , 才能够在各自的平台上开发出具有跨平台互操作能力的软件产品和解决方案。 如何在嵌入式设备中实现 现嵌入式设备的远程管理以及远程获取设备的功能及服务 ,是我们研究的重点。 内外概况 嵌入式系统无疑是当前最热门最有发展前途的 入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、 子字典、可视电话、 字相机( 数字摄像机 ( 顶盒 (高清电视 (游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。 嵌入式技术的发展以及对未来工业革命将产生的巨大影响已经引起世界各国的高度关注。 欧洲目前在航空、汽车电子、工业、通信和消费电子方面的嵌入式技术占有领导位置,为了继续保持对美国和日本的竞争对手的领先优势,欧盟在 2004年成立了 织,在欧洲范围内整合资金和技术优势,把嵌入式技术上升到一个重要的战略高度进行发展。 欧盟认为,嵌入式技术是 将保持巨大的技术发展和商业应用机会,掌握嵌入式技术的领导位置,将具有强大的经济和政治利益。嵌入式系统的应用领域非常广泛,在产业发展中的重要性仍在持续提升。 据欧盟的统计: 2003年,全球大概有 80亿片嵌入式可编程微处理器。到 2010年,预计会达到 160亿片,地球上的人平均有 3个处理器。在航空电子中,嵌入式软件的开发成本占整个飞机研制成本的 50%;对于汽车工业,汽车电子在整车价值中的比例逐年提高,将从 1997年的 20%提升到 2010年的 33 消费电子数量越来越大,据预测,到 2010年,仅数字家在美国的销售额就将3 达到 2000亿欧元。由此我们相信 嵌入式 在未来的发展中,必定有着广袤的前景。 对于嵌入式 其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的 8位或 16位系统 , 已足够提供一个用户界面 , 而且这种方式是基于 种设备可以在世界任何一个地方 , 只要它连入 如图 1入式 图 1入式 统模型 2 需求分析及方案研究 统需求分析 本次课题的设计要求 在嵌入式设备中实现 以轻松实现嵌入式设备的远程管理以及远程获取该设备的功能及服务。嵌入式 同于简单的嵌入式 可以建立在 基础上;也可以不需要要在规定的协议( 础上实现 功能即可。嵌入式 需要支持全部的 议,只须支持必须的协议子集即可。 设计嵌入式 先需要实现 P 协议下的网络编程,在此基础上,进行 议的解析、执行。设计嵌入式 求提供如下功能: 1、 能 提供本地参数修改服务:可以通过 议来修改本地的一些工作参数,如允许建立连接的最大数等,这些参数能保存。 2、 能提供数据采集的服务:模拟实现数据采集(从数据文件中抽取数据),通过 程提供数据。 以上是最基本的功能,其他功能可以灵活发挥。运行环境:建议采用 ,安装 编写 终端运行的程序。也可以采用 。如果有相应的嵌入式设备,则可以直接在相应设备上运行 。 统可行性分析 嵌 入式 务器的研究和应用 ,其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的8 位或 16 位系统 , 已足够提供一个用户界面 , 而且这种方式是基于 。这种设备可以在世界任何一个地方 , 只要它连入 能够控制它。 此外本系统的实现要求的配置条件都很低,成本也低,对于普通的用户就可以实现,在可行性上具有无法比拟的优越性。 发工具分析和选择 要在嵌入式系统下进行开发,就要建立嵌入式的开发平台, 当前广泛使用的一种 嵌入式的操作系统。 心的分支,是针对没有 理单元的微控制器 ,继承了 大多数特性 。 多数的 应用程序和驱动程序都可以在运行 。 虽然大多数 统运行在 台上,但 可以作为嵌入式系5 统的操作系统。 安装和管理比 加简单灵活,这对于那些 为 有许多命令和编程接口同传统的 是对于习惯于 作系统的人来说 ,需要记忆大量的命令行参 数却是一个缺点。随着 团的不断努力, 人机界面开发环境正在不断完善。 典型的 统经过打包,在拥有硬盘和大容量内存的 上运行,而嵌入式系统不需要这么高的配置。一个功能完备的 核要求大约 1 存。而 内核只占用其中很小一部分内存,包括虚拟内存和所有核心的操作系统功能在内,只需占用系统约 100存。只要有 500内存,一个有网络栈和基本实用程序的完全的 统就可以在一台 8 位总线( 86 微处理器上运行得很 好了。由于内存要求常常是由应用的需要所决定的,例如 务器或者 理, 统甚至可以仅使用 256 12 行工作。因此它是一个瞄准嵌入式市场的轻量级操作系统。 与传统的实时操作系统( 比,采用像嵌入式 样的开放源码的操作系统的另外一个好处是 发团体看来会比 供应商更快地支持新的 议和其他协议。例如,用于 设备驱动程序要比用于商业操作系统的设备驱动程序多,如网络接口卡( 动程序以及并口、串口驱动程序 。 作系统本身的微内核体系结构相当简单。网络和文件系统以模块形式置于微内核的上层。驱动程序和其他部件可在运行时作为可加载模块编译到或者是添加到内核。这为构造定制的可嵌入式系统提供了高度模块化的构件方法。而在典型情况下该系统需结合定制的驱动程序和应用程序以提供附加功能。 嵌入式系统也常常要求通用的功能,为了避免重复劳动,这些功能的实现运用了许多现成的程序和驱动程序,它们可以用于公共外设和应用。 以在外设范围广泛的多数微处理器上运行,并早已经具备了现成的应用库。 于嵌入式的因特 网设备也是很合适的,原因是它支持多处理器系统,该特性使 有了伸缩性。因而设计人员可以选择在双处理器系统上运行实时应用,提高整体的处理能力。例如,可以在一个处理器运行 时在另一个处理器上运行 统。 在嵌入式系统上运行 一个缺点是 系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。 由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个 非常严重的弱点。尽管如此,已经有许多嵌入式 统的示例,可以有把握地说,某种形式的6 在几乎任一台执行代码的计算机上运行 。 ( 1)在 安装 源软件包 要求先在在 上安装 at 上版本。 一个开源软件 (中文名字是 “ 天目 ” 。 台实现一个纯软件模拟集成开发环境,模拟常见的嵌入式计算机系统 。让我们在这种虚拟的嵌入式环境下进行嵌入式平台下的 操作。 可在 运行 多种嵌入式操作系统和各种系统软件(如 P,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试 。 通过 真集成环境可以很方便地进入到嵌入式系统软件学习和开发的广阔天地中。尤其对于缺少嵌入式硬件开发环境和软件开发环境的用户来说,它将是一个非常有效的学习工具和开发手段,因为 整个软件系统都是,且基于 议( 外)。因此,如果要学习 苦于没有硬件支持, 真环境软件是一个很好的选择! 如果想研究与具体硬件无关的系统软件(如 P 协议栈等),采用 为你可以直接在 进行开发和调试,而与具体硬件打交道的各种 经存在,且有源码级调试环境,只需关心高层的逻辑设计和实现就可以了。 由于 目标不是验证硬件逻辑,而是协助开发、调试和学习系统软件,所以在实现上 真实的硬件环境相比还是有一定差别的。 节拍的时序上不保证与硬件完全相同,对软件透明的一些硬件模拟进行了一定的简化 , 这样带来的好处是 执行效率更高。 不能取代开发板等硬件的功能,但通过它可以比较容易进入到嵌入式软件的广阔天地中。由于 立在 础之上,使用者可以方便地使用 供的各种调试手段对 真系统上的软件进行源码级的调试,还可以进行各种分析,如执行热点分析、程序执行覆盖度分析等。由于 经验的用户完全可以修改和扩充 满足自己的需求。 件模拟逻辑结构图 如下图 4 图 4件模拟逻辑结构图 前 拟了大量的硬件,包括 核、存储器、存储器管理单元、缓存单元、串口、网络芯片、时钟等。下面做一简单介绍。 开发板系列 以模拟的 要是基于 核的 括 。,它们不支持 本核。 建立在以上 上,并扩展了 其它功能。各硬件开发公司可以根据它们的需求在上述 上加上特定的扩展,形成基于各种 本核心的特定 别扩展了 内存控制和各种 I/O 控制器,简化了开发板的逻辑设计,大大增强了开发板的功能。 拟的开发板包括基于 1开发板,基于 开发板、基于 发板,基于 发 板 、 基 于 33开发板、基于 开发板、基8 于 开发板等。主要模拟了对应各个开发板的串口、时钟、络芯片等硬件外设 目前能在 运行下面的操作系统和系统软件 有 持网络 ), 于 核 , 支持网络 ), .on 于 应用程序 。 有了 们就可以 通过 以 模拟嵌入式环境进行嵌入式开发,帮助促进嵌入式系统的学习,在不需要额外硬件的情况下学习和分析 作系统和其它嵌入式操作系统,如 , 通过 进操作系统的研究,如 。 安装 存储器管理单元和缓存单元 存储器管理单元,是用来管理虚拟内存系统的硬件。 两个主要功能是:将虚地址转换成物理地址;控制存储器的存取权限。 掉时,虚地址直接输出到物理地址总线。 身有少量存储空间存放从虚拟地址到物理地址的匹配表,此表称作 中保存的是虚 址及其对应的物理地址,权限,域和映射类型。当 一虚拟地址进行存取时,首先搜索 以查找对应的物理地址等信息,如果没有查到,则进行查找 为 称 经过 程后,将查到的信息保存到 后根据项的物理地址进行读写。 缓存单元,主要用于缓存内存中的数据,其读写速度远快于内存的读写速度,所以可以提高 内存数据的访问效率。 件单元的作用与 作用 类似。 般是高性能 重要组成部分,且不同类型 逻辑行为也有一定的差异。为了支持模拟多种类型 含了一个通用的 拟实现。通过对一些参数的调整可以支持模拟多种类型的 理结构和逻辑行为。 网络芯片 目前 拟了网络芯片 8019特点是: 容,内建 16冲区, 10输速率。虽然 目前模拟的开发板上不一定有网络芯片8019我们可以在我们模拟的开发板上加上网络芯片 8019模拟。这样再加上在不同操作系统上的 8019动程序,就可以方便地完成各种网络应用的开发和设计。目前已经在在基于 开发板上实现了网络芯片8019展,并增加了 网络驱动程序,已经支持大量的网9 络应用程序,如 一个 P 协议栈实现)、 。 先到 ,选择版本为 为此版本为在 编译好的代码。把下载的 动到 / 录下,并改名为 变 属性,运行以下命令: mv 55 /编译安装过程中,须注意以下几点:如果你使用的是 么有可能你在编译 会出现有关 库的一些错误,那么你需要运行下面的命令: s /后再重新编译 。 如果你使用的是 不要用 要使用 你系统中所使用的 本号应该要大于或等于 如果 本号大于 那么你需要在你的系统中安装 拟要用到 ) 。 ( 2) 安装 叉编译环境并配置 叉编译就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台 , 实际 上包含两个概念:体系结构( 操作系统( 同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的 台实际上是 系结构和 作系统的统称;而 系结构和 T 作系统的简称。有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征; 有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如 C 代码)编译( 计算机可以识别和执行的二进制代码。比如,我们在 台上,可使用 +开发环境,编写程序并编译成可执行程序。这种方式下,我们使用 台上的 具开发针对 种编译过程称为 文可理解为本机编译。 然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的10 存储空间和运算能力,比如常见的 台,其一般的静态存储空间大概是 16到 32 主频大概在 100 500间。这种情况下,在台上进行本机编译就不太可能了,这是因为一般的编译工具链( 要很大的存储空间,并需要很强的 算能力。为了解决这个问题,交叉编译工具就应运而 生了。通过交叉编译工具,我们就可以在 力很强、存储控件足够的主机平台上(比如 )编译出针对其他平台的可执行程序 。 要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链( 然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下: 在 C 上,利用 发环境),使用 译器,则可编译出针对 可执行代码。 在 C 上 ,利用 译器,可编译出针对 台的可执行代码。 在 C 上,利用 境,运行 译器,可编译出针对 可执行代码。 我们这里用的就是 在 C 上,利用 译器 , 下载 变文件属性,并执行: 55 ./ 3)安装 载版本为 解压。 进入解压生成的目录下,编译 束后,则生成五个 执行文件,分别位于 应的应用名目录下。 ( 4) 下载 并运行 件包 到 点下载 解压。然后在/录下执行: 选择 本选择 时在 /录下生成 件,证明安装成功。 11 在 录下建立仿真 置文件 容如下: , W, , W, , , , W, , W, , W, , W, /行如下命令: .x/出现如图 4示的运行 结果 图 4行结果 2 在为 发应用程序时,绝大多数情况下使用的都是 C 语言,因此几乎每一位 序员面临的首要问题都是如何灵活运用 C 编译器。 目前 最常用的 C 语言编译器是 它是 目中符合 标准的编译系统,能够编译用 C、 C+和 等语言编写的程序。仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如 。开放、自由和灵活是 魅力所在,而这一点在 的体现就是程序员通过它能够更好地控制整个编译过程。在使用 译程序时,编译过程可以被细分为四个阶段: ( 1) 预处理( ( 2) 编译( ( 3) 汇编( ( 4) 链接( 序员可以根据自己的需要让 编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为今后的调试做好准备。和其它常用的编译器一样, 提供了灵活而强大的代码优化功能,利用它可以生成执行效率更高的代码。 供了 30 多条警告信息和三个警告级别,使用它们有助于增强程序的稳定性和可移植性。此外, 对标准的 C 和 C+语言进行了大量的扩展,提高程序的执行效率,有助于编译器进行代码优化,能够减轻编程的工作量 。 从程序员的角度看,只需简单地执行一条 令就可以了,但从编译器的角度来看,却需要完成一系列非常繁杂的工作。首先, 要调用预处理程序 它负责展开在源文件中定义的宏,并向其中插入 “#句所包含的内容;接着, 调用 处理后的源代码编译成目标代码;最后,调用链接程序 生成的目标代码链接成一个可执行程序。为了更好地理解 工作过程,可以把上述编译过程分成几个 步骤单独进行,并观察每步的运行结果。 第一步是进行预编译,使用 下 一步是将 件 编译为目标代码,这可以通过使用 数来完成 , 认将 语言源代码,因此上述命令将自动跳过预处理步骤而开始执行编译过程,也可以使用 数让 指定的步骤开始编译。最后一步是将生成的目标文件链接成可执行文件 。 在 开发软件时,完全不使用第三方函数库的情况是比较少见的,通常来讲都需要借助一个或多个函数库的支持才能够完成相应的功能。从程序员的角度看,函数库实际上就是一些头文件( 库文件( 者 集合。虽13 然 的大多数函数都默认将头文件放到 /录下,而库文件则放到 /录下,但并不是所有的情况都是这样。正因如此, 编译时必须有自己的办法来查找所需要的头文件和库文件。 用搜索目录的办法来查找所需要的文件, 项可以向 头文件搜索路径中添加新的目录。例如,如果在 /录下有编译时所需要的头文件 , 为了让 够顺利地找到它们,就可以 使用 项: # I /o 果使用了不在标准位置的库文件,那么可以通过 项向 库文件搜索路径中添加新的目录。例如,如果在 /录下有链接时所需要的库文件 了让 够顺利地找到它,可以使用下面的命令 : # L /o 值得好好解释一下的是 项,它指示 连接库文件 就是应该以 个字母开头,由于所有的库文件都遵循了同样的规范,因此在用 项指定链接的库文件名时可以省去 就是说 对 行处理时,会自动去链接名为 文件 。 的库文件分为两大类分别是动态链接库(通常以 尾)和静态链接库(通常以 尾),两者的差别仅在程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的。默认情况下, 链接时优先使用动态链接库,只有当动态链接库不存在时才考虑使用静态链接 库,如果需要的话可以在编译时加上 项,强制使用静态链接库。例如,如果在 /录下有链接时所需要的库文件 了让 链接时只用到静态链接库,可以使用下面的命令: # L /o 在编译一个包含许多源文件的工程时,若只用一条 令来完成编译是非常浪费时间的。假设项目中有 100 个源文件需要编译,并且每个源文件中都包含 10000 行代码, 如果像上面那样仅用一条 令来完成编译工作,那么
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 月底小福利活动方案
- 景区报恩活动方案
- 村委春晚活动方案
- 机构比赛活动方案
- 果业公司拜年活动方案
- 月底续保活动方案
- 杯子图形拓展活动方案
- 果酒目标人群活动方案
- 服装产业促进会活动方案
- 林业党员七一活动方案
- 2024年泉州实验中学初一新生入学考试数学试卷
- 2025年第二届全国安康杯安全生产知识竞赛题库及答案(共190题)
- 护士法律法规知识培训课件
- DB11-T 2398-2025 水利工程巡视检查作业规范
- 2025年光伏行业上半年发展回顾与下半年形势展望
- 输血管理相关制度
- 2025至2031年中国纸巾用香精行业投资前景及策略咨询研究报告
- 老年性痴呆病人的护理与管理
- 无固定期限劳工合同通知书
- GB/T 45161-2024液氢容器用安全阀技术规范
- 《中医推拿按摩教程》课件
评论
0/150
提交评论