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

下载本文档

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

文档简介

工程学院 自动化及测控系WWW.OUC.EDU.CNOCEAN UNIVERSITY OF CHINA嵌入式技术概述 NIOS 处理器系统的软件设计流程和方法刘兰军*工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II 处理器系统开发平台NiosII EDS(Embedded Design Suite,嵌入式开发包 )NiosII EDS: 统一 的软件开发平台,适用于 所 有 NiosII处理器系统自动生成 NIOSII系统 板支持包 BSP, BSP包括 硬件抽象层 HAL、可选的RTOS、 设备驱动Date 2工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II 处理器系统开发平台NiosII 处理器系统开发方法NiosII EDS提供两种开发方法:1) 基于集成开发环境 NiosII IDE完成系统软件开发2)基于命令行和脚本环境进行系统软件开发,然后将工程导入到 NiosII IDE中进行调试Date 3工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II 处理器系统开发平台命令行开发环境集成开发环境Date 4工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE:基于开放式的、可扩展的 Eclipse IDE以及Eclipse C/C+ 开发工具Nios II系列嵌入式处理器的基本软件开发工具,为 Nios II处理器系统软件开发提供的主要功能:工程管理器编辑器和编译器调试器闪存编程器Date 5工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 工程管理器1) 新建工程向导 Nios II IDE集成了一个新建工程向导,用于自动建立 C/C+应用程序工程和系统库工程Date 6工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 工程管理器2) 软件工程模板 Nios II IDE以工程模板的形式提供了软件代码实例软件模板 软件模板介绍Date 7工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 工程管理器3) 软件组件(系统软件) Nios II IDE自动生成开发人员快速定制系统所需的软件组件(系统软件)自动生成的软件组件放在 系统库 中,包括:NiosII运行库(硬件抽象层 HAL)轻量级 TCP/IP库MicroC/OS-II实时操作系统( RTOS)Altrea压缩文件系统Date 8工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器1) 文本编辑器NiosII IDE 文本编辑器是一个成熟的全功能源文件编辑器:工程文件管理语法高亮显示 C/C+代码辅助 /代码协助完成全面的搜索工具自动纠错内置调试功能广泛的在线帮助主题和教程Date 9工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器1) 文本编辑器Date 10工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器2) C/C+编译器Nios II IDE为 GCC编译器提供一个图形化用户界面,提供一个 易用的按钮式流程 ,同时允许开发人员 设置高级编译选项Nios II IDE编译环境自动地生成 一个基于用户特定系统配置( SOPC Builder生成的 PTF文件) 的 makefile, Nios II IDE中编译 /链接设置 的任何改变都会自动映射到该 makefile中,设置包括 生成存储器初始化文件( MIF)的选项 、 闪存内容 、 仿真器初始化文件( DAT/HEX) 、 Profile概况文件的相关选项 。Date 11工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器3) 调试器Nios II IDE包含一个基于 GNU调试器的软件调试器 GDB:基本调试功能: 运行控制、调用堆栈查看、软件断点、反汇编代码查看、调试信息查看、指令集仿真器高级调试功能 : 硬件断点调试 ROM或闪存中的代码、数据触发、指令跟踪 调试信息查看功能: 用户可以访问本地变量、寄存器、存储器、断点以及表达式赋值函数等Date 12工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器3) 调试器NiosII IDE 调试器连接的目标包括目 标 说 明硬件(通 过 JTAG) 连 接至 Altera的 FPGA开 发 板指令集仿真器 Nios II指令集架构的 软 件例化;用于硬件平台未搭建好 时 的系 统 开 发 。硬件 逻辑 仿真器 连 接至 ModelSim HDL仿真器;用于 验证 用 户创 建的外 设 。Date 13工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器4) 闪存编程器Nios II处理器系统的闪存用于存储 FPGA配置数据、 Nios II编程数据、系统参数数据等。Nios II IDE提供的 闪存编程器 可烧写的闪存包括:1)任何连接到 FPGA的兼容通用闪存接口( CFI)闪存器件2)任何 Altera串行配置器件Date 14工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINANIOS II IDE 简介Nios II IDE 编辑器和编译器4) 闪存编程器利用闪存编程器可编程到闪存的通用内容类型内容 类 型 说 明系 统 固定 软 件 烧 写到 闪 存中的 软 件,用于 Nios II处 理器复位 时 从 闪 存中 导 入启 动 程序FPGA配置 如果使用一个配置控制器, FPGA能 够 在上 电 复位 时 从 闪 存 获 取配置数据 。任意二 进 制数据 开 发 人 员 想存 储 到 闪 存内的任何二 进 制数据,例如 图 形、音 频 等 。Date 15工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II 程序的构成项 目 说 明应 用工程Nios II C/C+ 应 用工程包括 生成一个可 执 行的 .elf文件的源代 码 的集合 。典型的 应 用的特征是一个源文件包含 main ()函数。应 用工程包括 Libraries和 BSP中 被 调 用的函数的源代 码 。库 工程库 工程是 一个 库 文件 (.a)中的源代 码 的集合 。 库 文件中通常包含可 重用的、通用的函数, 这 些函数 可被多个 应 用工程共享 。库 工程没有 main ()函数板支持包 BSP工程Nios II BSP工程是 包含特定系 统 支持代 码 的特殊的 库 。 BSP为 SOPC Builder系 统 的 处 理器提供定制的 软 件运行 环 境。 Nios II IDE和 Nios II IDE 开 发 流程文档中使用 “system library” 来指代BSP。BSP包括: 硬件抽象 层 (HAL)、 Newlib C 标 准 库 、 设备驱动 、可选 的 软 件包、可 选 的 实时 操作系 统 (RTOS)。Date 16工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II 程序的构成 -BSP工程1)硬件抽象层 (HAL)HAL提供一个非线程的、类似 UNIX的 C/C+ 运行环境;HAL可以提供通用的 I/O设备,允许用户采用 newlib C 标准库函数编程来访问硬件,如 printf ();使用 HAL可以尽量避免通过直接访问硬件的寄存器来控制外设和与外设通信。2) Newlib C标准库Newlib是为了嵌入式系统的应用,而对 C标准库进行精简的开源实现,包括一些常用的函数,如 printf()、 malloc()和 open()等。3)设备驱动每个设备驱动管理一个硬件设备。 HAL为 SOPC Builder系统中的每一个需要驱动程序的设备实例化一个驱动程序。一个设备驱动是和一个特定的 SOPC Builder设备相关联的;驱动程序有一些设置可以影响驱动程序的编译,这些设置包含在 BSP的设置中。Date 17工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 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 EDS包含了一个第三方的 C/OS-II 实时操作系统,用户可以选择加入到BSP中。 C/OS-II基于 HAL,实现了一个简单的调度程序。用户可以修改设置,这些设置包含在 BSP设置中。Date 18工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤开发人员: 使用 Nios II IDE图形用户界面 创建、修改、编译、运行和调试 Nios II程序,对编译进程和工程设置干预较少,而且不需要定制的脚本。NIOSII IDE: IDE创建和管理用户的 makefile。Date 19工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程启动 Nios II IDE,出现 Nios II C/C+的窗口Date 20工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程工程命名目标系统,IDE据此创建系统库NIOSII处理器选择工程模板Date 21工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程选择创建一个新系统库还是利用已有的系统库Date 22工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程应用工程:C/C+工程系统库工程Date 23工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程: 建立 C源文件,选中 digi_clock工程,单击右键,在弹出菜单选择NewSource File,也可以选择 File菜单 New Source File如果在工程创建时选择特定的工程模板,则只需要对模板文件进行修改Date 24工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤1)新建工程: 建立 C源文件,选中 digi_clock工程,单击右键,在弹出菜单选择NewSource File,也可以选择 File菜单 New Source File一定要加上后缀名 .CDate 25工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤2)编译工程和管理工程: 右键单击 digi_clock工程,在弹出菜单中选择 Build Project,或者选择 Project菜单 Build Project。管理硬件的特定设置,比如通信设备、存储器的分配等管理是在硬件上调试程序,还是在指令仿真器环境下调试管理工程和硬件以及其他工程的关联管理程序是在硬件上运行,还是在指令仿真器环境下运行Date 26工程学院 自动化及测控系OCEAN UNIVERSITY OF CHINA基于 NIOS II IDE的 NIOSII软件开发流程Nios II IDE软件开发步骤2)编译工程和管理工程: Properties设置。主要设置 C/C+ Build和 C/C+ IndexerDate 27工程学院 自动化及测控系OCEAN UN

温馨提示

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

评论

0/150

提交评论