欢迎来到天天文库
浏览记录
ID:38567427
大小:1.85 MB
页数:45页
时间:2019-06-15
《嵌入式技术概述_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文件系统没
此文档下载收益归作者所有