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

合集下载

《嵌入式开发》教学大纲

《嵌入式开发》教学大纲

《嵌入式开发》教学大纲课程编码:课程名称:嵌入式开发学时/学分:72/4先修课程:C语言程序设计、数字逻辑、Linux操作系统、计算机网络、操作系统、计算机组成原理、微机原理与接口技术、汇编语言适用专业:计算机科学与技术开课教研室:网络教研室一、课程性质与任务1 •课程性质:专业方向必修课2 •课程目的:了解嵌入式系统基本要素和最新知识概念,掌握嵌入式系统软硬件设计原理和方法,实践嵌入式系统项目开发基本流程,掌握嵌入式系统开发方法。

通过学习,使学生深刻理解嵌入式系统的基本要素和最新设计理念、嵌入式操作系统、软硬件协同设计的基本方法;实践嵌入式系统设计流程;具备良好的嵌入式系统工程开发能力。

通过本课程的学习,具备一定的分析和解决问题的能力;激起学生们的好奇心和创造力。

二、课程教学基本要求1 •嵌入式相关基础理论知识的理解与掌握2 • Linux C编程、Linux网络编程3 .基于SkyEye的嵌入式系统开发4 •驱动程序设计的框架以及关键点5 •进一步分析Linux 0.11内核源代码,提升自己对操作系统原理的理解水平,对操作系统有一个总体的把握和认知三、课程教学内容第1章嵌入式系统开发技术基础主要知识点:探1.1嵌入式系统概述探1.2嵌入式处理器探1.3嵌入式操作系统※^ 1.4嵌入式系统的结构、开发流程、开发要点第2章嵌入式系统开发环境主要知识点:2.1嵌入式系统开发环境简介22OK2440-II开发平台介绍2.2.1 OK2440-II开发板构成2.2.2 OK2440-II开发板硬件资源探2.2.3 实例一OK2440-II开发板的基本使用2.2.4 实例一引导Windows CE2.2.5 实例一引导Linux2.3交叉编译的基本知识2.3.1 ARM交叉编译工具链2.3.2嵌入式软件开发流程探2.4实例一创建交叉编译环境探2.5 实例一QEMU、GDB的安装及简单使用2.5.1 QEMU的安装2.5.2 GDB的安装探2.5.3 运行ARM汇编程序探2.5.4 调试ARM汇编程序2.6 SkyEye的安装及简单使用2.6.1 SkyEye 简介探 2.6.2 实例一安装SkyEye-1.2.6探 2.6.2 实例一使用SkyEye-1.2.6探2.7 实例一TFTP服务器的搭建探2.8实例一NFS服务器的搭建第3章嵌入式软件开发基础主要知识点:3.1 Linux C语言程序设计基础知识3.1.1程序安装目录、头文件、库文件3.1.2 gcc编译器探3.1.3实例一使用gcc编译器3.1.4 GNU make 工具和Makefile 文件※^ 3.1.5 实例一使用make及Makefile文件3.1.6 glibc3.1.7 gdb探3.1.8实例一使用gdb调试器3.1.9 Binutils 工具包3.2 GNU ARM汇编语法3.5 ARM汇编语言程序设计3.5.1 ARM汇编伪指令介绍3.5.2模块化程序设计3.6混合语言编程第4章引导装载程序BootLoader的移植主要知识点:4.1 BootLoader4.1.1 BootLoader 概述4.1.2 BootLoader的工作流程4.2 常见BootLoader 介绍4.3 U-Boot-1.1.4源代码分析4.3.1 U-Boot的代码结构4.3.2 U-Boot的启动流程4.3.3 cpu/arm920t/start.S4.3.4 lowlevel」nit.S4.3.5 lib_arm/board.c4.3.6 ini t_seque nce[]4.3.7 common/mai n.c4.4 移植U-Boot-1.1.4 到S3C2440A 平台4.4.1 U-Boot的配置与编译探4.4.2 实例一移植U-Boot到S3C2440A平台探4.4.3 实例一烧写U-Boot到Flash4.5 实例一使用U-Boot4.5.1 U-Boot的常用命令4.5.2 U-Boot的环境变量4.5.3 U-Boot与内核的关系4.5.4 添加U-Boot命令探4.6 实例一基于skyeye的移植三部曲之一:Bootloader第5章Linux在ARM平台的移植主要知识点:5.1 Linux 内核5.1.1 Linux内核简介5.1.2 Linux内核源代码结构5.1.3 Linux内核的配置探 5.1.4 Makefile、Kconfig 与.config 的关系5.2 Linux内核的移植探5.3 zlmage内核映像的生成过程5.3.1 zImage 的构成5.3.2 zImage的解压过程探5.4 实例一基于skyeye的移植三部曲之二:5.5 Linux内核启动流程分析第6章根文件系统主要知识点:6.1嵌入式Linux的文件系统6.2Linux系统的引导过程探6.3建立根文件系统探6.4实例一基于skyeye的移植三部曲之三:第7章嵌入式LinUX设备驱动程序开发7.1 Linux设备驱动程序的相关知识7.2 Linux设备驱动程序设计探7.2.1实例一动态加载模块探7.2.2实例一简单字符驱动程序第8章嵌入式Linux的图形用户接口主要知识点:8.1嵌入式Linux中的GUI简介8.2Qt / Embedded8.3Microwi ndows8.4Mi niGUI8.50pe nGUIKernel RootFSLinux C编程一站式学习II. C语言本质主要知识点:14. 计算机中数的表示15. 数据类型详解16. 运算符详解17. 计算机体系结构基础探18. x86汇编程序基础探19.汇编与C之间的关系探20.链接详解探21.预处理22. Makefile 基础探23.指针探24.函数接口探25. C标准库Linux C编程一站式学习HI. Linux系统编程主要知识点:探28.文件与I/O探29.文件系统探30.进程31. Shell 脚本探32.正则表达式探33.信号探34.终端、作业控制与守护进程探35.线程探36. TCP/IP协议基础探37. socket编程四、学时分配表五、教材及参考书教材:《嵌入式系统开发实用教程》主编:张同光出版社:清华大学出版社,2013 《Linux C编程站式学习》主编:木劲杉出版社:电子工业出版社,2009参考书:1 •(美)施部•克•威(V,S,K).嵌入式系统原理、设计及开发•西安:清华大学出版社, 20122 .周立功.ARM嵌入式系统基础教程(第2版).北京:北京航空航天大学出版社,2008.93 .凌明.嵌入式系统高级C语言编程.北京:北京航空航天大学出版社,2011主要学习资源:(1) /(2) /(3) /(4) /审定:。

《FPGA基础》教学大纲

《FPGA基础》教学大纲

《FPGA基础》教学大纲课程编号:CE6009课程名称: FPGA基础英文名称:Foundation of FPGA学分/学时:2/32 课程性质:选修适用专业:网络工程建议开设学期:6网络空间安全信息安全先修课程:数字电路与逻辑设计开课单位:网络与信息安全学院计算机组织与体系结构微机原理与系统设计一、课程的教学目标与任务本课程是对相关专业课知识的拓宽、提高和综合应用,其目的是使学生熟悉基于FPGA 的电子系统设计方法,掌握相关设计语言、开发流程及工具,获得FPGA设计的基本知识和基本技能,培养学生利用FPGA进行电子系统设计和开发的能力,培养学生理论联系实际的能力,提高学生对计算机系统结构的认知能力和核心知识的掌握程度,培养学生的创新能力以及综合运用基础知识的实践动手能力,以适应电子信息时代对学生知识结构和能力的要求。

本课程的任务主要是通过理论教学和上机实验相结合的方式,使学生熟悉基于FPGA设计数字硬件电路系统的相关概念、原理和技术,熟练掌握常用FPGA技术的设计思想和方法,并具有动手设计简单数字电子系统的能力。

二、课程具体内容及基本要求(一)可编程逻辑器件与FPGA( 2学时)主要内容:(1)可编程逻辑器件技术发展及应用(2)FPGA器件编程技术(3)FPGA基本结构(4)FPGA技术未来发展1.基本要求(1)了解可编程逻辑器件的发展历程和应用领域,以及FPGA技术未来发展方向;(2)熟悉FPGA器件编程技术(3)掌握FPGA基本概念和结构特点。

2.重点、难点重点:FPGA的基本结构及主要性能指标。

难点:FPGA的基本结构。

3.作业及课外学习要求:(1)查阅资料,了解FPGA的最新技术,了解SoC、SOPC开发的基本概念。

(二)FPGA开发工具及设计流程( 2学时)主要内容:(1)开发环境QuaftusⅡ介绍(2)仿真软件ModelSim(3)采用QuaftusⅡ进行系统设计的流程(4)基于QuaftusⅡ的设计实例1. 基本要求(1)熟悉QuaftusⅡ开发环境和仿真工具;(2)掌握基于QuaftusⅡ进行系统设计的方法和流程。

《嵌入式应用开发设计》课程教学大纲

《嵌入式应用开发设计》课程教学大纲

《嵌入式应用开发设计》课程教学大纲课程名称:嵌入式应用开发设计英文名称:Design and Application Development of Embedded Systems课程编码:51610135学时/学分:46/2.5 :课程性质:选修适用专业:计算机应用先修课程:计算机组成原理,计算机系统结构,操作系统原理,嵌入式操作系统,微型计算机原理及接口技术,单片机原理及应用。

一、课程的目的与任务本课程是一门涉及嵌入式计算机硬件、软件以及应用的综合性计算机课程。

本课程面向的学生主要是高年级本科生。

课程的目的是培养学生设计和实现嵌入式系统的能力。

本课程的任务是学习嵌入式计算机硬件软件构成,以及嵌入式系统的主流操作系统和软件开发技术。

本课程主要分为嵌入式体系结构、嵌入式操作系统、嵌入式软件开发。

嵌入式体系结构的教学主要围绕ARM体系结构进行,ARM体系结构在嵌入式领域占有相当大的比例,通过本课程的学习,使学生掌握ARM体系结构,ARM指令集、以及在ARM体系下的嵌入式编程。

二、教学内容及基本要求第一章嵌入式系统概述教学目的和要求:(1)主要介绍嵌入式系统的定义与基本概念,嵌入式系统的硬件/软件特点、嵌入式系统的类型及其发展过程;(2)嵌入式系统的基本设计过程与方法。

基本要求:介绍嵌入式系统的基本概念,硬件/软件特点,嵌入式系统的设计方发与过程。

教学难点和重点:嵌入式系统的特点;嵌入式系统硬件、软件的基本设计过程与方法。

教学方法和手段:课时安排:2学时第一节嵌入式系统简介1.1.1嵌入式系统的定义1.1.2发展历史1.1.3特点1.1.4实时性1.1.5市场1.1.6嵌入式系统组成第二节嵌入式处理器1.2.1嵌入式处理器分类1.2.2知识产权第三节嵌入式操作系统1.3.1嵌入式操作系统结构1.3.2嵌入式操作系统的有关基本概念1.3.3使用嵌入式操作系统的优缺点1.3.4嵌入式操作系统分类第四节嵌入式系统的典型应用1.4.1嵌入式系统的应用领域1.4.2嵌入式系统的应用实例第五节嵌入式系统的基本设计过程1.5.1嵌入式系统设计的主要步骤1.5.2需求分析与规格说明1.5.3体系结构设计1.5.4构件设计1.5.5系统调试与集成复习与作业要求:阅读教材的第一章,上网查阅对嵌入式系统的一般介绍。

FPGA设计与嵌入式硬件开发课程大纲

FPGA设计与嵌入式硬件开发课程大纲

FPGA设计与嵌入式硬件开发课程大纲【大纲】一、课程介绍A. 课程名称B. 课程目标C. 参考教材D. 课程安排二、FPGA基础知识A. FPGA概述1. 什么是FPGA2. FPGA的应用领域B. FPGA的工作原理1. CLB、IOB、BRAM等模块的介绍2. FPGA的内部结构C. FPGA的设计流程1. 设计准备2. RTL设计3. 综合与布局布线4. 下载与调试三、硬件描述语言A. 了解Verilog HDL1. Verilog HDL的基本语法2. 模块化设计与层次化设计3. 时钟与时序控制B. Verilog的高级特性1. 组合逻辑与时序逻辑2. 有限状态机设计3. 生成器与实例化四、FPGA开发工具A. 开发环境介绍1. FPGA开发板的选择与使用2. FPGA开发软件的选择与使用B. Xilinx Vivado的基本操作1. 工程的创建与配置2. 约束文件的编写与调试3. 综合与实现过程的掌握4. Bitstream的生成与下载五、嵌入式硬件开发A. 嵌入式硬件开发概述1. 嵌入式系统的定义与特点2. 嵌入式硬件设计的关键问题B. 嵌入式处理器的选择与配置1. ARM Cortex-M系列处理器简介2. 嵌入式处理器体系结构与指令集3. 外设与总线的配置与控制C. 嵌入式硬件设计流程1. 系统级设计与模块化设计2. 基于FPGA的SoC设计3. 硬件/软件协同开发六、实践项目A. FPGA设计项目1. 基础的组合逻辑与时序逻辑设计2. 有限状态机设计与控制器实现3. 基于FPGA的外设接口设计B. 嵌入式硬件项目1. 基于ARM Cortex-M处理器的外设控制2. 嵌入式系统级设计与调试七、考核方式与评价标准A. 课堂表现与作业质量B. 实践项目的完成情况C. 期末考试成绩八、参考资料A. 课程教材及参考书目B. 相关学术论文与期刊以上为《FPGA设计与嵌入式硬件开发课程大纲》的内容,请参考。

fpga技术课程设计

fpga技术课程设计

fpga技术课程设计一、教学目标本课程的教学目标分为三个维度:知识目标、技能目标和情感态度价值观目标。

1.知识目标:通过本课程的学习,学生将掌握FPGA技术的基本概念、原理和应用,了解FPGA技术的发展趋势及其在电子工程领域的广泛应用。

2.技能目标:学生将能够熟练使用FPGA开发工具,如ISE、Vivado等,掌握FPGA编程语言,如VHDL、Verilog等,并具备一定的FPGA硬件设计和验证能力。

3.情感态度价值观目标:培养学生对FPGA技术的兴趣和热情,使其认识到了解和掌握FPGA技术对于个人职业发展的重要性,树立正确的科学态度和创新精神。

二、教学内容教学内容将根据课程目标进行选择和,确保内容的科学性和系统性。

教学大纲如下:1.FPGA技术概述:介绍FPGA的基本概念、工作原理和分类,以及FPGA技术的发展历程和趋势。

2.FPGA硬件描述语言:讲解VHDL和Verilog两种主流的FPGA硬件描述语言,包括基本语法、语句结构和常用库函数。

3.FPGA设计与验证:介绍FPGA设计的基本流程,包括设计输入、综合、布局布线和仿真验证等环节。

4.FPGA应用案例:分析典型的FPGA应用案例,如数字信号处理、网络通信、嵌入式系统等,使学生了解FPGA技术在实际工程中的应用。

5.FPGA开发工具:介绍FPGA常用的开发工具,如ISE、Vivado等,以及这些工具的使用方法和技巧。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:教师通过讲解、演示和举例等方式,向学生传授FPGA技术的基本概念、原理和应用。

2.讨论法:学生针对FPGA技术的相关话题进行讨论,培养学生的思考能力和团队协作精神。

3.案例分析法:分析典型的FPGA应用案例,使学生了解FPGA技术在实际工程中的应用,提高学生的实践能力。

4.实验法:安排学生进行FPGA实验,让学生亲自动手操作,巩固所学知识,提高实际操作能力。

嵌入式系统基础教学大纲

嵌入式系统基础教学大纲

《嵌入式系统基础》课程教学大纲一课程说明1.课程基本情况课程名称:嵌入式系统基础英文名称:Base of Embedded System课程编号:2413245开课专业:计算机科学与技术开课学期:第5学期学分/周学时:5学分/5学时课程类型:专业任选课2.课程性质(本课程在该专业的地位作用)本课程是计算机科学与技术专业嵌入式技术方向基础课程,紧密结合嵌入式应用软件开发实际,课堂讲授和上机实验相结合,熟悉嵌入式系统开发的基础理论和方法,搭建嵌入式系统的开发平台,初步掌握嵌入式系统开发的步骤。

3.本课程的教学目的和任务本课程要求学生在课堂上有一定量的实例练习,提高使用专用工具进行程序设计的能力;要求学生在课后要进行一定的训练以达到能够熟练应用嵌入式系统工具实现工程设计、操作等方面的能力,掌握嵌入式系统设计的基本方法,熟悉ARM处理器的开发环境及软硬件的调试过程,巩固和加深对理论课中知识的理解,提高对所学知识的综合运用能力。

4.本课程与相关课程的关系、教材体系特点及具体要求学习本课程前应具有一定的计算机基础知识、数字电路与逻辑技术、电子电路知识、程序设计知识、操作系统知识。

本课程的学习需要以下先导课程:《计算机组成原理》、《操作系统》、《汇编语言程序设计》、《C(标准 C)语言程序设计》、《电路与模拟电子技术》、《数字电子技术》、《数据结构》本课程是嵌入式系统后继课程《嵌入式操作系统》、《嵌入式应用与开发》、《移动智能设备应用开发》的先导课程。

5.教学时数及课时分配二教材及主要参考书1.赵宏,王小牛. 嵌入式系统应用教程. 北京:人民邮电出版社,20102.周立功等编著. ARM嵌入式系统基础教程. 北京:北京航空航天大学出版社,20053.王田苗编. 嵌入式系统设计与实例开发. 北京:清华大学出版社,20024.赵宏,曹洁编著.linux系统指南. 成都:西南交通大学出版社,20085.嵌入式Linux设计与应用. 北京:清华大学出版社6.坂村健著.嵌入式实时操作系统T-Kernel.北京:北京航空航天大学出版社,20057.张绮文等编著.ARM嵌入式常用模块与综合系统设计实例精讲.北京:电子工业出版社,20078.北京博创.UP-CUP S2410经典Linux实验指导书.9.俞建新,王健,宋健建.嵌入式系统基础教程北京:机械工业出版社 2008年3月10.俞建新等编著. 嵌入式应用程序开发综合实验9例北京:清华大学出版社11.Real-time Embedded Software Systems12.OSEK/VDX Operating System. Version 2.2.2. July 5th, 2004.13.Charting Past, Present, Future Research in Ubiquitous Computing.14.Priority Inheritance Protocols: An Approach to Real-Time Synchronization三教学方法和教学手段说明本课程要求学生在课堂上有一定量的实例练习,能够熟练应用嵌入式系统工具实现工程设计、操作等方面的能力,推荐使用多媒体教学(机房或多媒体教室),机房教学好一些,注重理论教学与实验教学相结合。

FPGA课程与课时安排

FPGA课程与课时安排

FPGA开发课程大纲与时间 V3.1第一部分 FPGA开发基础(课时:2天)课程内容第一章 FPGA基础1. Verilog HDL的历史2. Verilog HDL和VHDL的异同3. EDA技术的发展4. 现代EDA技术的特点及应用5. EDA技术的范畴和应用6. EDA技术的发展7. FPGA技术的技术现状和发展方向8. FPGA技术的典型应用领域9. FPGA的工艺结构和特点10. 工程项目中FPGA芯片的选型策略和原则11. FPGA最小系统的概念12. IP复用技术及SOC概况:IP核与片上系统第二章 FPGA开发环境1. 基本设计流程2. 原理图式图形输入,文本编辑,内存编辑3. 图标和原理图编辑器4. Quartus II与EDA驱动流程。

5. 项目编译6. 项目校验。

7. 器件编程与配置。

8. 器件编程下载与硬件测试9. Quartus Ⅱ辅助工具实验内容:下载配置实例1. 配置方式介绍2. 配置过程3. 配置接口电路4. Altera公司下载电缆介绍5. 配置芯片介绍第二部分 FPGA硬件设计(课时:2天)课程内容第三章 FPGA硬件设计1. FPGA管脚设计2. 下载配置与调试接口电路设计3. 高速SDRAM存储器接口电路设计4. 异步SRAM(ASRAM)存储器接口电路设计5. FLASH存储器接口电路设计6. 开关、按键与发光LED电路设计7. VGA接口电路设计8. PS/2鼠标及键盘接口电路设计9. RS-232串口10. 字符型液晶显示器接口电路设计11. USB2.0接口芯片CY7C68013电路设计12. 电源电路设计13. 复位电路设计14. 时钟电路设计第三部分 FPGA编程(课时:2周)课程内容第四章 Verilog HDL语法1. Verilog HDL语言简介2. Verilog HDL和VHDL语言的对比3. VerilogHDL和C语言的比较4. 标志符与注释5. 数字与逻辑数值6. 数据类型7. 运算符和表达式:赋值运算符,算术运算符,逻辑运算符,关系运算符,条件运算符,位运算符,拼接运算符,移位运算符,一元约简运算符8. 触发事件控制:信号电平事件语句,信号跳变沿事件语句1. 条件语句: if语句,case语句,条件语句的深入理解2. 循环语句:repeat语句,while语句,for语句,循环语句的深入理解3. 编译预处理:宏定义'define语句,条件编译命令'if语句,文件包含'include语句,时间尺度'timescale语句。

FPGA设计与嵌入式硬件开发项目课程大纲

FPGA设计与嵌入式硬件开发项目课程大纲

FPGA设计与嵌入式硬件开发项目课程大纲一、课程简介本课程旨在培养学生的FPGA设计与嵌入式硬件开发能力,通过理论与实践相结合的方式,让学生掌握FPGA设计基本原理、嵌入式系统开发流程以及相关工具的使用。

通过本课程的学习,学生将具备独立进行FPGA设计与嵌入式硬件开发项目的能力。

二、课程目标1.了解FPGA的基本概念和原理;2.掌握Verilog硬件描述语言的基本语法和使用方法;3.熟悉FPGA设计流程,包括设计、仿真、综合和实现;4.学习嵌入式系统开发的基本知识和技能;5.了解常用的FPGA开发工具和开发平台;6.通过实践项目,培养学生团队合作和问题解决的能力。

三、课程内容1. FPGA基础知识1.1 FPGA的概念和特点1.2 FPGA的发展历程1.3 FPGA的应用领域1.4 FPGA与ASIC的对比2. Verilog硬件描述语言2.1 Verilog的基本语法2.2 Verilog的数据类型2.3 Verilog的运算和逻辑操作2.4 Verilog的模块化设计3. FPGA设计流程3.1 设计规范和约束3.2 设计方法和策略3.3 设计实例分析和仿真3.4 综合和布局布线3.5 静态时序分析和时钟域划分4. 嵌入式系统开发4.1 嵌入式系统的概念和特点4.2 嵌入式系统的硬件平台4.3 嵌入式系统的软件开发4.4 嵌入式系统的调试和测试4.5 嵌入式系统的性能优化5. FPGA开发工具和平台5.1 常用的FPGA开发工具介绍5.2 FPGA开发平台的选择和配置5.3 FPGA开发板的使用和调试6. 项目实践6.1 分组项目设计6.2 项目需求分析和规划6.3 项目实施与调试6.4 项目演示和总结四、教学方法本课程采用理论教学与实践相结合的教学方法。

理论教学包括课堂讲授、案例分析等;实践教学包括实验操作、项目实践等。

学生参与项目实践,提高实际操作能力和问题解决能力。

五、考核方式本课程的考核方式包括平时成绩和期末项目实践成绩。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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)。

相关文档
最新文档