嵌入式系统软件设计中的数据结构 pdf电子书
上传时间: 2022-08-09
上传用户:
嵌入式图像采集系统具有体积小、成本低、稳定性高等优点,在远程监控、可视电话、计算机视觉、网络会议等领域应用广泛。为克服传统基于单片机的图像采集系统的种种不足,本文提出了一种新的解决方案,利用高速的ARM9嵌入式微处理器S3C2410A为硬件核心,搭配USB摄像头,结合Linux构建了一套嵌入式的图像采集系统。USB摄像头有着容易购买、性价比高等优点,但长期以来将其直接应用于嵌入式系统却很困难。随着ARM微处理器的广泛应用,嵌入式系统的性能得到了极大的提升。人们逐渐将操作系统引入其中,方便系统的管理和简化应用程序的开发。Linux是一个免费开源的优秀操作系统,将其移植到嵌入式系统中能够对系统进行高效地管理、极大地方便应用程序的开发。嵌入式的Linux操作系统继承了Linux的优良特性,还有着节约资源,实时性强等优点。在本方案中以嵌入式Linux操作系统为基础,借助其对USB、网络等的强大支持能力来构建高度灵活的图像采集系统。通过利用Linux操作系统内建的video4Linux对摄像头进行编程,实现了将USB摄像头采集到的视频数据进行显示和存为图片的功能。本文中具体讲述了嵌入式的软硬件平台的构建,USB摄像头的驱动开发,图像采集应用程序的实现等。本文提出的嵌入式图像采集方案适用于市面上绝大多数流行的USB摄像头,还能把得到的图像通过以太网传输以实现远程的监控。这套方案利用应用程序编程接口video4linux所提供的数据结构、应用函数等,实现了在Linux环境下采集USB摄像头图像数据的功能,并运用嵌入式的GUI开发工具Qt/Embedded来编写最终的应用程序实现了美观的用户界面。充分运用Linux操作系统和其工具的强大功能来实现图像采集, 对基于Linux内核的后续图像应用开发具有实用意义。本系统完全基于开放的平台和模块化的实现方法,具有良好的可移植性,可方便地进行各种扩展。这种方案所实现的图像采集系统成本低,灵活性高,性能好,是一种优良的解决方案。本文详细介绍了这种基于Linux系统和S3C2410A平台的嵌入式图像采集系统。关键词:嵌入式,ARM,USB,图像采集,Linux
上传时间: 2013-06-05
上传用户:bangbangbang
本文介绍了基于软PLC(Programmable Logic Controller,可编程控制器)的嵌入式技术起源和背景,综述了基于软PLC的嵌入式系统的关键技术和优点,最后介绍了其设计和实现的方法。 基于软PLC的嵌入式系统的研究与实现分为开发系统和运行系统(又称为虚拟机系统)。本文概述了开发系统,其运行于PC机的操作系统如Windows或者Linux等,为用户提供一个大众化的编程环境,它包含编辑器、编译器、连接器、调试器和通信接口几个部分。编辑界面友好,可以让用户方便的使用LD、ST和FBD三种语言编写程序,编译器和连接器将源程序文件编译和连接成虚拟机系统可执行的目标代码文件;分析了开发系统,其中详细描述了编译模块的编制过程,实现了将指令表语言转换为运行系统能够识别的C/C++指令的功能;详细地研究了梯形图转换为指令表语言,以及由指令表语言向梯形图语言的算法和数据结构。调试器借助于虚拟机运行系统提供的服务可完成对应用程序的调试纠错;讨论了uCLinux操作系统和编译调试技术,以及采用ModBus/TCP工业通信协议的通信接口用于开发系统和运行系统之间的通信。 另一方面,本文分析了虚拟机运行系统,它运行于安装了uCLinux的ARM7平台上,包括运行内核模块、系统管理模块和通信接口模块。由于uCLinux没有MMU和本身对实时性没有什么要求,而针对基于软PLC的嵌入式系统的研究与实现要求,本文在对其进行了uCLinux小型化研究的同时探讨了双内核实时性方案,解决了uCLinux实时性不足的问题。运行内核模块调度和执行应用程序并管理时钟。系统管理模块管理系统状态和内存。通信模块用于开发系统及I/O设备通信。在此基础上,对基于软PLC的嵌入式系统的进行了设计与实现,并通过试验将编译的目标代码传递到基于软PLC的嵌入式运行系统中,实现了控制功能,验证了生成目标代码的正确性和开发系统的可行性,实现了编辑界面友好,系统开放,性价比较高的软PLC嵌入式系统,达到了预期的目标,具有一定理论和应用价值。
上传时间: 2013-04-24
上传用户:jiiszha
十多年来,随着信息技术、电子技术和通讯技术的发展,嵌入式系统已经获得了空前的应用和发展。随着嵌入式应用系统功能复杂度的提高、对软件产品的非功能约束的特别关注以及由于市场的激烈竞争导致嵌入式软件推出周期的缩短,都使得嵌入式软件开发人员面临着严峻的危机和挑战。传统的结构化开发方法已经显得力不从心,于是嵌入式软件开发人员在软件开发中引入了目前较为流行的“面向对象方法(OO)”,.但是目前对该方法的应用还只是停留在传统的以编程为中心的嵌入式软件开发方法上,不能很好地保证软件复用和代码的重用,因此难以满足市场对嵌入式软件开发效率和开发质量的要求。 本课题的研究内容是应用面向对象方法的框架技术,对嵌入式系统领域的专有结构组件进行封装,创新性地提出了面向嵌入式系统领域的通用实时框架ARTIC(Abstract real-time contrO1)。ARTIC框架除了具有框架的共有优点一最大限度实现软件重用外,最突出的是具备以下两个特点: 1、功能和非功能的分离 在应用面向对象的技术时,传统的嵌入式软件开发方法关注的重点是软件结构和功能分解,、忽略了嵌入式环境下特殊的非功能性要求。为了在实现系统功能需求的同时,保证软件系统的非功能性需求的实现,ARTIC框架引入了面向方面的思想,、把系统的非功能性需求从功能模块中分离出来,为它们单独设计组件。开发人员在应用该框架进行嵌入式软件设计时,只需要关注功能需求的实现,对于实时性、调度等非功能需求的实现可以通过调用ARTIC提供的时间管理模型和任务调度模型直接实现。 2、基于状态机的主动对象设计模式 根据嵌入式系统通常由多个控制线程组成的特点,应用基于状态机的主动对象设计模式,把嵌入式软件系统构建成多个主动对象的缉合。相对于传统的面向对象方法,本文提出的主动对象的最大特点在于:它提供对事件队列、控制线程和表示主动对象动态行为状态机等的封装,并且该模式可以直接支持嵌入式系统的并行性。 ARTIC框架的应用能够帮助嵌入式软件的开发人员快速地开发出高质量的嵌入式软件,除此之外,因为它包含了一个微小的实时操作系统(RTOS) 报包装,在某些场合可以作为一个简易的RTOS使用。为了验证ARTIC的性能,本文将该框架应用于硬币搬送实时控制系统的开发设计,从该系统的应用中充分体现了ARTIC框架的优点。
上传时间: 2013-06-21
上传用户:cxl274287265
随着电子技术的不断发展和进步,嵌入式系统也越来越广泛的渗入到人类生活的方方面面。我们生活中常用的手机、数码相机、掌上电脑、便携式扫描仪等等都应用到了嵌入式系统。 论文首先介绍了嵌入式系统,包括嵌入式系统的构成、特点、发展趋势以及FPGA在嵌入式中的应用等,指明嵌入式系统设计一般可分为硬件设计和软件设计两部分。 硬件设计部分,首先介绍了FPGA的相关知识,包括FPGA构成、特性、开发工具、开发流程等,并对论文中选用的Altera公司的CyclonⅡ器件做了详细的介绍。利用SOPC Builder、NiosⅡ等工具设计创建了NiosⅡ CPU内核,添加以太网、Flash、PIO以及VGA接口等模块,生成了一个Nios CPU内核,完成硬件设计。 软件设计部分,研究了嵌入式操作系统的发展、种类、特点等,简单介绍了几种代表性的嵌入式操作系统。选择嵌入式操作系统时,综合考虑了内核、可移植性、可裁剪性、外挂模块、成本、服务等各种因素,最终选用μCLinux操作系统。详细介绍了μCLinux的特点、基本架构、代码结构等。利用NiosⅡIDE为宿主机建立Linux开发环境。在IDE里配置Linux内核和文件系统,编译后上载到做好的硬件平台上。启动μCLinux后将一个C语言编写的九宫格求解程序下载到开发板中运行,检验运行结果,验证嵌入式系统的正确性。 论文所做的只是嵌入式系统的一个应用实例。实际应用过程中,用户可以根据自己的实际需要对软硬件进行修改,以实现不同的功能。
上传时间: 2013-07-19
上传用户:zhuoying119
温度的测量在工业领域最为常见,随着电子技术、计算机技术的飞速发展,对现场温度的测量也由过去的模拟刻度温度计、指针温度计向数字显示的智能温度计发展,而且,对测量的精度要求也越来越高。目前,尽管市场上也有高精度的温度测量仪,但一般价格都很昂贵。传统的8位单片机已经越来越不能适应日渐复杂的应用需求。友好的交互界面、网络互联功能、智能化的软件、高效的数据处理几乎成了智能化系统的共同需求。随着嵌入式系统的迅猛发展,这种应用系统正逐步取代传统的以PC为中心的应用,成为未来智能化仪表中的主力军。本文立足于设计一种通用性强的测温系统,可以在软硬件两方面适应多种测温元件,为系统日后升级带来方便。 本论文以对通用Linux操作系统在32位ARM微处理器上进行移植并对其实时性进行了改造。研制了铂热电阻高精度温度监测系统,阐述了其具体技术指标及相关实现方法。系统以S3C2410为硬件核心,开发了主板及数据采集调理电路。构建了以微处理器S3C2410、闪存FLASH、存储器SRAM、A/D、键盘、显示器为一体的温度监测的硬件平台。在此硬件平台上嵌入RT—Linux嵌入式实时操作系统,构建系统的多任务管理,最终完成了本课题的设计开发。
上传时间: 2013-06-07
上传用户:ghostparker
随着经济的发展,生活节奏的加快以及信息技术的进步,人们越来越多的借助高性能的移动手持设备来完成日常工作,目前手持设备处理性能有了很大的提高,其所能处理的数据量也越来越大,传统的文件系统管理数据方式已经越来越满足不了需求,嵌入式数据库就随之诞生,为手持设备提供专业的数据管理。嵌入式数据库的轻量级、被软件产品包含、无需人工数据库管理等特点使其适合被应用于各类嵌入式系统及手持设备中。使用嵌入式数据库与使用文件系统进行客户端数据管理相比更加灵活方便、可以高效地实时更新客户端本地数据。使用数据库完成大量数据的存储和管理,同图形界面软件结合构成嵌入式系统应用开发的支撑系统。 SQLite数据库作为一种开源的嵌入式数据库,具有体积小,速度快,存储量大,API使用方便等诸多的优点,目前已经成为被广泛应用的嵌入式数据库之一。同样的,嵌入式图形界面MINIGUI的开源版本也具有体积小,控件比较丰富,编程难度不高等优点,受到广大嵌入式开发者的喜爱。 本文的主要任务是将MINIGUI和SQLite进行有针对的裁剪或添加部分功能后移植到开发板上,然后将图形界面和数据库相结合在arm—linux平台上建立一个具有基本功能的嵌入式信息管理系统。首先分析了系统所使用的硬件平台并研究了软件环境的搭建过程,包括移植Bootloader、移植linux内核、建立NFS网络文件系统进行程序调试,然后分别给出了嵌入式图形界面MINIGUI和嵌入式数据库SQLite移植到开发板的过程和它们各自的开发技术,最后详细研究了如何在MINIGUI中连接SQLite数据库,从而将二者结合起来编程以实现本系统并给出了系统在开发过程中所遇到的关键问题的解决方案,包括屏幕旋转及校正、设计软键盘进行屏幕输入、利用SQLite存储图片文件。从而证明了当前条件下在嵌入式系统中实现一个比较简单的信息管理系统是完全可行的。最后讨论了该领域存在的一些问题和今后需要进一步研究的课题。
上传时间: 2013-07-10
上传用户:visit8888
嵌入式图像采集系统具有体积小、成本低、稳定性高等优点,在远程监控、可视电话、计算机视觉、网络会议等领域应用广泛。为克服传统基于单片机的图像采集系统的种种不足,本文提出了一种新的解决方案,利用高速的ARM9嵌入式微处理器S3C2410A为硬件核心,搭配USB摄像头,结合Linux构建了一套嵌入式的图像采集系统。USB摄像头有着容易购买、性价比高等优点,但长期以来将其直接应用于嵌入式系统却很困难。随着ARM微处理器的广泛应用,嵌入式系统的性能得到了极大的提升。人们逐渐将操作系统引入其中,方便系统的管理和简化应用程序的开发。Linux是一个免费开源的优秀操作系统,将其移植到嵌入式系统中能够对系统进行高效地管理、极大地方便应用程序的开发。嵌入式的Linux操作系统继承了Linux的优良特性,还有着节约资源,实时性强等优点。在本方案中以嵌入式Linux操作系统为基础,借助其对USB、网络等的强大支持能力来构建高度灵活的图像采集系统。通过利用Linux操作系统内建的video4Linux对摄像头进行编程,实现了将USB摄像头采集到的视频数据进行显示和存为图片的功能。本文中具体讲述了嵌入式的软硬件平台的构建,USB摄像头的驱动开发,图像采集应用程序的实现等。本文提出的嵌入式图像采集方案适用于市面上绝大多数流行的USB摄像头,还能把得到的图像通过以太网传输以实现远程的监控。这套方案利用应用程序编程接口video4linux所提供的数据结构、应用函数等,实现了在Linux环境下采集USB摄像头图像数据的功能,并运用嵌入式的GUI开发工具Qt/Embedded来编写最终的应用程序实现了美观的用户界面。充分运用Linux操作系统和其工具的强大功能来实现图像采集,对基于Linux内核的后续图像应用开发具有实用意义。本系统完全基于开放的平台和模块化的实现方法,具有良好的可移植性,可方便地进行各种扩展。这种方案所实现的图像采集系统成本低,灵活性高,性能好,是一种优良的解决方案。本文详细介绍了这种基于Linux系统和S3C2410A平台的嵌入式图像采集系统。
上传时间: 2013-04-24
上传用户:再见大盘鸡
随着电子技术的不断发展,嵌入式系统越来越多地在控制类、消费类、通讯类等电子产品广泛应用,嵌入式技术也越来越和人们的生活紧密结合。同时,计算机硬件的发展以及数据量的增加,对存储设备的要求也越来越高。 本文深入研究了嵌入式系统中数据存储和数据交换,提出了一套完整的嵌入式系统中数据存储和数据交换的设计方案,并详细介绍了其实现过程。Flash存储器由于体积小、功耗低、性能稳定等特点在便携式电子产品中得到了广泛的应用。Flash存储器主要有两种形式:Nor Flash和Nand Flash。Nor Flash具有XIP特性,可以直接在芯片上执行代码,而且读取速度较快。Nand Flash存储密度大、容量大、生产工艺简单、性价比高,但是控制方式复杂而且可能会存在一定的坏块。SD卡是近年来流行的大容量便携式存储卡。本系统中,我们以Flash和SD卡作为数据存储介质。在存储介质的选择方面,在系统内部采用了体积小、容量大、成本低的Flash,并采用Nor和Nand Flash相结合的方案:在Nor Flash上存储与系统相关的软件和程序,在Nand Flash上存储用户数据。系统外部采用安全性高、容量大、性能佳的SD卡作存储容量扩展。实现了基于Atmel公司ARM系列MCU的Flash存储器和SD卡的硬件电路的设计及底层驱动程序的设计。 本研究分别根据Nor和Nand Flash数据存储和操作特点,分析了JFFS2和YAFFS的特点以及各自的存储方式、断电保护、损耗平衡、垃圾回收等一系列的策略和机制,并在Nor和Nand Flash上实现并优化了这些管理机制。在SD上则采用目前主流操作系统(Windows,Linux等)所支持的FAT16文件格式,完成了从磁盘格式化到文件的读写等标准API函数,实现了嵌入式系统的高速数据交换。
上传时间: 2013-04-24
上传用户:qulele
随着现代计算机技术和互联网技术的飞速发展,嵌入式系统成为当前最热门的焦点之一;ARM以其高性能低功耗等特性成为目前应用最广泛的32位嵌入式处理器。近年来得到快速发展的机电一体化设备的人民币纸币清分机系统,是嵌入式系统的典型应用;它的主要工作流程是:人民币图像通过图像传感器采集得到的模拟信号,经过放大、A/D转换和FPGA协调之后得到数字图像,经缓存后进入到主CPU--S3C2410,通过图像识别,实现面向、面值、新旧分级、破损程度等特征的识别,最后送出结果到控制CPU对识别结果进行相应的显示和机械动作。论文主要涉及以下这些内容: 1):基于ARM的嵌入式系统和清分机系统介绍。 2):人民币清分机的硬件系统基本构架,清分机的各关键硬件的选型及主要原理;着重介绍清分机的处理核心--S3C2410。 3):图像处理基础。介绍了清分机系统中各类图像的特点,图像分析中的常用工具--灰度直方图,从而为识别算法做好准备。 4):介绍了人民币的特征识别算法原理及实现基本流程,通过MATLAB对算法进行仿真研究。 5):嵌入式linux设备驱动的开发。针对清分机设备种类繁多而又是多任务的特点,本文提出使用可裁剪而又稳定的linux操作系统来管理整个清分机系统;而实现操作系统对清分机的管理首先就要实现设备与操作系统的连接--设备驱动。
上传时间: 2013-06-01
上传用户:xoxoliguozhi