- 58
- 0
- 约3.73千字
- 约 31页
- 2018-12-03 发布于湖北
- 举报
天脉(acoreos)操作系统培训第六章:异常、中断与定时器
* 高精度时钟 对于高频率的查询,可采用高精度时钟 系统提供操作高精度时钟的服务 sysAuxClkConnect() 连接ISR到高精度时钟 sysAuxClkRateSet() 设置高精度时钟频率 sysAuxClkEnable() 启动高精度时钟 sysAuxClkDisable() 停止高精度时钟 一些目标板没有高精度时钟 * 综述 使用定时器进行查询 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第六章异常、中断与定时器 异常处理与信号机制 中断服务程序 系统时钟、高精度时钟、看门狗定时器 * 提纲 异常处理概述 异常为CPU产生的正常执行流程外的事件。如,trap和断点指令、零除、浮点或整形溢出、非法指令或地址错等 异常将产生“内部”中断 操作系统在系统初始化阶段安装异常处理程序,这些程序在异常发生时被调用,并可调用用户定义的异常处理程序 异常处理程序通过发送信号与用户任务进行通信。 * 异常处理概述 异常与不同体系结构相关,本培训教程仅讨论异常的通用处理。不同体系结构相关处理,可参考硬件手册。 * 信号 * 信号 信号类似一种软中断 信号发送给指定任务,用于通知发生某种异步事件 任务在接收到指定信号后,执行相应的信号处理 信号处理完成后,正常任务执行被恢复(除非信号引起异常发生) * 信号 信号机制建议使用于通常的任务间通信 信号可能以非常高的优先级被处理,如信号到达时,任务正采用优先级继承或优先级天花板 打断任务正常执行流程(最好创建多个任务,而不采用在一个任务内通过信号实现多种操作) 可能引入重入的问题,当任务执行的信号处理程序与任务正常代码调用相同的接口时 任务通常采用信号量实现对临界区的互斥访问,假设任务在临界区访问时接收信号,如果信号处理中获取该互斥信号量,同样获取成功,但资源互斥访问可能被破坏 * 注册一个信号 注册一个信号处理程序 signal(signo ,handler) signo 信号类型 handler 信号处理程序 返回先前安装的信号处理程序,或者返回SIG_ERR * 异常处理与信号机制 中断服务程序 系统时钟、高精度时钟、看门狗定时器 * 提纲 中断 中断允许外部设备通知CPU特定事件发生 当发生外部中断时,用户安装的处理程序被执行 中断发生时占用中断时间,而不是任务执行时间 目标板定时器是常见中断源,可以辅助了解外部中断的工作原理 * 中断处理示例-PowerPC * 中断处理示例说明 PowerPC有单独的外部中断引脚。板级支持包(BSP)可以支持外部中断控制器实现中断嵌套。 中断表中中断入口数量取决于BSP中中断控制器的能力。目前中断向量表最多可支持256个。 外部中断的处理流程 保存CPU寄存器 从中断控制器中读取中断号 调用用户连接的中断处理程序(用户关心) 清中断控制器状态 恢复CPU寄存器并返回 * 中断和优先级 中断可以抢占最高优先级的任务 * 中断栈 系统使用独立中断栈 中断栈在系统初始化阶段分配 中断栈在生成操作系统时配置 系统支持中断嵌套,中断栈配置时应充分考虑嵌套时最大栈使用情况 * 中断服务执行限制 任务只有中断服务执行完成后才能执行 中断服务中限制使用操作系统机制,特别是中断不能够阻塞 不能够调用ACoreOs_semaphore_obtain()/semTake() 不能够调用malloc(内部使用信号量) 不能够调用I/O系统程序(如,printf()) 参考指南给出了每个函数能否在中断服务程序调用的限制说明 * 中断服务编制指南 尽可能保证中断服务程序简短 延迟低级别和同优先级的中断 延迟所有任务 调试困难 避免使用浮点操作 浮点操作速度较慢 用户必须自行保存和恢复浮点相关寄存器 尽可能将处理移交给任务处理 任务处理时间更长 时间要求更低 * 典型的中断服务 读和写存储器映射的I/O寄存器 与任务通信采用如下方式 写存储区 非阻塞形式写到消息队列 释放二进制信号量 * 中断服务调试 中断服务中采用logMsg()将信息输出到指定的控制台(仅使用于配置VxWorks兼容包情形) logMsg(“foo = %d\n”,foo,0,0,0,0,0); 发送请求给tLogTask执行printf()的功能 类似printf()功能,须注意如下事项: 参数必须是4个字节 格式外字符串和6个参数 采用系统级调试功能可以调试中断服务,任务级不可以调试中断服务程序 * 异常处理与信号机制 中断服务程序 系统时钟、高精度时钟、看门狗定时器 * 提纲 定时器 目标板的定时器周期性地中断CPU 定时器周期间隔到达时,可以执行用户连接处理
原创力文档

文档评论(0)