嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件_第1页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件_第2页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件_第3页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件_第4页
嵌入式技术概述NIOSII处理器系统的软件设计流程和方法课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、编辑器和编译器调试器闪存编程器9/24/20225NIOS II IDE 简介Nios II IDE:9/NIOS II IDE 简介Nios II IDE工程管理器1)新建工程向导Nios II IDE集成了一个新建工程向导,用于自动建立C/C+应用程序工程和系统库工程9/24/20226NIOS II IDE 简介Nios II IDE工NIOS II IDE 简介Nios II IDE工程管理器2)软件工程模板Nios II IDE以工程模板的形式提供了软件代码实例软件模板软件模板介绍9/24/20227NIOS II IDE 简介Nios II IDE工NIOS II IDE 简介Ni

4、os II IDE工程管理器3)软件组件(系统软件)Nios II IDE自动生成开发人员快速定制系统所需的软件组件(系统软件)自动生成的软件组件放在系统库中,包括:NiosII运行库(硬件抽象层HAL)轻量级TCP/IP库MicroC/OS-II实时操作系统(RTOS)Altrea压缩文件系统9/24/20228NIOS II IDE 简介Nios II IDE工NIOS II IDE 简介Nios II IDE编辑器和编译器1)文本编辑器NiosII IDE 文本编辑器是一个成熟的全功能源文件编辑器:工程文件管理语法高亮显示C/C+代码辅助/代码协助完成全面的搜索工具自动纠错内置调试功能广

5、泛的在线帮助主题和教程9/24/20229NIOS II IDE 简介Nios II IDE编NIOS II IDE 简介Nios II IDE编辑器和编译器1)文本编辑器9/24/202210NIOS II IDE 简介Nios II IDE编NIOS II IDE 简介Nios II IDE编辑器和编译器2)C/C+编译器 Nios II IDE为GCC编译器提供一个图形化用户界面,提供一个易用的按钮式流程,同时允许开发人员设置高级编译选项 Nios II IDE编译环境自动地生成一个基于用户特定系统配置(SOPC Builder生成的PTF文件)的makefile,Nios II IDE

6、中编译/链接设置的任何改变都会自动映射到该makefile中,设置包括生成存储器初始化文件(MIF)的选项、闪存内容、仿真器初始化文件(DAT/HEX)、Profile概况文件的相关选项。9/24/202211NIOS II IDE 简介Nios II IDE编NIOS II IDE 简介Nios II IDE编辑器和编译器3)调试器 Nios II IDE包含一个基于GNU调试器的软件调试器GDB:基本调试功能:运行控制、调用堆栈查看、软件断点、反汇编代 码查看、调试信息查看、指令集仿真器高级调试功能:硬件断点调试ROM或闪存中的代码、数据触 发、指令跟踪调试信息查看功能:用户可以访问本地变

7、量、寄存器、存储器、断点以及表达式赋值函数等9/24/202212NIOS II IDE 简介Nios II IDE编NIOS II IDE 简介Nios II IDE编辑器和编译器3)调试器 NiosII IDE 调试器连接的目标包括目标说明硬件(通过JTAG)连接至Altera的FPGA开发板指令集仿真器Nios II指令集架构的软件例化;用于硬件平台未搭建好时的系统开发。硬件逻辑仿真器连接至ModelSim HDL仿真器;用于验证用户创建的外设。9/24/202213NIOS II IDE 简介Nios II IDE编NIOS II IDE 简介Nios II IDE编辑器和编译器4)闪

8、存编程器 Nios II处理器系统的闪存用于存储FPGA配置数据、Nios II编程数据、系统参数数据等。Nios II IDE提供的闪存编程器可烧写的闪存包括: 1)任何连接到FPGA的兼容通用闪存接口(CFI)闪存器件2)任何Altera串行配置器件9/24/202214NIOS II IDE 简介Nios II IDE编NIOS II IDE 简介Nios II IDE编辑器和编译器4)闪存编程器 利用闪存编程器可编程到闪存的通用内容类型内容类型说明系统固定软件烧写到闪存中的软件,用于Nios II处理器复位时从闪存中导入启动程序FPGA配置如果使用一个配置控制器,FPGA能够在上电复位

9、时从闪存获取配置数据。任意二进制数据开发人员想存储到闪存内的任何二进制数据,例如图形、音频等。9/24/202215NIOS II IDE 简介Nios II IDE编基于NIOS II IDE的NIOSII软件开发流程Nios II 程序的构成 项目说明应用工程 Nios II C/C+ 应用工程包括生成一个可执行的.elf文件的源代码的集合。典型的应用的特征是一个源文件包含main ()函数。 应用工程包括Libraries和BSP中被调用的函数的源代码。库工程 库工程是一个库文件(.a)中的源代码的集合。库文件中通常包含可 重用的、通用的函数,这些函数可被多个应用工程共享。 库工程没有m

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

11、L提供一个非线程的、类似UNIX的C/C+ 运行环境;HAL可以提供通用的I/O设备,允许用户采用newlib C 标准库函数编程来访问硬件,如printf ();使用HAL可以尽量避免通过直接访问硬件的寄存器来控制外设和与外设通信。2)Newlib C标准库Newlib是为了嵌入式系统的应用,而对C标准库进行精简的开源实现,包括一些常用的函数,如printf()、malloc()和open()等。3)设备驱动每个设备驱动管理一个硬件设备。HAL为SOPC Builder系统中的每一个需要驱动程序的设备实例化一个驱动程序。一个设备驱动是和一个特定的SOPC Builder设备相关联的;驱动程序

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

13、 EDS包含了一个第三方的C/OS-II 实时操作系统,用户可以选择加入到 BSP中。C/OS-II基于HAL,实现了一个简单的调度程序。用户可以修改设 置,这些设置包含在BSP设置中。9/24/202218基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤开发人员:使用Nios II IDE图形用户界面创建、修改、编译、运行和调试Nios II程序,对编译进程和工程设置干预较少,而且不需要定制的脚本。NIOSII IDE:IDE创建和管理用户的makefile。9/24/202219基于NIOS II

14、 IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程启动Nios II IDE,出现Nios II C/C+的窗口9/24/202220基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程工程命名目标系统,IDE据此创建系统库NIOSII处理器选择工程模板9/24/202221基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开

15、发步骤1)新建工程选择创建一个新系统库还是利用已有的系统库9/24/202222基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程应用工程:C/C+工程系统库工程9/24/202223基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程:建立C源文件,选中digi_clock工程,单击右键,在弹出菜单选择NewSource File,也可以选择File菜单New Source File如果在

16、工程创建时选择特定的工程模板,则只需要对模板文件进行修改9/24/202224基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程:建立C源文件,选中digi_clock工程,单击右键,在弹出菜单选择NewSource File,也可以选择File菜单New Source File一定要加上后缀名.C9/24/202225基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤2)编译工程和管理工程:右键单击

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

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

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

20、29/24/202230基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤2)编译工程和管理工程: System Library Properties设置。选中,系统库中省略exit()选中,系统库从main()返回时先清I/O缓冲区,再调用exit()9/24/202231基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤2)编译工程和管理工程: System Library Properties设置。指定程序

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

22、ios II Instruction Set SimulatorNios II指令集仿真器。 Nios II程序的运行环境:1)Nios II HardwareNios II硬件。2)Nios II Instruction Set SimulatorNios II指令集仿真器。3)Nios II ModelSim在ModelSim软件环境下运行。9/24/202233基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤3)运行和调试程序: 运行和调试程序之前要把NIOS系统硬件下载到FPGA中。9/24/

23、202234基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤3)运行和调试程序: 运行和调试程序之前要把NIOS系统硬件下载到FPGA中。9/24/202235基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤3)运行和调试程序 运行和调试环境的设置:选择Run菜单Debug/Run主要设置Target connection和Debugger9/24/202236基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤3)运行和调试程序9/24/202237基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios II IDE软件开发步骤3)运行和调试程序将调试器和控制台附加到硬件中的程序的后面9/24/202238基于NIOS II IDE的NIOSII软件开发流程Ni基于NIOS II IDE的NIOSII软件开发流程Nios

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论