




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 4 9 嵌入式技术概述 NIOS 处理器系统的软件设计流程和方法 刘兰军 2020 4 9 2 NIOSII处理器系统开发平台 NiosIIEDS EmbeddedDesignSuite 嵌入式开发包 NiosIIEDS 统一的软件开发平台 适用于所有NiosII处理器系统自动生成NIOSII系统板支持包BSP BSP包括硬件抽象层HAL 可选的RTOS 设备驱动 2020 4 9 3 NIOSII处理器系统开发平台 NiosII处理器系统开发方法NiosIIEDS提供两种开发方法 1 基于集成开发环境NiosIIIDE完成系统软件开发2 基于命令行和脚本环境进行系统软件开发 然后将工程导入到NiosIIIDE中进行调试 2020 4 9 4 NIOSII处理器系统开发平台 命令行开发环境 集成开发环境 2020 4 9 5 NIOSIIIDE简介 NiosIIIDE 基于开放式的 可扩展的EclipseIDE以及EclipseC C 开发工具NiosII系列嵌入式处理器的基本软件开发工具 为NiosII处理器系统软件开发提供的主要功能 工程管理器编辑器和编译器调试器闪存编程器 2020 4 9 6 NIOSIIIDE简介 NiosIIIDE 工程管理器1 新建工程向导 NiosIIIDE集成了一个新建工程向导 用于自动建立C C 应用程序工程和系统库工程 2020 4 9 7 NIOSIIIDE简介 NiosIIIDE 工程管理器2 软件工程模板 NiosIIIDE以工程模板的形式提供了软件代码实例 软件模板 软件模板介绍 2020 4 9 8 NIOSIIIDE简介 NiosIIIDE 工程管理器3 软件组件 系统软件 NiosIIIDE自动生成开发人员快速定制系统所需的软件组件 系统软件 自动生成的软件组件放在系统库中 包括 NiosII运行库 硬件抽象层HAL 轻量级TCP IP库MicroC OS II实时操作系统 RTOS Altrea压缩文件系统 2020 4 9 9 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器1 文本编辑器NiosIIIDE文本编辑器是一个成熟的全功能源文件编辑器 工程文件管理语法高亮显示C C 代码辅助 代码协助完成全面的搜索工具自动纠错内置调试功能广泛的在线帮助主题和教程 2020 4 9 10 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器1 文本编辑器 2020 4 9 11 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器2 C C 编译器NiosIIIDE为GCC编译器提供一个图形化用户界面 提供一个易用的按钮式流程 同时允许开发人员设置高级编译选项NiosIIIDE编译环境自动地生成一个基于用户特定系统配置 SOPCBuilder生成的PTF文件 的makefile NiosIIIDE中编译 链接设置的任何改变都会自动映射到该makefile中 设置包括生成存储器初始化文件 MIF 的选项 闪存内容 仿真器初始化文件 DAT HEX profile总结文件的相关选项 2020 4 9 12 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器3 调试器NiosIIIDE包含一个基于GNU调试器的软件调试器 GDB 基本调试功能 运行控制 调用堆栈查看 软件断点 反汇编代码查看 调试信息查看 指令集仿真器高级调试功能 硬件断点调试ROM或闪存中的代码 数据触发 指令跟踪 调试信息查看功能 用户可以访问本地变量 寄存器 存储器 断点以及表达式赋值函数等 2020 4 9 13 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器3 调试器NiosIIIDE包含一个基于GNU调试器的软件调试器 GDB NiosIIIDE调试器连接的目标包括 2020 4 9 14 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器4 闪存编程器NiosII处理器系统的闪存用于存储FPGA配置数据 NiosII编程数据 系统参数数据等 NiosIIIDE提供的闪存编程器可烧写的闪存包括 1 任何连接到FPGA的兼容通用闪存接口 CFI 闪存器件2 任何Altera串行配置器件 2020 4 9 15 NIOSIIIDE简介 NiosIIIDE 编辑器和编译器4 闪存编程器利用闪存编程器可编程到闪存的通用内容类型 2020 4 9 16 基于NIOSIIIDE的NIOSII软件开发流程 NiosII程序的构成 2020 4 9 17 基于NIOSIIIDE的NIOSII软件开发流程 NiosII程序的构成 BSP工程1 硬件抽象层 HAL HAL提供一个非线程的 类似UNIX的C C 运行环境 HAL可以提供通用的I O设备 允许用户采用newlibC标准库函数编程来访问硬件 如printf 使用HAL可以尽量避免通过直接访问硬件的寄存器来控制外设和与外设通信 2 NewlibC标准库Newlib是为了嵌入式系统的应用 而对C标准库进行精简的开源实现 包括一些常用的函数 如printf malloc 和open 等 3 设备驱动每个设备驱动管理一个硬件设备 HAL为SOPCBuilder系统中的每一个需要驱动程序的设备实例化一个驱动程序 一个设备驱动是和一个特定的SOPCBuilder设备相关联的 驱动程序有一些设置可以影响驱动程序的编译 这些设置包含在BSP的设置中 2020 4 9 18 基于NIOSIIIDE的NIOSII软件开发流程 NiosII程序的构成 BSP工程4 可选的软件包软件包是用户可以选择加入到BSP工程中 提供附加功能的源代码 如NiosII版本的NichStack TCP IP协议栈 NiosIIIDE和NiosIIIDE设计流程文档使用 软件组件 来指代软件包 软件包和特定的硬件没有关联 软件包有一些设置会影响其编译 这些设置包含在BSP的设置中 5 可选的实时操作系统 RTOS NiosIIEDS包含了一个第三方的 C OS II实时操作系统 用户可以选择加入到BSP中 C OS II基于HAL 实现了一个简单的调度程序 用户可以修改设置 这些设置包含在BSP设置中 2020 4 9 19 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤采用NiosIIIDE开发NiosII处理器软件 用户使用NiosIIIDE图形用户界面创建 修改 编译 运行和调试NiosII程序 IDE创建和管理用户的makefile 用户对编译进程和工程设置干预较少 而且不需要定制的脚本 2020 4 9 20 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤1 新建工程启动NiosIIIDE 出现NiosIIC C 的窗口 2020 4 9 21 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤1 新建工程 工程命名 目标系统 IDE据此创建系统库 NIOSII处理器 选择工程模板 2020 4 9 22 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤1 新建工程 选择创建一个新系统库还是利用已有的系统库 2020 4 9 23 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤1 新建工程 应用工程 C C 工程 系统库工程 2020 4 9 24 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤1 新建工程 建立C源文件 选中digi clock工程 单击右键 在弹出菜单选择New SourceFile 也可以选择File菜单 New SourceFile 如果在工程创建时选择特定的工程模板 则只需要对模板文件进行修改 2020 4 9 25 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤1 新建工程 建立C源文件 选中digi clock工程 单击右键 在弹出菜单选择New SourceFile 也可以选择File菜单 New SourceFile 一定要加上后缀名 C 2020 4 9 26 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 右键单击digi clock工程 在弹出菜单中选择BuildProject 或者选择Project菜单 BuildProject 主要是管理工程和硬件以及其他工程的关联 管理硬件的特定的设置 比如通信设备 存储器的分配等 管理程序是在硬件上运行 还是在指令仿真器环境下运行 管理是在硬件上调试程序 还是在指令仿真器环境下调试 2020 4 9 27 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 Properties设置 主要设置C C Build和C C Indexer 2020 4 9 28 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 Properties设置 C C Build 设置工程编译针对调试模式还是发布模式 设置编译的优化 调试等级 2020 4 9 29 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 Properties设置 选择可用的检索器 不使用Indexer FastC C Indexer FullC C Indexer 借助于检索器 可以方便地找到程序文件中的相关信息 2020 4 9 30 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 SystemLibraryProperties设置 选择是否使用实时操作系统 RTOS 选择NiosII系统的标准输出 错误 输入设备 采用标准函数是控制I O设备的最简单方法 选择系统时钟驱动所用的定时器 采用操作系统时 必须定义一个系统时钟 选择时间戳驱动所用的定时器 与系统时钟不能使用同一定时器 指定能够被字符设备或文件子系统打开访问的最大文件数 默认为32 2020 4 9 31 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 SystemLibraryProperties设置 选中 系统库中省略exit 选中 系统库从main 返回时先清I O缓冲区 再调用exit 2020 4 9 32 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤2 编译工程和管理工程 SystemLibraryProperties设置 指定程序运行的物理存储器 指定只读数据驻留的物理存储器 指定可读 写数据驻留的物理存储器 指定堆驻留的物理存储器 用于存储全局变量 指定栈驻留的物理存储器 用于存储局部变量 选定该项 异常堆栈将驻留在一个单独的物理存储器中 指定异常堆栈驻留的物理存储器 指定异常堆栈的最大存储空间 2020 4 9 33 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤3 运行和调试程序 运行和调试程序之前要把NIOS系统硬件下载到FPGA中 NiosII程序的调试环境 1 NiosIIHardware NiosII硬件 2 NiosIIInstructionSetSimulator NiosII指令集仿真器 NiosII程序的运行环境 1 NiosIIHardware NiosII硬件 2 NiosIIInstructionSetSimulator NiosII指令集仿真器 3 NiosIIModelSim 在ModelSim软件环境下运行 2020 4 9 34 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤3 运行和调试程序 运行和调试程序之前要把NIOS系统硬件下载到FPGA中 2020 4 9 35 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤3 运行和调试程序运行和调试环境的设置 选择Run菜单 Debug Run 主要设置Targetconnection和Debugger 2020 4 9 36 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤3 运行和调试程序 2020 4 9 37 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤3 运行和调试程序 2020 4 9 38 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤3 运行和调试程序进行完调试和运行环境的设置之后 只要点击Run菜单 然后选择RunAs DebugAs 再选择相应的运行 调试环境 如NiosIIHaredware 即可开始调试和运行程序 控制台会显示调试和运行程序的信息 2020 4 9 39 基于NIOSIIIDE的NIOSII软件开发流程 NiosIIIDE软件开发步骤4 下载程序到Flash用户可以将软件文件 FPGA配置文件 数据文件存储到flash存储器中 对flash存储器编程能够使硬件在启动的时从flash装载软件和FPGA的配置 用户可以使用NiosIIIDEflashprogrammer编程连接到FPGA的flash
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代畜牧业技术服务合同书
- 采购合同审核及风险评估指南
- 2025私营企业工业园区自动化设备搬迁协议
- 2025牲畜租赁合同
- 以学生作文为案例浅谈作文母题训练12篇
- 梦游天姥吟留别:历史背景与文化内涵教案
- 跨团队协作平台使用说明及操作手册
- 2025年沥青混凝土运输合作协议
- 化工厂安全培训简讯
- 2025年广告代理合同示范文本
- 教科版四年级上册科学全册教案
- 水稻螟虫绿色防控
- 图形动画毕业设计
- 工会劳动竞赛课件
- 2025-2026学年苏教版小学数学五年级上册教学计划及进度表
- 2025年建筑工程-安全员C证-安全员(C证·上海)历年参考题库典型考点含答案解析
- 新版苏教版四年级上册科学(全册教案及教学计划及进度表)
- 电力市场交易体系规则培训PPT
- GB/T 18705-2002装饰用焊接不锈钢管
- 女儿墙安装电动吊篮相关安全计算
- 国有企业清产核资培训讲课件
评论
0/150
提交评论