电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

深圳职业技术学院windowsce嵌入式系统开发课程课件驱动程序

21页
  • 卖家[上传人]:E****
  • 文档编号:91053442
  • 上传时间:2019-06-21
  • 文档格式:PPT
  • 文档大小:159.50KB
  • / 21 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、项目13:驱动程序的编制(1),本节课程主要知识点 驱动程序模型 驱动程序的中断处理,重点和难点,重点 驱动程序的基本概念 难点 驱动程序的中断处理,驱动程序模型,驱动程序,驱动程序是硬件与操作系统间的底层软件。由于驱动程序的存在,应用程序可以使用标准函数来访问硬件,而不必关心硬件是如何工作的。 操作系统提供了一组标准的接口,驱动程序就是要实现这组接口,并将这些接口的实现映射到具体的对硬件的操作上。,驱动程序的编写,Windows CE5.0自带了很多硬件驱动程序,但在一些特定的情况下,还需要程序员自已开发驱动程序。常见的情况是 操作系统没有该硬件的驱动程序 这是比较常见的情况,需要用户自己编写。 扩展已有驱动 已有的驱动功能不完整,需要扩存或重写。 实现伪驱动 实现一些特定的软件功能。,驱动程序的编写要素,要熟悉硬件 这是最基本的要求,需要熟悉充分熟悉硬件的工作原理和工作过程。 熟悉驱动程序的工作机制 要熟悉驱动程序的加载和卸载方法、驱动程序的初始化过程、中断及DMA的处理机制等。 熟悉驱动程序模型,驱动程序模型,为了简化驱动程序的编写,操作系统设计上,会把驱动程序分成不同的互相分离

      2、的层。 每一层都会提供 一些预先定义的接口来处理I/O的数据。 把设备及驱动程序进行分类,然后把某一类设备的共性提取出来,作为独立的一层。 这些通过提取共性而被抽象出来的接口和层称做驱动程序模型。,本机设备驱动程序,适用于集成到Windows CE平台的设备,如键盘、显示器、PC卡插槽等。 操作系统启动时加载。,流接口驱动程序,一般类型的设备驱动程序,支持几乎所有可连接在Windows CE平台上的外部设备。 流接口驱动程序都是以用户级的动态链接库加载的。,驱动程序的中断处理,驱动程序的中断处理,中断是外部设备请求CPU服务的基本手段,是保证嵌入式系统实时性能的重要方法。 中断的请求与响应是由硬件和操作系统共同来完成的。基于ARM核的中断信号是由IRQ和FIQ来产生的。 中断的处理是由设备的驱动程序来完成的。驱动程序中包含有该设备的中断服务程序。,Windows CE中的中断,与其他计算机结构一样,当设备需要系统的服务时,设备会用中断信号来通知CPU。 Windows CE5.0把中断处理分为两个过程中断服务例程ISR和中断服务线程IST。,中断的处理过程,Windows CE5.0的

      3、中断处理分为两个阶段,当中断发生且该中断没有被屏蔽时,内核将进入中断服务例程ISR。 ISR一般是一个简短的程序,可以用汇编或C语言来编程实现,用于完成基本的中断处理并返回中断识别号SYSINTR到内核中。其后内核将根据SYSINTR的值发送一个事件以激活一个中断服务线程IST。 IST是中断处理的核心程序,处理中断服务所需要完成的具体工作。,ISR (Interrupt Service Routine),ISR由驱动程序在系统初始化过程时向内核注册。系统将建立所有设备的ISR列表,当设备请求中断时,内核可以迅速转向相关的ISR以处理设备的中断请求。 ISR运行在核心态,完成中断处理所需要的最基本工作。,ISR完成的主要工作,屏蔽该设备的中断请求,以防止该设备再次请求中断。但其他设备的中断并不屏蔽以保证其他设备可以继续请求中断。 保护现场。 查表返回该中断的中断识别号SYSINTR。,PDA中的ISR,HP的HX2790PDA的CPU为Intel PXA270。 Intel PXA270支持多达33个一级中断源,这些中断源由PXA270的设备产生,理论上ISR也对应有33个以处理不同的

      4、中断。 如果中断处理要求很简单的话,处理过程可在ISR中实现,则ISR不必再返回中断识别号到内核,而只是返回一个SYSINTR_NOP通知内核该中断处理不需要再做任何事情。,IST(Interrupt Service Thread),IST的执行需要内核的调度程序调度完成,其优先级由用户设定,优先级要高于一般的线程以保持IST能及时的调度执行。 中断处理的主要工作是在IST中完成的。IST运行于用户态,以线程方式管理,需要与其他线程比较优先级大小以获得调度执行。 由于IST总是处理系统中的实时任务,需要设定一个较高的优先级以保证其及时完成。,IST的调度过程,正常状态下IST已经运行但处于空闲状态,在中断发生并由ISR返回中断识别码SYSINTR到内核后,内核将根据返回的SYSINTR的值发送一个事件对象以激活该设备的IST。 IST等待该事件并在收到该事件后被调度进入运行状态,完成中断所需要的数据传输及异常处理等工作。 IST差异性很大,与具体的设备和需要中断处理完成的工作有关。,IST完成的主要工作,创建一个事件。 得到系统的中断号。 创建一个挂起的中断服务线程(IST)。 设置IST的优先级别。 调用函数 InterruptInitialize 通知系统注册中断。 恢复IST,IST开始服务。,典型的IST结构,中断处理线程的典型结构如下 IsrThreadProc() DWORD dwStatus,dwValue int iPriority=123 ;定义线程的优先级为123 dwStatus=RegQueryValueEx(-,_T(“SysIntr”),-,-, IST结束 ,设计IST的注意事项,InterruptInitialize只是把SYSINTR变量跟一个事件相关联。系统并不关心也不知道是哪一个线程等待这个事件。 这样做的目的是为了方便移植。,

      《深圳职业技术学院windowsce嵌入式系统开发课程课件驱动程序》由会员E****分享,可在线阅读,更多相关《深圳职业技术学院windowsce嵌入式系统开发课程课件驱动程序》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.