关于FPGA的嵌入式软件开发课程教学大纲

更新时间:2023-04-06 11:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

GDOU-B-11-213《基于FPGA的嵌入式软件开发》课程教学大纲

课程简介

课程简介:

本课程为软件工程专业嵌入式专业方向的专业课,是开发基于FPGA/CPLD嵌入式系统的必备基础。主要内容包括SOPC Builder 开发工具的学习,NiosⅡ嵌入式处理器设计及其软件和硬件开发流程,熟练使用NiosⅡ集成开发环境(IDE)开发嵌入式系统,利用DSP Builder系统设计工具设计基于QuartusⅡ的IP核。另外,应该学习NiosⅡ嵌入式软核处理器的结构、Avalon接口规范、硬件抽象层(HAL)系统库等基于FPGA嵌入式系统设计中常用的知识。

课程大纲

一、课程的性质与任务:

本课程是软件工程专业嵌入式专业方向的专业课程,目的是培养学生基于FPGA的嵌入式系统的设计和工程实践能力,在专业学习中有比较重要的地位。教学任务主要包括QuartusⅡ的Nios开发过程,重点掌握软件设计流程和设计方法,开发过程中使用的各种工具;基于QuartusⅡIP核设计方法及其相应的设计工具;学习NiosⅡ嵌入式软核处理器的结构、Avalon接口规范、硬件抽象层(HAL)系统库等基于FPGA嵌入式系统设计中常用的知识。

二、课程的目的与基本要求:

通过本课程的学习,最终达到能够使学生进行基于FPGA的嵌入式系统的软硬件设计,熟练掌握全部设计流程,在基于FPGA的嵌入式系统的软件设计方面具有一定的工程能力。

三、面向专业:

软件工程专业

四、先修课程:

计算系统基础、VHDL语言程序设计、嵌入式操作系统、C语言程序设计

五、本课程与其它课程的联系:

本课程的先行课程包括计算系统基础、VHDL语言程序设计、嵌入式操作系统、C语言程序设计。计算系统基础作为专业基础课程为本课程打下必备的硬件基础;VHDL语言程序设计作为本课程最直接的先行课程为定制系统的硬件描述作必须的准备;嵌入式操作系统课程为较为复杂的嵌入式系统嵌入可移植、可裁剪的操作系统做准备;C语言程序设计作为应用程序开发语言。

六、教学内容安排、要求、学时分配及作业:

第1章概述(6学时)

1.1 SOPC及其技术(B)

基于FPGA嵌入IP硬核的SOPC系统、基于FPGA嵌入IP软核的SOPC系统

1.2 NiosII软核处理器(B)

第2章 SOPC开发流程及开发平台简介(6学时)

2.1 SOPC开发流程(A)

硬件开发、软件开发、SOPC基本开发流程简介

2.2 简单SOPC实例开发任务及步骤(B)

2.3 分析系统需求(C)

2.4 使用SOPC Builder创建NiosII系统(A)

启动SOPC Builder、指定目标FPGA和时钟设置、添加Nios II处理器内核、添

加片内存储器、添加PIO、添加系统ID外设、指定基地址和中断请求优先级、

设置Nios II复位和异常地址、生成Nios II系统

2.5 集成Nios II系统到Quartus II工程(A)

添加NiosII系统模块到QuartusII顶层模块、添加引脚和其他基本单元、选择

器件型号、分配FPGA引脚、器件和引脚的其他设置

2.6 设置编译选项并编译硬件系统(A)

设置编译选项、编译硬件系统、查看编译报告、下载硬件设计到目标FPGA

2.7 使用Nios II IDE建立用户程序(A)

创建一个新的C/C++应用工程、设置C/C++应用工程系统属性、编译连接工程

2.8 调试/运行程序(B)

在目标硬件上运行程序、在目标板上调试程序

第3章 Nios II体系结构(6学时)

3.1 Nios II处理器结构(B)

3.2 Nios II的寄存器文件(B)

3.3 算术逻辑单元(ALU)(C)

3.4 复位信号(C)

3.5 Nios II处理器运行模式(C)

3.6 异常和中断控制器(C)

3.7 Nios II的异常处理(C)

3.8 存储器及I/O结构(C)

3.9 存储器和外设访问(C)

3.10 NiosII处理器性能(B)

第4章 NiosII外围设备(6学时)

4.1 并行输入/输出内核(B)

4.2 SDRAM控制器内核(B)

4.3 CFI控制器内核(C)

4.4 EPCS控制器内核(B)

4.5 定时器内核(B)

4.6 UART内核(B)

4.7 JTAG_UART内核(B)

4.8 SPI内核(C)

4.9 DMA内核(C)

4.10 带Avalon接口的互斥内核(C)

4.11带Avalon接口的邮箱内核(C)

4.12 System ID内核(C)

第5章 FPGA配置和Flash编程(6学时)

5.1 FPGA配置(B)

5.2 Cyclone及Cyclone IIFPGA配置(B)

5.3 配置芯片(C)

5.4 配置的软件设置(C)

5.5 配置文件(C)

5.6 配置可靠性及电路设计注意事项(C)

5.7 下载配置文件到FPGA(C)

5.8 下载配置文件到EPCS(C)

5.9 IDE Flash Programmer介绍(C)

5.10 用户程序引导(C)

5.11 使用IDE Flash Programmer编程(C)

5.12 创建目标板Flash编程设计(B)

第6章 Nios II应用程序及其外设HAL驱动开发(6学时)

6.1 Nios II IDE简介(A)

6.2 设置工程系统库属性和编译选项(B)

6.3 调试/运行程序(B)

6.4 下载程序到Flash(C)

6.5 硬件抽象层(HAL)系统库(B)

6.6 使用HAL开发应用程序(A)

6.7 设备驱动概述(C)

6.8 开发HAL下的设备驱动(C)

6.9 μC/OSII(B)

6.10 Nios II C语言至硬件加速编译器(C2H)简介(C)第7章Avalon接口规范(6学时)

7.1 Avalon总线简介(B)

7.2 术语和概念(C)

7.3 Avalon信号(C)

7.4 从端口传输(C)

本文来源:https://www.bwwdw.com/article/4q2l.html

Top