周雷[1](2015)在《事件驱动的嵌入式系统调度内核研究与实现》文中认为嵌入式操作系统是运用在对成本、大小、功能、功率多方面有特殊要求的应用中,嵌入式操作系统可根据应用的需求来裁剪软硬件,更加的灵活。嵌入式系统应用的特点是对实时性要求高且资源受限,因而,提高系统资源利用率,是嵌入式操作系统领域研究的焦点。本课题对基于事件驱动的嵌入式操作系统调度内核进行深入研究,实现了基于事件驱动的调度内核。本课题研究了解了现有实时嵌入式操作系统的调度机制,阐述了任务优先级调度机制的,介绍了事件优先级与任务优先级调度内核的区别。介绍了事件优先级的优点和事件驱动调度内核的基本设计思路,明确了事件驱动调度内核要实现的目标,奠定了实现事件驱动调度内核的理论基础。通过分析和设计,事件驱动调度内核采用了事件优先级、单堆栈的设计、采用订阅-发布模式、任务不可重入性、采用静态事件池等设计思路。设计了内核目录结构、数据结构以及各数据结构之间的关系,确定了事件调度的流程。事件驱动的调度内核实现了事件控制块、事件帮助类、事件池、事件池帮助类等数据结构。利用事件就绪组和事件就绪表实现了事件优先级并实现了O(1)时间复杂度查找最高优先级事件;所有任务都是RTC(Run To Compeletion)的,它们统一使用系统栈,实现了单堆栈设计;用户通过使用事件帮助类和事件池帮助类操作事件控制块和事件池,任务只需要注册、处理和产生事件,不需要了解与其他任务如何协作,内核决定调度哪个事件,实现了订阅-发布模式;在任务函数中,用一个标志位表示该任务是否正在执行,若正在执行则退出,实现了任务不可重入。本文最后对内核进行了测试,分别进行了Win32平台测试、Arduino平台[21]测试,分别计算出了在Win32平台下事件驱动调度内核和任务驱动调度内核在执行过程中任务占用的内存,实际应用中,内存节省率会随着任务所占内存大小和任务的执行顺序不同而改变。通过内存比较得出了事件驱动的调度内核更节省内存、更高效;另一方面,使用事件驱动调度内核,编程人员可以很少使用甚至不使用信号量等同步机制,降低编程人员多线程编程难度。通过实验测试并给出相应数据,验证了事件驱动的嵌入式系统调度内核的正确性、可行性、高效性。本课题对提高系统资源利用率、使多线程编程更简单有重要的参考价值。
徐恩松[2](2012)在《全数字式数控现场总线通用应用层的设计与实现》文中研究说明随着数控系统朝着高性能、高速度、高精度、开放式数控系统的方向发展,开发基于数控现场总线技术,并满足开放式要求的全数字式数控系统是目前国际高档数控系统的发展趋势。然而,目前国际上存在多种数控现场总线及标准,其协议及数据交换接口各不相同、产品互不兼容,造成了当前数控系统只支持一种数控总线、运动控制器模块与数控总线模块是一种高耦合的关系,不能满足全数字式数控系统的开放式要求。为实现全数字式数控系统能够兼容多种总线,达到数控总线模块可配置的目的。本文对数控现场总线通用应用层进行了研究与开发,重点解决了以下问题:1.设计了基于协议栈的数控总线结构具体模型及一个数控现场总线通用应用层架构。该架构将应用层进一步分为应用接口子层和协议接口子层,前者向上层数控应用提供统一的服务接口,后者屏蔽下层不同总线的差异。2.完成了数控现场总线通用应用层的详细设计与实现。分析了所需的关键技术并给出了相应的解决方案,如统一的站点地址、应用层协议数据报文格式、单位系、总线配置结构等。应用接口子层提供了传输服务、设备服务、总线管理服务等统一的服务接口;协议接口子层实现了服务映射管理、协议映射管理、总线通讯卡PCI设备的驱动程序。3.实现了基于该通用应用层架构的MECHATROLINK III总线的服务协议,及其通讯卡JL100的驱动程序。将其编译成Linux内核模块应用在蓝天数控系统中,并进行了配置与测试。通过测试,验证了该方案的可行性和正确性,提高了数控系统的开放性和扩展性。
吴文河,鞠晓东,成向阳,卢俊强,邓林[3](2011)在《基于uClinux的测井仪器调试台架前端机软件设计》文中研究表明介绍一种基于uClinux系统平台的调试台架前端机软件设计方案,软件由驱动程序和应用程序两部分构成。为满足仪器测试中实时高速大数据通讯要求,实时控制局域网总线(CAN)和井下仪器总线(DTB)通讯功能由驱动程序完成。应用程序实现人机交互、与上位机网络通讯等实时性要求不高的功能。驱动程序与应用程序之间的信息交换由异步通知信号实现。所提方案已成功应用到微电阻率扫描、阵列感应、多极阵列声波等系列化成像测井仪器调试台架之中,并且加快了这些仪器的研制及维护效率。
马萍,孙玉坤,逄栋[4](2011)在《基于GPRS的无刷直流电机远程监控系统设计与实现》文中研究说明本系统以S3C2410A+TMS320F2812为控制核心,并移植了嵌入式L inux操作系统,设计了一种通过GPRS无线网络对油田中的无刷直流电机进行远程监控的系统。重点阐述了系统的硬件设计,并对软件设计进行了总体介绍。最后通过进行远程和现场的试验,验证了系统的可行性。
胡伟[5](2010)在《Android系统架构及其驱动研究》文中进行了进一步梳理Android作为Google公司推出的专为智能终端定制的操作系统,已经成为目前智能手机中增长最快的操作系统,并且必将对手持终端操作系统的发展产生重要而深远的影响。文章研究、分析了该操作系统的架构、代码结构,并着重研究了其驱动的原理和特点。
雷文礼,杨延宁,张水利,孙七零[6](2010)在《基于ARM的油井无线监测系统的设计与实现》文中研究表明随着国家对石油能源的重视,电子技术和通信技术在石油开采监测中的应用日益广泛。提出了一种基于ARM的油井无线网络监测系统,通过无线网络将采集到的图像数据发送到远端图像查看设备。远端图像查看设备通过Web浏览器查看现场图像。图像采集终端基于S3 C2410和嵌入式Linux操作系统平台,使用Video4 Linux接口实现图像数据采集,并建立Web服务器使图像数据可以被远端设备查看。
张功萱,王平立,何广生,张冲[7](2008)在《基于ARM的数据包提取转发机制的研究》文中认为提出了基于ARM的数据包提取转发机制.机制的主要任务由改进的数据包提取转发模型——ENSS系统模块承担,该模块是在一个独立于Windows操作系统的硬件平台上运行的一个高安全的系统处理平台.采取Netfilter钩子钩取从一个网卡链路层的数据包提取到网络层,由ARM的安全处理模块进行处理,然后由另一个网卡发送出去.ENSS系统模块取得了良好效果,为其网络安全处理提供了高速稳定的通信平台.
何王勇,唐小琦,曹毅[8](2008)在《基于Linux实时平台的PCI1784精密测量技术》文中研究指明文章结合计算机技术和精密测量技术,介绍了一种利用"Linux+RTAI+研华PCI1784采样卡"对机床动态运动参数进行实时测量的方法.文中就实时Linux系统的搭建、Linux下PCI1784设备驱动的实现、中断测量以及测量数据的分析等技术给予了详细的论述和说明。并通过实际工程实例进行了验证,取得了在0.2ms采样周期下的机床实时动态运动参数。说明该方法作为一种新的测量手段具有较好的应用价值。
冯国富,魏恒义,储鹰,董小社[9](2008)在《支持多种Linux版本的动态内核性能测试技术》文中研究说明基于Intel IA32架构,提取了相对稳定的Linux操作系统框架.该框架主要集中于源代码树中的/arch目录中,由一些简短、高效的与体系结构相关的汇编代码构成.据此,设计了性能测试方案,包括基于地址表格改写的入口插接方案和基于代码拼接的出口插接方案.方案在运行的操作系统中,通过动态改写系统内存的插接技术实时地插入测试代码,测试代码可以使用高级语言来书写.实验表明,所提方案适用于通用的Linux 2.4和Linux 2.6内核系列,其时间开销仅为基于中断动态插接技术的6%左右,且能发现系统硬件和操作系统的关键性能问题.
何广生[10](2008)在《基于双核的安全Windows终端系统辅核通信模块研究与实现》文中研究说明网络技术飞速发展并被广泛应用于社会生活的各个方面,PC终端的数据信息安全也变得日益严重。在国内Windows PC终端普遍应用,该终端安全机制较为薄弱,其上存放的敏感信息成为网络窃取的主要对象。本课题提出采用主辅式双核、双操作系统模型来解决Windows终端的安全问题并得到国家863计划支持。在双核双操作系统模型中,主核端为X86主机并运行Windows操作系统,辅核端为基于ARM核的网络安全防护板卡并运行高安全的嵌入式操作系统。通过在辅核端运行安全处理软件对出入Windows PC终端的网络数据进行安全处理,从而达到保护Windows终端网络安全的目的。由于将安全处理与Windows操作系统相分离,并能够做到Windows操作系统与外网物理上的隔离,双核双操作系统结构有效地克服了传统网络安全防护技术可以被攻击者绕过的缺点,能够实现对Windows PC终端更好保护。在“双核双操作系统”架构下,本文负责辅核系统通信模块的的设计和实现,具体完成四部分工作:对运行在辅核板卡上的嵌入式操作系统进行了选择并完成了嵌入式操作系统的移植、嵌入式文件系统的制作;研究辅核系统和Windows主机的通信方法、提出采用双端口缓存方法完成和主机系统通信的模式,设计和实现基于双端口存储器的主辅核通信缓冲机制以及主辅核通信协议;设计和实现基于CS8900A网络控制器的辅核外网通信驱动程序实现辅核和网络通信;在分析网络安全防护板卡硬件基础上,结合主辅核通信模块和辅核外网通信模块的功能特点,提出了在Netfilter框架基础上改进的辅核提取转发模块新的通信模型,并给出了模型的具体实现。本文辅核通信模块应用于“双核双操作系统”架构下取得了良好效果,为辅核系统网络安全处理提供了高速稳定的通信平台,达到课题设计目的。
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
| 摘要 |
| Abstract |
| 第1章 绪论 |
| 1.1 目的及意义 |
| 1.2 现状及发展趋势 |
| 1.3 论文主要内容及结构 |
| 第2章 经典嵌入式系统调度内核简介 |
| 2.1 UC/OS-II 调度内核 |
| 2.2 QF |
| 2.3 本章小结 |
| 第3章 事件驱动调度内核设计 |
| 3.1 设计思路 |
| 3.1.1 事件优先级 |
| 3.1.2 单堆栈设计 |
| 3.1.3 订阅-发布设计模式 |
| 3.1.4 任务的可重入性 |
| 3.2 框架设计 |
| 3.3 调度模型 |
| 3.4 本章小结 |
| 第4章 事件驱动调度内核实现 |
| 4.1 数据结构 |
| 4.1.1 事件控制块 |
| 4.1.2 事件帮助类 |
| 4.1.3 事件池 |
| 4.1.4 事件池帮助类 |
| 4.2 核心功能实现 |
| 4.2.1 创建事件 |
| 4.2.2 注册任务 |
| 4.2.3 发送事件 |
| 4.2.4 设置事件就绪表 |
| 4.2.5 事件调度 |
| 4.2.6 查找最大优先级事件 |
| 4.2.8 事件处理 |
| 4.3 本章小结 |
| 第5章 测试 |
| 5.1 WIN32 平台测试 |
| 5.2 内存比较 |
| 5.3 ADUINIO 平台测试 |
| 5.4 本章小结 |
| 第6章 总结与展望 |
| 参考文献 |
| 致谢 |
| 摘要 |
| ABSTRACT |
| 引言 |
| 第一章 绪论 |
| 1.1 课题研究背景及意义 |
| 1.2 课题研究现状及发展趋势 |
| 1.2.1 现场总线的发展现状 |
| 1.2.2 国内外开放式数控系统的研究 |
| 1.3 课题来源及研究内容 |
| 1.4 本文组织结构 |
| 第二章 数控现场总线和现场总线集成技术研究 |
| 2.1 数控现场总线 |
| 2.1.1 现场总线对数控系统的影响 |
| 2.1.2 实时工业以太网数控总线 |
| 2.2 常见数控现场总线 |
| 2.2.1 EtherCAT 简介 |
| 2.2.2 NCSF 简介 |
| 2.2.3 MECHATROLINK III 简介 |
| 2.3 现场总线集成技术 |
| 2.3.1 OPC 技术 |
| 2.3.2 网关技术 |
| 2.3.3 A-R 分层技术 |
| 2.4 本章小结 |
| 第三章 数控现场总线通用应用层总体结构设计方案 |
| 3.1 数控总线功能分析 |
| 3.2 数控总线结构具体模型设计 |
| 3.3 通用应用层整体架构设计 |
| 3.3.1 通用应用层架构 |
| 3.3.2 应用层内部通讯模型 |
| 3.3.3 应用层状态机 |
| 3.4 CNC 系统软件简介 |
| 3.4.1 Linux 的优缺点 |
| 3.4.2 RTLinux 简介 |
| 3.4.3 Linux 内核模块编程 |
| 3.5 数控系统整体结构 |
| 3.6 本章小结 |
| 第四章 数控现场总线通用应用层的详细设计与实现 |
| 4.1 应用接口子层的设计与实现 |
| 4.1.1 关键技术及解决方案 |
| 4.1.2 重要数据结构 |
| 4.1.3 功能服务 |
| 4.2 协议接口子层的设计与实现 |
| 4.2.1 服务映射管理 |
| 4.2.2 协议映射管理 |
| 4.2.3 总线 PCI 通讯卡驱动程序的设计与实现 |
| 4.3 对 M3 总线的映射实现 |
| 4.3.1 M3 总线协议规范 |
| 4.3.2 M3 服务及命令处理函数的实现 |
| 4.3.3 JL100 通讯卡驱动程序的实现 |
| 4.4 在运动控制器中的应用 |
| 4.5 本章小结 |
| 第五章 系统测试与实例运行 |
| 5.1 测试环境 |
| 5.2 实例测试 |
| 5.3 本章小结 |
| 结束语 |
| 参考文献 |
| 发表文章 |
| 致谢 |
| 1 仪器调试台架系统简介 |
| 2 嵌入式前端软件架构设计 |
| 3 驱动程序设计 |
| 4 应用程序设计 |
| 5 应 用 |
| 0 引言 |
| 1 远程监控系统硬件设计 |
| 2 系统软件设计 |
| 2.1 嵌入式开发平台的构建 |
| 2.2 TMS320F2812的驱动程序设计 |
| 2.3 服务器/客户端应用程序设计 |
| 2.4 服务器监控界面设计 |
| 2.5 电机的转速调节算法 |
| 3 试验结果与分析 |
| 3.1 无GPRS网络下的试验 |
| 3.2 GPRS远程监控试验 |
| 4 结语 |
| 0 引言 |
| 1 测量仪硬件简介 |
| 2 Linux+RTAI实时测量技术的实现[1-2] |
| 2.1 Linux操作系统下实时系统的搭建 |
| 2.2 软件设计 |
| (1) Linux下PCI-1784设备驱动程序的实现 |
| (2) 中断处理 |
| (3) 用户态控制程序 |
| (4) 应用实例 |
| 3 结论 |
| 1 操作系统功能框架提取 |
| 1.1 操作系统功能实现 |
| 1.2 操作系统功能框架 |
| 2 功能框架下的动态内核测试技术 |
| 2.1 内核性能数据获取技术 |
| 2.2 基于系统内存改写的低开销动态插接技术 |
| 2.3 测试装置安装方案 |
| 2.3.1 基于地址表格改写的入口测试装置安装 |
| 2.3.2 基于代码拼接的出口测试装置安装 |
| 2.4 内核地址定位 |
| 2.5 不依赖于内核版本的测试方案分析 |
| 3 验证与测试 |
| 3.1 测试环境与测试方案设计 |
| 3.2 测试结果与分析 |
| 3.2.1 可行性测试 |
| 3.2.2 同操作系统版本不同硬件配置的测试 |
| 3.2.3 同硬件不同操作系统的测试 |
| 3.2.4 性能开销分析 |
| 4 结束语 |
| 摘要 |
| Abstract |
| 目录 |
| 1 绪论 |
| 1.1 网络安全现状 |
| 1.2 课题背景、项目来源以及研究内容 |
| 1.3 国内外相关技术综述 |
| 1.3.1 嵌入式操作系统 |
| 1.3.2 双处理器数据交换技术 |
| 1.3.3 嵌入式网络安全方案 |
| 1.4 本文组织结构 |
| 2 基于双核的Windows终端系统辅核通信模块总体架构 |
| 2.1 基于双核的安全Windows终端理论 |
| 2.1.1 基于双核的安全Windows终端设计思想 |
| 2.1.2 基于双核的安全Windows终端体系结构 |
| 2.1.3 双核双操作系统结构的特性分析 |
| 2.2 双核Windows终端系统辅核通信模块总体架构 |
| 2.2.1 辅核系统硬件体系结构 |
| 2.2.2 辅核系统通信模块软件体系结构 |
| 2.2.3 辅核系统通信模块数据流程 |
| 3 辅核平台系统移植和开发环境搭建 |
| 3.1 辅核板卡硬件平台介绍 |
| 3.2 Linux系统移植相关理论 |
| 3.2.1 Linux内核分层结构 |
| 3.2.2 Linux系统内核代码树与系统移植 |
| 3.2.3 Linux内核配置系统 |
| 3.3 Linux系统移植实现 |
| 3.3.1 Linux内核配置和裁减 |
| 3.3.2 Linux内核代码修改 |
| 3.3.3 Linux内核编译 |
| 3.4 定制嵌入式文件系统 |
| 3.4.1 根文件系统的内容 |
| 3.4.2 根文件系统的烧制 |
| 3.5 开发环境搭建 |
| 3.5.1 宿主机和目标机 |
| 3.5.2 交叉编译环境建立 |
| 3.6 嵌入式系统内核程序调试技术 |
| 3.6.1 动态加载内核 |
| 3.6.2 打印调试内核程序 |
| 3.6.3 分析OOPS出错信息 |
| 3.6.4 KGDB调试内核源码 |
| 4 主辅核通信模块设计与实现 |
| 4.1 主辅核通信硬件平台及测试 |
| 4.1.1 双端口存储器IDT70V05原理 |
| 4.1.2 双端口存储器IDT70V05总线争用解决方案 |
| 4.1.3 PCI接口芯片CH365概述 |
| 4.1.4 主辅核通信模块硬件电路 |
| 4.1.5 双端口存储器硬件测试 |
| 4.2 主辅核通信缓冲机制概要设计 |
| 4.2.1 双端口存储器一级缓冲设计 |
| 4.2.2 数据包FIFO队列二级缓冲设计 |
| 4.3 主辅核通信机制概要设计 |
| 4.4 主辅核通信模块主要例程实现 |
| 4.4.1 硬件相关地址定义 |
| 4.4.2 初始化函数例程 |
| 4.4.3 双端口存储器读写例程 |
| 4.4.4 双端口存储器中断例程 |
| 4.4.5 二级缓冲机制主要例程 |
| 4.4.6 数据包传输相关例程 |
| 4.5 主辅核通信模块性能测试 |
| 5 辅核外网通信模块设计与实现 |
| 5.1 辅核外网通信硬件介绍 |
| 5.1.1 CS8900A网络控制器芯片介绍 |
| 5.1.2 CS8900A网络控制器芯片工作原理 |
| 5.2 Linux网络驱动程序基本原理 |
| 5.3 辅核外网通信模块概要设计 |
| 5.3.1 辅核外网通信驱动程序功能设计 |
| 5.3.2 辅核外网通信驱动程序和网络设备驱动程序比较 |
| 5.3.3 辅核外网通信驱动程序框架 |
| 5.4 辅核外网通信驱动主要例程实现 |
| 5.4.1 设备初始化例程 |
| 5.4.2 设备检测例程 |
| 5.4.3 设备打开和关闭例程 |
| 5.4.4 辅核提取转发模块数据包的发送例程 |
| 5.4.5 双端口存储器中数据包的发送例程 |
| 5.4.6 接收数据包例程 |
| 5.4.7 中断处理例程 |
| 5.5 辅核外网通信模块测试 |
| 5.5.1 驱动程序加载 |
| 5.5.2 驱动程序PING测试 |
| 5.5.3 驱动程序性能测试 |
| 6 辅核数据包提取转发模块设计与实现 |
| 6.1 Linux内核网络基础理论 |
| 6.1.1 Linux内核网络报文处理 |
| 6.1.2 Linux内核协议栈框架 |
| 6.1.3 Netfilter框架 |
| 6.2 辅核数据包提取转发模型 |
| 6.2.1 数据包提取转发模型提出 |
| 6.2.2 数据包提取转发模型功能组成 |
| 6.2.3 数据包提取转发模型分析 |
| 6.3 辅核数据包提取转发主要例程实现 |
| 6.3.1 数据包上提 |
| 6.3.2 数据包钩取 |
| 6.3.3 数据包转发 |
| 6.4 辅核通信平台的整体运行 |
| 7 总结与展望 |
| 致谢 |
| 参考文献 |