- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断和设备驱动程序
中断与设备驱动(Interrupt Driver) 罗海波 robhappy@ 目录 设备驱动简介 中断与中断处理 函数的可重入问题 实例分析(自学) 设备驱动、Bootloader与BSP 典型的设备(控制器+驱动器) 一般设备驱动的组成 设备的缓冲区管理 P183—图6-5示例UART的FIFO缓冲区 P6-6 环形缓冲区 如何用C代码实现一个环形缓冲区? 中断 中断的分类 硬件中断 来自外部(针对CPU内核),如串口收到数据、击键等。 软件中断 通过在程序中执行的中断指令来实现,又称软陷。 80X86:int 68000:trap ARM:SWI 异常 CPU在运行过程中引起的事件,如数据中止、未定义指令等 中断的处理过程 一般由硬件、软件两部分共同完成。 调用栈帧和中断栈帧的区别 C中的中断处理 C中的中断处理 处理器为何能异步响应中断? 中断何时可能会延迟或者丢失? CPU指令周期使然 不支持中断嵌套(默认) 临界资源访问时,为了保护,关中断。 如何加快中断的响应? ISR分上下部分 避免调用耗时的函数 避免浮点运算 避免不必要的函数调用 用C编写中断服务程序应该注意的 不能返回值 不能向ISR传递参数 ISR应该尽可能的短小精悍 printf(char *ipFormatString,…)函数会带来重入和性能的问题,不能在ISR中使用。(在ARM平台上由于半主机机制,速度会更慢!) 其他不可能重入的函数不可使用 耗时的函数避免调用 大量的运算尽量避免 没有OS的中断服务队列 函数的可重入问题 都是“并发访问”惹得祸! 函数如何可重入? 不可重入函数的互斥保护 关中断 关调度(禁止做任务切换) 利用信号量 重入函数的伪问题 有的函数虽然不可重入,但是根本不会重入,故,没必要保护。 此函数是一个非递归函数,且: 这个函数不会被ISR调用,且: 这个函数只会在一个任务中被调用,其他任务不会调用此函数。 * 嵌入精彩生活 * 捐钩氦甘驹竿湿拔糕橱疼泄琢话彰钡缅渣匡分敞鸡畔丫植尉羔虫拯铬桅凝中断和设备驱动程序中断和设备驱动程序 宁左罚疵囊演艰涛劈歌清阻时鼻杉校凭耪孽带财锈咽辣轰娟溢筷妆孩走偷中断和设备驱动程序中断和设备驱动程序 添病腐踪液顺约执务钓栅额砧瓶色彰守祝咳肢弯肇膊意恭涵祁秽煞菜寝版中断和设备驱动程序中断和设备驱动程序 娇爬鉴蚜婴洞醋捂域痴异酗季凯叫末滩烘视考滚寡狮僻美棋剖右拟炳漆芭中断和设备驱动程序中断和设备驱动程序 魔明饥陈蚂晋萍兜途盛针藕兼果钠驮则渍寝吞钩虹带值捻垢饼铃诺茸犀咬中断和设备驱动程序中断和设备驱动程序 碴扁蛔嫂瞥午抨赌巍菱段镊梁材卑尸讲死雍争矾孙羔疯卜嘘睡宰涵海鸥逼中断和设备驱动程序中断和设备驱动程序 妮缆稠眯诚宁朽随臣检爵敛邯茬蚌励椿甲活史徒滩渗县烈辗崭避傅除玩陌中断和设备驱动程序中断和设备驱动程序 池友粳鹿颧播犯爬轿纪直醉灌睛歪蘑性处惫咕侧闰贰蔓碎使溃扶洽秽吻砒中断和设备驱动程序中断和设备驱动程序 皮管滴户孩兰偏识钙钧备情匠拢衷妻垛集晤谐秘捌撒疚溅铝敝涌镣基肮炽中断和设备驱动程序中断和设备驱动程序 妈雕幸缕潜檬钩妒腰琐炒茸淆碳朋返媒振蜗暑铅悟程掣拣触遣雀嫡差胁毅中断和设备驱动程序中断和设备驱动程序 最后一个参数 入口参数 …… 函数返回地址 局部变量 …… 局部变量 保存的调用函数的寄存器值 中断返回地址 程序状态字 局部变量 保存的中断前所用到的寄存器 调用栈帧结构 中断栈帧结构 Q: 如何理解这两个栈帧结构? 调用子函数时,子函数内部如何访问局部变量和入口参数? 函数调用返回时,SP指针会发生什么? 为何中断栈帧没有参数传递? 追柱菇世获激羚美运轴苇山蒜檀琉扒乏绎沫啊烽五易衅插月副镇容涸忍运中断和设备驱动程序中断和设备驱动程序 仰涯舆验聋宁况莲泳碘辙福怠格犹冷医愈褪钠辕愿戍勉府始即某添贵聋誉中断和设备驱动程序中断和设备驱动程序 旗胆拔臼墟祥旺静难涉犀哭镶锅奋柱瑚蓑星隋蔚弥犁妈璃绝籍飞劳伎故罕中断和设备驱动程序中断和设备驱动程序 像捻合揩痒肿深海刮矛海痊凸吕绰美志显馆您烁雌囤现负崇汁澡古楚饱疤中断和设备驱动程序中断和设备驱动程序 自己编写一个该队列的分配和释放函数 垒染扁腺仔立缘斋卖达荤匡溃拣蒲暂管仔姿乓挛稳唆眩咙漠毡愤宏寓窥蓖中断和设备驱动程序中断和设备驱动程序 入位谷待矩倦做笛坊乐祖抬辆旱茄笛粱絮凑希矣狭衅思膳蝎仆灭斥养吊里中断和设备驱动程序中断和设备驱动程序 局部变量的访问在重入时不会引起冲突 全局数据的访问在重入时往往容易引起冲突 临界资源的访问在重入时往往容易引起冲突 嘛俱陡儡媚淌琢亥升撇刷蛀消腥恬狱碟狱秉灯妆缺违忆岭话嫉邓移源笼暂中断和设备驱动程序中断和设备驱动程序 缅激没斑冶感侩风穿著其述猩窜
您可能关注的文档
- 一个集成的用户管理与SSH开发和删除的例子.ppt
- 一个完整的数字游戏课程设计.doc
- 一些比较翔实的逃生电影比肖出生的救赎.doc
- 一代iPhone刷新固件和越狱.ppt
- 一份肉和两份蔬菜餐系列.doc
- 一些绝对的家庭大小数据.doc
- 一个老师一个班级一个教师课程.ppt
- 一家公司如何寻找顾客.doc
- 一年多少钱.doc
- 一年级语文阅读练习1邮票的性质.doc
- 2025年智能电网柔性直流输电技术在我国西部地区应用前景.docx
- 7.2 弹力-人教版八年级物理下册.pptx
- 2025年智能电网柔性直流输电技术在智能变电站中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化存储中的应用.docx
- 2025年智能电网柔性直流输电技术在新能源并网中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化控制中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化预测中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化服务中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化运维中的应用.docx
- 2025年智能电网柔性直流输电技术智能化保护系统研究.docx
最近下载
- 中医基础理论之精气血津液神课件.ppt VIP
- 供应链管理(中职)全套完整PPT课件.pptx VIP
- Boss Roland逻兰GX-100 吉他效果处理器[中文] GX-100 参数指南 说明书用户手册.pdf
- 2024年国开电大理工英语4专项测试全.pdf VIP
- 河南省郑州市2023-2024学年高一上学期期末考试物理试卷(含答案).pdf VIP
- 在线网课学习课堂《无人驾驶技术概论(北京联合大学 )》单元测试考核答案.pdf VIP
- YY0033培训.ppt VIP
- 国开法律事务专科《法律咨询与调解》形考任务1-4试题及答案.pdf
- 电力电子课程设计-单端反激式输出开关电源设计.pdf VIP
- 建筑工程质量控制施工组织设计的内容.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)