sopc课件第八章课件
第 8 章 Nios II系统深入设计 主讲人:李兰英 哈尔滨理工大学计算机学院 本章讨论Nios II处理器系统的深入设计 内容包括: (1)异常处理程序的开发 (2)缓存和紧耦合存储器的编程 (3)μC/os II实时操作系统 (4)以太网与轻量IP (5)Nios II多处理器系统 (6)定制Nios II用户指令和定制基于Avalon的用户外设等。 第八章 目录 ※ 8.1 异常处理程序的开发 8.1.1 Nios II异常分类 8.1.2 硬件抽象层的实现 8.1.3 中断服务程序(ISRs) ※ 8.1 异常处理程序的开发 8.1.1 Nios II异常分类 8.1.2 硬件抽象层的实现 8.1.3 中断服务程序(ISRs) 1.ISRs的HAL API 利用HAL API实现ISRs分为2步。首先,为某一特定外设中断写一中断服务程序。其次,必须使用alt_irq_register()函数注册该ISRs。在ISR执行期间,程序中可用alt_irq_enable_all()和alt_irq_disable_all()函数允许和禁止中断。 注意:禁止中断影响中断延迟,故影响系统性能。 2. 利用alt_irq_register()函数注册ISR HAL把alt_irq_register()函数指针注册到一查找表中,当某一个ISR出现时,HAL在查找表中查找该IRQ且调度(dispatch)已注册的ISR。 若ISR成功注册,从alt_irq_register()返回后,相应中断(由id定义)被允许。 3.ISR的编写 用户编写的ISR必须与alt_irq_register()要求的原型匹配,ISR函数的原型应该与void isr(void*context, alt_u32 id)原型匹配。 Context和id参数的定义与alt_irq_register()函数中的定义相同。ISR函数负责清除或屏蔽相应的中断条件,之后返回到中断处理程序。 ISRs运行环境受到一定限制,在ISRs中许多HAL API调用不可用。例如,在ISRs中不允许访问HAL文件系统。一般来讲,ISR中决不应包括那些可能影响等待中断的函数调用。 注意:当最慢的ISR中指令少于70条指令时,允许中断嵌套增加了较高优先级中断的中断延迟。此时中断处理程序中不应该开中断。 4. ISRs的允许和禁止 HAL提供alt_irq_disable()、alt_irq_enable()、 alt_irq_disable_all()、alt_irq_enable_all()和 alt_irq_enabled()等函数,允许在某段程序之前关中断,之后再开中断。alt_irq_disable()和alt_irq_enable()可禁止和允许某个中断,alt_irq_disable_all()禁止所有中断,返回一个上下文相关值。调用alt_irq_enable_all()开放所有中断,且传递上下文参数,采用这种方式,中断返回到调用alt_irq_disable_all()之前的状态。若中断被允许,alt_irq_enabled()返回一非零值,允许程序检查中断的状态。 注意:关中断的时间应尽可能短,原因是当关中断时间增加时,最大中断延迟也增加。 5.ISR的快速处理 要提高ISRs的性能,应遵守以下原则: 把异常地址映射到快速存储器可提高异常处理程序的执行速度。例如,与速度较慢的SDRAM相比,应优先选择具有零等待状态的片上RAM。这不是通过软件选择的,异常地址在系统创建时就已被确定,是很容易修改的Nios II CPU硬件的一个属性。 ISR函数也应该映射到快速存储器。 一般地,在ISR中应避免进行长时间的计算。 6.描述ISR性能的参数 7.ISRs的调试 在Nios II IDE环境下通过在ISR内设断点可对ISR进行调试。调试器完当执行到断点处,全停止处理器的运行,同时,系统中硬件继续工作。因此当处理器停止时,其他的IRQs可能被忽略。利用Debugger可单步调试ISR,但其他采用中断驱动的设备驱动程序的状态只有当处理器回到正常的状态时才有效。必须使处理器复位才能使系统回到已知状态。在单步期间,Ipending寄存器(ct14)被屏蔽为全0,这使得单步期间CPU不响应IRQs。结果,若单步调试需读取ipending寄存器的异常处理程序(例_irq_entry()或alt_irq_handler())时,代码无法检测任何已登记的IRQs。断点不影响软件异常的调试。可以在ISR中设断点(且单步运行),因为异常处理程序已使用Ipengding来
您可能关注的文档
- Snagit_抓图软件使用.ppt
- SNCR运行规范.doc
- 生命活动的主要承担者—蛋白质..ppt
- 生活中的经济原理——从微观到宏观的例子.ppt
- SNS柔性防护2015.3.22修改.doc
- 生活照料PPT.ppt
- SMT工艺特点.ppt
- Socket服务器框架.doc
- 生物分离工程第九章膜分离.ppt
- 生产工艺及过程控制详解.ppt
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- CJ_T 553-2024 城市数字公共基础设施统一识别代码编码规则.docx VIP
- 基于esp32的智能家居系统.docx VIP
- 征兵政治考核培训课件.ppt VIP
- 你好法语1课文unité2-4.pdf VIP
- 京东合规专员岗面试题库参考答案和答题要点.docx VIP
- 福建省泉州市2024-2025学年高二上学期期末教学质量监测生物试卷(含答案).pdf VIP
- 2025.4.11 装修改造项目加固工程施工方案,六大加固方法施工要点集齐了!94页Word可下载!.docx VIP
- 2024-2025学年河南省商丘市柘城县九年级上学期期末考试数学试题(含答案).pdf VIP
- 某水泥厂施工组织方案总方案.doc VIP
- 广东省中山市2023-2024八年级上学期期末考试数学试卷 .pdf VIP
原创力文档

文档评论(0)