中断与设备驱动.pptVIP

  • 1
  • 0
  • 约1.13千字
  • 约 18页
  • 2017-06-02 发布于四川
  • 举报
中断与设备驱动 (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平台上由于半主机机制

文档评论(0)

1亿VIP精品文档

相关文档