




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于硬件抽象层 HAL 的 Nios 嵌入式处理器系统设备管理模式研究元泽怀 1,2, 唐 平 1(1. 肇庆学院 广东 肇庆 526061;2. 广东工业大学 计算机学院 广东 广州 510090摘 要 :Nios 处理器是 Altera 公司推出的一个 32/16位精简指令集处理器软核 。 他为嵌入式系统开发者提供了更多 的资源 , 可支持复杂 、 高性能系统的开发 。 硬件抽象层 HAL 作为一个板级支撑包提供给 Nios 处理器系统 。 基于 HAL 的 外设管理程序使用 ANSI C 标准库函数 , 并通过 HAL A PI 访问硬件资源 。 通过对其进行深入的研究 , Nios 嵌
2、入式处 理器系统对 Lan91c111网络外设的管理模式 , 总结了 HAL 在 Nios 模式 。关键词 :硬件抽象层 ;Nios ; 嵌入式处理器 ; 中图分类号 :TP273 2007 0208703of Nios Embedded Processor SystemB ased on the H ardw are Abstraction Layer(HALYUAN Zehuai 1,2, TAN G Ping 1(1. Zhaoqing University ,Zhaoqing ,526061,China ;2. Computer College , Guangdong Universi
3、ty of Technology , Guangzhou ,510090,China Abstract :Nios processor is a 32/16bit general purpose RISC soft core CPU. The HAL serves as a board supportpackage for Nios processor systems ,programs based on the HAL use the ANSI C standard library f unctions and runtime environment ,and access hardware
4、 resources via the HAL A PI s generic device models. The article analyzes the Hardware Ab 2straction Layer (HAL and the device architecture of the Nios embedded processor system ,through an example of embedded net peripheral ,studies the action of HAL for device management of Nios embedded rocessor
5、system ,and its way to realize.K eywords :HAL ;Nios ;embedded peocessor ;device management收稿日期 :20060828基金项目 :肇庆学院青年科研基金资助项目 (0508 嵌入式技术是继网络技术之后 , 又一个新的技术发展 热点。 当前 , 嵌入式技术在硬件上已经开始进入片上可编 程系统 (System On a Programmable Chip , SOPC 阶段 。Nios 就是专门为 SOPC 设计的一种 CPU , 他以 IP 核的形式提供给嵌入式设计者。他的可配置特性给嵌入式系 统设计带来了更
6、大的灵活性 , 可以说他为嵌入式系统的设 计提供了一种全新的设计思路。而基于硬件描述层 HAL 的 Nios 嵌入式处理器系统对硬件设备的管理模式不同 于其他嵌入式系统。1 HAL 和 Nios 系统设备体系硬件抽象层 (Hardware Abstraction Layer , HAL 位 于设备驱动程序和用户应用程序之间 , 为与硬件通信的应 用程序提供设备驱动接口。 HAL 应用程序接口 (Applica 2tion Program Interface ,API 是与 ANSI C 标准库综合在一起的 , 他可以使用户用类似 C 语言的库函数来访问硬件设备或文件。 这样做的好处是对应用程序
7、屏蔽了底层硬 件细节 , 软件工程师可以不关心底层硬件结构而着眼于软 件的设计。HAL 可以为用户提供下列支持 :与 ANSI C 合成的标准库 提供类似 C 语言的标准 库函数。设备驱动 提供访问系统中每个设备的驱动程序。 HAL API 提供标准的接口程序 , 如访问设备 、 中断 处理等。系统 初始 化 在 main ( 之 前 执 行 对 处 理 器 的 初 始化。设备初始化 在 main (之前执行对系统中外围设备 的初始化。图 1为 HAL 所处的系统层次。 Nios 与以往版本 Nios 的设备体系有了较大的改 进 ,Nios 处理器系统及外设如图 2所示。 Nios 不再 使用
8、 SD K 方式提供设备驱动 , 而是采用了硬件抽象层 HAL , 应用程序不再直接去控制硬件设备 , 而是调用 HAL78API 去驱动。 HAL API 包含了 ANSI C 标准库 ,应用开发人员可以用熟悉的 C 库函数存取 (控制 设备和文件 ,HAL 使 Nios 中的设备像 Unix 系统设备一样具有相对 一致的开发接口 , 同时也提供了 Unix 风格的库函数 , 其使 用方式和习惯类似于熟悉的 Unix (Linux 系统 , 设备使用 更加一致。 这种体系使应用开发人员和设备驱动开发人 员可以分工合作 , 提高开发效率 ,同时降低应用开发难度。 图 1软件系统层次图 图 2N
9、ios 处理器系统2 HAL 程序运行过程Nios 系统开发是一个用户可定制的高度灵活的过程 , 在 SOPC Builder 中用户定义处理器系统和外设生成相 关的 . ptf 文件 ,Nios IDE 根据此 ptf 文件在创建项目时 为项目生成系统库 , 其中 system. h 完整的定义硬件系统 参数 , altsys init. c 完成外设系统资源的分配和设备环境的初始化 , 这两个文件是分析的入口 。 HAL 是 Nios IDE 根据系统具体的硬件配置来产生的 , 他包括硬件驱动、 初始化软件、 文件系统 、 stdio 和 stderr 。图 3为 HAL 的程序启动过程。
10、基于 HAL 的程序在启动时 , 要首先运行一段驱动程 序 start (, 用来初始化 Cache 、 建立堆栈等工作 ; 然后调 用 altmain (, 初始化操作系统、 中断控制器 , 而且将调用 altsys inti (函数来初始化硬件驱动程序等 , 最后再调用应用程序中的 main (函数 , 进入应用程序运行。 当然 , 用户也可以通过自己定义 altmain (来定制系统初始化过程 , 不过这样做相对来说比较麻烦 , 因为这样 完全抛弃了 HAL 的好处 , 自己负责所有模块的初始化工 作 , 可想而知 ,这是一项繁琐而且容易出错的工作。图 3 HAL 启动过程3 应 用Ni
11、os 系统中设备驱动程序、 实时操作系统 (c/os 和应用程序最终被编译为同一个二进制文件 , 下载到 目标系统 FLASH 中使用。所以设备资源都以全局变量 的形式定义 , 相同种类的设备加入设备双向链表中 , 通过HAL API 使用设备。 下面以 Lan91c111网络外设为例说明外设系统资源的分配和设备环境的初始化。 3. 1 全局设备链表的定义在系统库 alt lwipdev. c 中通过宏 AL TLL IST HEAD (altlwipdevice list 定义了 altlwipdevicelist 的设备双向链表。在 alt llist. h 中宏 AL T LL IST
12、HEAD 相关定义如下 :typedef struct alt llist s alt llist ;struct alt llist s alt llist 3next ; /3Pointer to the next element in the list. 3/alt llist 3previous ;/3Pointer to the previous element in the list. 3/;#define AL T LL IST H EAD (head alt llist head =&head, &head从定义中可知初始定义是一个指向自身的双向链表 结构。3.
13、 2 全局外设系统资源分配Nios IDE 生成的应用项目 system. h 中 Lan91c111外设相关部分如下 :/33lan91c1110configuration 33/#define L AN91C1110NAM E "/dev/lan91c1110"#define L AN91C1110T YPE "altera avalon lan91c111"88#define L AN91C1110BASE 0x01200000#define L AN91C1110IRQ 1#define L AN91C1110IS ET H ERN ET MAC
14、 1 #define L AN91C1110L AN91C111REGISTERS OFFSET 0x0300#define L AN91C1110L AN91C111DA TA BUS WID T H 32分配外设系统资源 :在 alt sys init. c 中分配外设系统资源/33Allocate the device storage33/AL TERA AVALON CFI FL ASH INSTANCE (CFI FL ASH 0,cfi flash 0 ;AL TERA AVALON J TA G UAR T INSTANCE (J TA G UAR T 0,jtag uart 0
15、 ;AL TERA AVALON L AN91C111INSTANCE ( L AN91C1110,lan91c1110 ;从以上代码中可以知 Nios 外设系统资源。3. 3, 设备管理链表被定义 为全局结构变量 ,量 , 这些资源都是静态的被定义和分配。设备环境初始化 动态的组织这些资源数据 , 在 alt sys init. c 中 alt sys ini (函数在 main (函数前被执行 , 程序相关部分如下 : /33Initialise the devices3/void alt sys init (void AL TERA AVALON CFI FL ASH INIT (CFI
16、 FL ASH 0,cfi flash 0 ;AL TERA AVALON J TA G UAR T IN IT (J TA G UAR T 0,jtag uart 0 ;AL TERA AVALON L AN91C111INIT (L AN91C1110, lan91c1110 ;通过上述分析 , 我们知道设备环境初始化被具体为设 备双向环形链表结构的增加 , 在实际应用开发中也可以通 过类似的手法管理设备。4 结 语有了 HAL , 在 Nios , 软件工程师可 , 系统上开发应用HAL 的 Nios 系统 , 这种体系没有一般嵌入式系统软硬件设计协调的忧虑 , 提 高了开发效率 , 同
17、时降低了应用开发难度。参 考 文 献1郭书军 , 王玉花 , 葛纫秋 . 嵌入式处理器原理及应用 Nios 系统设计和 C 语言编程 M .北 京 :清 华 大 学 出 版 社 ,2004.2Nios Software Developer s Handbook , Altera Corpora 2 tion ,2005.3印度 Raj Kamal. 嵌入式系统 体系结构 、 编程与设计 M .北京 :清华大学出版社 ,2005.作者简介 元泽怀 男 ,1975年出生 , 广东惠来人 , 肇庆学院电子信息工程系实验师 , 硕士研究生 。 主要研究方向为 EDA 技术及 嵌入式系统开发应用 。唐
18、平 女 , 广东工业大学计算机学院副教授 , 工学博士 , 硕士研究生导师 。主要研究方向为智能机器人与智能管理 信息系统 。瑞萨嵌入式实验室落户中科大 2006年 12月 17日 , 由株式会社瑞萨科技与中国 科技大学信息学院共同开设的 “ 16/32位嵌入式系统 原理及应用” 课程在中国科技大学举行了隆重的开讲 仪式 。 会上 , 双方宣布 “ 中国科技大学 瑞萨嵌入式 MCU 实验室” 正式成立并投入使用 。瑞萨半导体管理 (中国 有限公司副总裁 村先生和中国科技大学教务 处副处长汤家俊先生为实验室牌匾揭幕 。 中国科技大 学是瑞萨继与清华大学、 上海交通大学、 华中科技大 学 、 西安交通大学等合作之后 , 在国内开设课程的第 6所大学 , 也是与以上高校合作成立的第 7个嵌入式系 统实验室 。据介绍 , 该课程自 06年 10月至 07年 2月为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 库房物资结存方案(3篇)
- 职业操守-评价方案(3篇)
- DB23-T3022-2021-市场主体电子档案影像管理系统信息化规范-黑龙江省
- 初中家长生活管理制度
- 培训学员教学管理制度
- 仓储现场管制方案(3篇)
- 园林环卫服务管理制度
- 医院精神卫生管理制度
- 农村养鸭日常管理制度
- 医院合同评审管理制度
- 餐饮业消防安全风险评估计划
- 豆制品厂退货管理制度
- 中央空调安装工程施工组织设计方案
- 中国传统音乐精讲知到课后答案智慧树章节测试答案2025年春四川音乐学院
- 麻醉科药品安全管理
- DB13T 5927-2024地热资源开发监测技术规范
- 《大客户管理研究的国内外文献综述1800字》
- 卫生法律制度与监督学题库
- 伤寒传染病护考题及答案
- 护理人员心理支持服务流程
- 基坑工程安全技术培训
评论
0/150
提交评论