嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)

嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)

ID:38567427

大小:1.85 MB

页数:45页

时间:2019-06-15

嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)_第1页
嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)_第2页
嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)_第3页
嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)_第4页
嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)_第5页
资源描述:

《嵌入式技术概述_NIOSII处理器系统的软件设计流程和方法(二)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式技术概述——基于HAL的NIOSII系统软件开发刘兰军8/6/2021硬件抽象层HAL概述1)什么是HAL,基于HAL进行系统软件设计的优点是什么?硬件抽象层HAL是轻量级的运行环境,提供了设备驱动程序接口,应用程序使用设备驱动程序接口访问底层硬件。优点:(1)HAL将应用程序与驱动程序区别开来,使底层硬件的改变对应用程序没有影响,保证了应用程序代码的可重用性;(2)应用程序、驱动程序开发是嵌入式系统软件开发的主要组成部分,对于应用程序开发人员,HAL提供了一套初始化和访问各类设备的函数,统一的API对系统硬件是透明的,开发人员不必关心底层硬件的差异;对于驱动程序开发人员,HAL提供了

2、一套必要的驱动函数,驱动程序调用驱动函数来访问底层硬件,加快了驱动程序的开发。8/6/20212硬件抽象层HAL概述2)基于HAL开发NIOSII软件的特殊优点是什么?NIOSII处理器系统的HAL基于一个特定的SOPCBuilder系统创建,SOPCBuilder与NiosIIEDS之间的紧密集成保证了:(1)用户在创建应用工程时,NiosIIIDE也同时创建了HAL系统库,用户不必创建、复制、编辑HAL系统库,NiosIIIDE自动为用户管理和维护HAL库;(2)若SOPCBuilder的硬件系统发生了改动,NiosIIIDE会自动地对HAL系统库进行更新,保证了底层硬件与应用程序的一致

3、性。8/6/20213硬件抽象层HAL概述3)NIOSII处理器系统的HAL的体系结构HAL提供的服务:1)提供newlibANSIC标准库2)提供设备驱动程序3)提供统一的HAL应用程序接口API4)提供系统初始化:main()函数执行之前,执行处理器和运行环境的初始化任务5)提供设备初始化:main()函数执行之前,例化和初始化系统中的各个设备8/6/20214硬件抽象层HAL概述3)NIOSII处理器系统的HAL的体系结构HAL系统库对设备提供的两个服务层次:通用设备模型和驱动程序、头文件和访问函数(1)通用设备模型和驱动程序:通用设备模型是HAL强大功能的核心,用户可采用统一的API

4、编写程序访问提供通用设备模型的设备;HAL为大多数NIOSII系统外设提供驱动程序,使用户可以通过HALAPI访问硬件字符型设备:UART核、JTAGUART核、LCD16207显示控制器定时器设备:TIMER核文件子系统:基于ALTERA主机的文件系统、ALTERA压缩只读文件子系统以太网设备:Ethernet核、LAN91C111EthernetMAC/PHY控制器DMA设备:DMA控制器核、Scatter-gatherDMA控制器核FLASH存储设备:CFIFLASH接口、EPCS串口配置控制器8/6/20215硬件抽象层HAL概述3)NIOSII处理器系统的HAL的体系结构HAL系统

5、库对设备提供的三个服务层次:通用设备模型、驱动程序、头文件和访问函数(2)头文件和访问函数:对于部分NIOSII系统外设和一些自定制外设,HAL只提供头文件和访问函数。NIOSII系统的通用IO核:PIO核用户自定制的外设此外,对于具有特殊硬件特性的外设,不能使用通用API,HAL提供了UNIX类型的ioctl()函数8/6/20216基于HAL的NIOSII系统应用程序开发1)NIOSIIIDE工程结构HAL系统库工程包含了所有的用户程序与系统硬件接口的必要信息HAL系统库工程紧密依赖于SOPCBuiler系统,保证了HAL与目标硬件的同步8/6/20217基于HAL的NIOSII系统应用

6、程序开发2)系统描述文件system.hsystem.h文件提供了完整的NIOSII系统硬件的描述,包括:外设的硬件配置外设的基地址外设的中断请求优先级外设的符号名8/6/20218基于HAL的NIOSII系统应用程序开发2)系统描述文件system.h8/6/20219基于HAL的NIOSII系统应用程序开发3)数据宽度和HAL类型定义对于嵌入式处理器,准确的数据宽度和精度定义是非常重要的,而标准C的数据类型宽度取决于编译器的约定。头文件alt_types.h定义了HAL类型8/6/202110基于HAL的NIOSII系统应用程序开发4)文件系统HAL提供支持UNIX风格的文件访问机制,用

7、户能够在基于HAL的文件系统中访问文件:(1)可以使用newlibC库中的文件I/O函数(2)可以使用HAL系统库提供的UNIX风格的文件I/O函数8/6/202111基于HAL的NIOSII系统应用程序开发4)文件系统HAL提供支持UNIX风格的文件访问机制,用户能够在基于HAL的文件系统中访问文件:(3)HAL将一个子文件系统注册为HAL文件系统的一个挂载点(mountpoint);(4)HAL文件系统没

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。