嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt

上传人(卖家):晟晟文业 文档编号:3703601 上传时间:2022-10-06 格式:PPT 页数:43 大小:898.47KB
下载 相关 举报
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt_第1页
第1页 / 共43页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt_第2页
第2页 / 共43页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt_第3页
第3页 / 共43页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt_第4页
第4页 / 共43页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、嵌入式技术概述嵌入式技术概述 NIOS 处理器系统的软件设计流程和方法 刘兰军刘兰军2022-9-29NIOS II 处理器系统开发平台NiosII EDS(Embedded Design Suite,嵌入式开发包)NiosII EDS:统一统一的软件开发平台,适用于的软件开发平台,适用于所所 有有NiosII处理器系统处理器系统 自动生成自动生成NIOSII系统系统板支持包板支持包BSP,BSP包括包括硬件抽象层硬件抽象层HAL、可、可选的选的 RTOS、设备驱动设备驱动2022-9-29NIOS II 处理器系统开发平台NiosII 处理器系统开发方法NiosII EDS提供两种开发方法:

2、提供两种开发方法:1)基于集成开发环境基于集成开发环境NiosII IDE完成系统软件开发完成系统软件开发2)基于命令行和脚本环境进行系统软件开发,然)基于命令行和脚本环境进行系统软件开发,然 后将工程导入到后将工程导入到NiosII IDE中进行调试中进行调试2022-9-29NIOS II 处理器系统开发平台命令行开发环境集成开发环境2022-9-29NIOS II IDE 简介Nios II IDE:基于开放式的、可扩展的基于开放式的、可扩展的Eclipse IDE以及以及Eclipse C/C+开发工具开发工具Nios II系列嵌入式处理器的基本软件开发工具,系列嵌入式处理器的基本软件

3、开发工具,为为Nios II处理器系统软件开发提供的主要功能:处理器系统软件开发提供的主要功能:工程管理器编辑器和编译器调试器闪存编程器2022-9-29NIOS II IDE 简介Nios II IDE工程管理器1)新建工程向导新建工程向导Nios II IDE集成了一个新建工程向导,用于自动建立集成了一个新建工程向导,用于自动建立C/C+应应用程序工程和系统库工程用程序工程和系统库工程2022-9-29NIOS II IDE 简介Nios II IDE工程管理器2)软件工程模板软件工程模板Nios II IDE以工程模板的形式提供了软件代码实例以工程模板的形式提供了软件代码实例软件模板软件

4、模板介绍2022-9-29NIOS II IDE 简介Nios II IDE工程管理器3)软件组件(系统软件)软件组件(系统软件)Nios II IDE自动生成开发人员快速定制系统所需的软自动生成开发人员快速定制系统所需的软件组件(系统软件)件组件(系统软件)自动生成的软件组件放在自动生成的软件组件放在系统库系统库中,中,包括:包括:NiosIINiosII运行库(硬件抽象层运行库(硬件抽象层HALHAL)轻量级轻量级TCP/IPTCP/IP库库MicroC/OS-IIMicroC/OS-II实时操作系统(实时操作系统(RTOSRTOS)AltreaAltrea压缩文件系统压缩文件系统2022

5、-9-29NIOS II IDE 简介Nios II IDE编辑器和编译器1)文本编辑器文本编辑器NiosII IDE 文本编辑器是一个成熟的全功能源文件编辑器:工程文件管理语法高亮显示C/C+代码辅助/代码协助完成全面的搜索工具自动纠错内置调试功能广泛的在线帮助主题和教程2022-9-29NIOS II IDE 简介Nios II IDE编辑器和编译器1)文本编辑器文本编辑器2022-9-29NIOS II IDE 简介Nios II IDE编辑器和编译器2)C/C+编译器编译器 Nios II IDE为为GCC编译器提供一个图形化用户界面,提供一编译器提供一个图形化用户界面,提供一个个易用

6、的按钮式流程易用的按钮式流程,同时允许开发人员,同时允许开发人员设置高级编译选项设置高级编译选项 Nios II IDE编译环境自动地生成编译环境自动地生成一个基于用户特定系统配置一个基于用户特定系统配置(SOPC Builder生成的生成的PTF文件)文件)的的makefile,Nios II IDE中中编译编译/链接设置链接设置的任何改变都会自动映射到该的任何改变都会自动映射到该makefile中,设置中,设置包括包括生成存储器初始化文件(生成存储器初始化文件(MIF)的选项)的选项、闪存内容闪存内容、仿真器仿真器初始化文件(初始化文件(DAT/HEX)、Profile概况文件的相关选项概

7、况文件的相关选项。2022-9-29NIOS II IDE 简介Nios II IDE编辑器和编译器3)调试器调试器 Nios II IDE包含一个基于包含一个基于GNU调试器的软件调试器调试器的软件调试器GDB:基本调试功能:运行控制、调用堆栈查看、软件断点、反汇编代运行控制、调用堆栈查看、软件断点、反汇编代 码查看、调试信息查看、指令集仿真器码查看、调试信息查看、指令集仿真器高级调试功能:硬件断点调试硬件断点调试ROM或闪存中的代码、数据触或闪存中的代码、数据触 发、指令跟踪发、指令跟踪调试信息查看功能:用户可以访问本地变量、寄存器、存储器、断点以及表达式赋值函数等2022-9-29NIO

8、S II IDE 简介Nios II IDE编辑器和编译器3)调试器调试器 NiosII IDE 调试器连接的目标包括目标目标说明说明硬件(通过硬件(通过JTAG)连接至连接至Altera的的FPGA开发板开发板指令集仿真器指令集仿真器Nios II指令集架构的软件例化;用于硬件平台未搭建好时的系统开发。指令集架构的软件例化;用于硬件平台未搭建好时的系统开发。硬件逻辑仿真器硬件逻辑仿真器连接至连接至ModelSim HDL仿真器;用于验证用户创建的外设。仿真器;用于验证用户创建的外设。2022-9-29NIOS II IDE 简介Nios II IDE编辑器和编译器4)闪存编程器闪存编程器 N

9、ios II处理器系统的闪存用于存储处理器系统的闪存用于存储FPGA配置数据、配置数据、Nios II编程编程数据、系统参数数据等。数据、系统参数数据等。Nios II IDE提供的提供的闪存编程器闪存编程器可烧写的闪存包括:可烧写的闪存包括:1)任何连接到)任何连接到FPGA的兼容通用闪存接口(的兼容通用闪存接口(CFI)闪存器件)闪存器件2)任何)任何Altera串行配置器件串行配置器件2022-9-29NIOS II IDE 简介Nios II IDE编辑器和编译器4)闪存编程器闪存编程器 利用闪存编程器可编程到闪存的通用内容类型利用闪存编程器可编程到闪存的通用内容类型内容类型内容类型说

10、明说明系统固定软件系统固定软件烧写到闪存中的软件,用于烧写到闪存中的软件,用于Nios II处理器复位时从闪存中导入启动程序处理器复位时从闪存中导入启动程序FPGA配置配置如果使用一个配置控制器,如果使用一个配置控制器,FPGA能够在上电复位时从闪存获取配置数据能够在上电复位时从闪存获取配置数据。任意二进制数据任意二进制数据开发人员想存储到闪存内的任何二进制数据,例如图形、音频等开发人员想存储到闪存内的任何二进制数据,例如图形、音频等。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II 程序的构成程序的构成 项目项目说明说明应用工程应用工程 Nios II C

11、/C+应用工程包括应用工程包括生成一个可执行的生成一个可执行的.elf文件的源代码的文件的源代码的集合集合。典型的应用的特征是一个源文件包含。典型的应用的特征是一个源文件包含main()函数。函数。应用工程包括应用工程包括Libraries和和BSP中中被调用的函数的源代码被调用的函数的源代码。库工程库工程 库工程是库工程是一个库文件一个库文件(.a)中的源代码的集合中的源代码的集合。库文件中通常包含可。库文件中通常包含可 重用的、通用的函数,这些函数重用的、通用的函数,这些函数可被多个应用工程共享可被多个应用工程共享。库工程没有库工程没有main()函数函数板支持包板支持包BSP工程工程 N

12、ios II BSP工程是工程是包含特定系统支持代码的特殊的库包含特定系统支持代码的特殊的库。BSP为为 SOPC Builder系统的处理器提供定制的软件运行环境。系统的处理器提供定制的软件运行环境。Nios II IDE和和Nios II IDE 开发流程文档中使用开发流程文档中使用“system library”来指代来指代BSP。BSP包括:包括:硬件抽象层硬件抽象层(HAL)、Newlib C 标准库、设备驱动、可标准库、设备驱动、可选的软件包、可选的实时操作系统选的软件包、可选的实时操作系统(RTOS)。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios

13、 II 程序的构成程序的构成-BSP工程工程1)硬件抽象层)硬件抽象层(HAL)HAL提供一个非线程的、类似提供一个非线程的、类似UNIX的的C/C+运行环境;运行环境;HAL可以提供通用的可以提供通用的I/O设备,允许用户采用设备,允许用户采用newlib C 标准库函数编程来访问硬标准库函数编程来访问硬件,如件,如printf();使用使用HAL可以尽量避免通过直接访问硬件的寄存器来控制外设和与外设通信。可以尽量避免通过直接访问硬件的寄存器来控制外设和与外设通信。2)Newlib C标准库标准库Newlib是为了嵌入式系统的应用,而对是为了嵌入式系统的应用,而对C标准库进行精简的开源实现,

14、包括一些标准库进行精简的开源实现,包括一些常用的函数,如常用的函数,如printf()、malloc()和和open()等。等。3)设备驱动)设备驱动每个设备驱动管理一个硬件设备。每个设备驱动管理一个硬件设备。HAL为为SOPC Builder系统中的每一个需要驱系统中的每一个需要驱动程序的设备实例化一个驱动程序。动程序的设备实例化一个驱动程序。一个设备驱动是和一个特定的一个设备驱动是和一个特定的SOPC Builder设备相关联的;驱动程序有一些设设备相关联的;驱动程序有一些设置可以影响驱动程序的编译,这些设置包含在置可以影响驱动程序的编译,这些设置包含在BSP的设置中。的设置中。2022-

15、9-29基于NIOS II IDE的NIOSII软件开发流程Nios II 程序的构成程序的构成-BSP工程工程4)可选的软件包)可选的软件包软件包是用户可以选择加入到软件包是用户可以选择加入到BSP工程中,提供附加功能的源代码。如工程中,提供附加功能的源代码。如Nios II 版本的版本的Nich Stack TCP/IP协议栈。协议栈。Nios II IDE和和Nios II IDE设计流程文档使用设计流程文档使用软件组件软件组件来指代软件包。来指代软件包。软件包和特定的硬件没有关联软件包和特定的硬件没有关联;软件包有一些设置会影响其编译,这些设置包含软件包有一些设置会影响其编译,这些设置

16、包含在在BSP的设置中。的设置中。5)可选的实时操作系统()可选的实时操作系统(RTOS)Nios II EDS包含了一个第三方的包含了一个第三方的 C/OS-II 实时操作系统,用户可以选择加入到实时操作系统,用户可以选择加入到 BSP中。中。C/OS-II基于基于HAL,实现了一个简单的调度程序。用户可以修改设,实现了一个简单的调度程序。用户可以修改设 置,这些设置包含在置,这些设置包含在BSP设置中。设置中。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤开发人员:开发人员:使用使用Nios II IDE图形用户界面图形

17、用户界面创建、修改、编译、运创建、修改、编译、运行和调试行和调试Nios II程序,对编译进程和工程设置干预较少,而且不程序,对编译进程和工程设置干预较少,而且不需要定制的脚本。需要定制的脚本。NIOSII IDE:IDE创建和管理用户的创建和管理用户的makefile。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤1)新建工程)新建工程启动Nios II IDE,出现Nios II C/C+的窗口2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤1)新建工程

18、)新建工程工程命名目标系统,IDE据此创建系统库NIOSII处理器选择工程模板2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤1)新建工程)新建工程选择创建一个新系统库还是利用已有的系统库2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤1)新建工程)新建工程应用工程:C/C+工程系统库工程2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤1)新建工程:)新建工程:建立C源文件,选中digi_cl

19、ock工程,单击右键,在弹出菜单选择NewSource File,也可以选择File菜单New Source File如果在工程创建时选择特定的工程模板,则只需要对模板文件进行修改2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤1)新建工程:)新建工程:建立C源文件,选中digi_clock工程,单击右键,在弹出菜单选择NewSource File,也可以选择File菜单New Source File一定要加上后缀名.C2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件

20、开发步骤2)编译工程和管理工程:)编译工程和管理工程:右键单击右键单击digi_clock工程,在弹出菜单中选择工程,在弹出菜单中选择Build Project,或者选择,或者选择Project菜单菜单Build Project。管理硬件的特定设置,比如通信设备、存储器的分配等管理是在硬件上调试程序,还是在指令仿真器环境下调试管理工程和硬件以及其他工程的关联管理程序是在硬件上运行,还是在指令仿真器环境下运行2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤2)编译工程和管理工程:)编译工程和管理工程:Properties设置。设

21、置。主要设置C/C+Build和C/C+Indexer2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤2)编译工程和管理工程:)编译工程和管理工程:Properties设置。设置。C/C+Build:设置工程编译针对调试模式还是发布模式设置编译的优化、调试等级2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤2)编译工程和管理工程:)编译工程和管理工程:Properties设置。设置。选择可用的检索器:不使用Indexer、Fast C/C+Indexer、Fu

22、ll C/C+Indexer,借助于检索器,可以方便地找到程序文件中的相关信息2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤2)编译工程和管理工程:)编译工程和管理工程:System Library Properties设置。设置。选择是否使用实时操作系统(RTOS)选择NiosII系统的标准输出、错误、输入设备,采用标准函数是控制I/O设备的最简单方法选择系统时钟驱动所用的定时器,采用操作系统时,必须定义一个系统时钟选择时间戳驱动所用的定时器,与系统时钟不能使用同一定时器指定能够被字符设备或文件子系统打开访问的最大文件数,

23、默认为322022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤2)编译工程和管理工程:)编译工程和管理工程:System Library Properties设置。设置。选中,系统库中省略exit()选中,系统库从main()返回时先清I/O缓冲区,再调用exit()2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤2)编译工程和管理工程:)编译工程和管理工程:System Library Properties设置。设置。指定程序运行的物理存储器指定只读数据驻留的物

24、理存储器指定可读/写数据驻留的物理存储器指定堆驻留的物理存储器,用于存储全局变量指定栈驻留的物理存储器,用于存储局部变量选定该项,异常堆栈将驻留在一个单独的物理存储器中指定异常堆栈驻留的物理存储器指定异常堆栈的最大存储空间2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序:)运行和调试程序:运行和调试程序之前要把运行和调试程序之前要把NIOS II系统硬件下载到系统硬件下载到FPGA中中。Nios II程序的调试环境:程序的调试环境:1)Nios II HardwareNios II硬件。硬件。2)Nios I

25、I Instruction Set SimulatorNios II指令集仿真器。指令集仿真器。Nios II程序的运行环境:程序的运行环境:1)Nios II HardwareNios II硬件。硬件。2)Nios II Instruction Set SimulatorNios II指令集仿真器。指令集仿真器。3)Nios II ModelSim在在ModelSim软件环境下运行。软件环境下运行。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序:)运行和调试程序:运行和调试程序之前要把运行和调试程序之前要

26、把NIOS系统硬件下载到系统硬件下载到FPGA中中。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序:)运行和调试程序:运行和调试程序之前要把运行和调试程序之前要把NIOS系统硬件下载到系统硬件下载到FPGA中中。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序)运行和调试程序 运行和调试环境的设置:运行和调试环境的设置:选择选择Run菜单菜单Debug/Run主要设置Target Target connectionconn

27、ection和DebuggerDebugger2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序)运行和调试程序2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序)运行和调试程序将调试器和控制台附加到硬件中的程序的后面2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤3)运行和调试程序)运行和调试程序进行完调试和运行环境的设置之后,只要点击进行完调试和运行环境的设

28、置之后,只要点击Run菜单,然菜单,然后选择后选择Run As/Debug As,再选择相应的运行,再选择相应的运行/调试环境,如调试环境,如Nios II Haredware,即可开始调试和运行程序,控制台会显示,即可开始调试和运行程序,控制台会显示调试和运行程序的信息。调试和运行程序的信息。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤4)下载程序到)下载程序到Flash用户可以将用户可以将软件文件软件文件、FPGA配置文件配置文件、数据文件数据文件存储到存储到flash存储器中。存储器中。对对flash存储器编程能够使

29、硬件在启动的时从存储器编程能够使硬件在启动的时从flash装载软件装载软件和和FPGA的配置。的配置。用户可以使用用户可以使用Nios II IDE flash programmer编程连接到编程连接到FPGA的的flash存储器。存储器。2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤4)下载程序到)下载程序到Flash:在在Tools菜单中,点击菜单中,点击Flash Programmer.,出现,出现Flash Programmer 对话窗对话窗在配置列表中右键单击Flash Programmer,然后在弹出菜单中单击New,一个新的flash programmer 配置出现2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤4)下载程序到)下载程序到Flash2022-9-29基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤软件开发步骤4)下载程序到)下载程序到Flash:2022-9-29

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|