1 / 18

Nios2 小系统 —— 实验 二 . Nios2 软件

Nios2 小系统 —— 实验 二 . Nios2 软件. 华中科技大学启明学院电工电子科技创新中心 王贞炎. 实验内容. 实验名称 Hello World! 和跑马灯程序 预备 知识 Nios2 处理器小系统的搭建 实验 目的 学会使用 Eclipse-Nios2 IDE 编写 Nios2 软件程序,学会使用 PIO 外设,了解一般外设的访问方式 实验 内容及 方法 学习 Nios2 软件的一般结构,使用 Eclipse-Nios2 IDE 编写程序,从 Jtag-Uart 控制台输出“ Hello World!" ;

cally-lowe
Download Presentation

Nios2 小系统 —— 实验 二 . Nios2 软件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nios2小系统——实验二. Nios2软件 华中科技大学启明学院电工电子科技创新中心 王贞炎

  2. 实验内容 • 实验名称 • Hello World!和跑马灯程序 • 预备知识 • Nios2处理器小系统的搭建 • 实验目的 • 学会使用Eclipse-Nios2 IDE编写Nios2软件程序,学会使用PIO外设,了解一般外设的访问方式 • 实验内容及方法 • 学习Nios2软件的一般结构,使用Eclipse-Nios2 IDE编写程序,从Jtag-Uart控制台输出“Hello World!"; • 学会使用PIO外设,编写跑马灯程序,并了解一般的外设的访问方式。

  3. 讲解内容 • Nios2软硬件系统的联系 • Nios2软件的基本结构简介 • 使用Eclipse-Nios2 • 创建工程和编译 • 调试

  4. Nios2软硬件的联系 • “.sopcinfo”文件是Nios2软硬件的桥梁 • 它由SOPC Builder生成,描述了SOPC系统的几乎全部信息; • 为Eclipse-Nios2提供创建软件工程的基础和依据; • 是一个XML文件,可以用文本编辑器查看,其中包含: • SOPC系统的总体信息 • 系统中包含的模块信息 • 模块包含的接口信息 SOPC Builder还会生成另一个基本等效的文件“.ptf”,用于支持早期的 Nios2 IDE; 新的Qsys工具,仅生成“.sopcinfo”文件。

  5. Nios2软件的基本结构 • Nios2软件自下而上分为: • Device Driver层:描述设备(主要指SOPC系统中的外设)基本功能和操作 • HAL(Hardware Abstract Layer):将设备操作抽象成统一的形式提供给C语言标准库和用户 • C Standard Library:C语言标准库 • 用户程序 • 上述层次中,从设备驱动到C语言标准库的全部内容,均由Eclipse-Nios2在创建工程时自动生成,位于独立的一个BSP(Board Support Package)工程中。

  6. 使用Eclipse-Nios2 • 启动Eclipse-Nios2 • 选择工作区 • 工作区用于保存Eclipse-Nios2的工作环境配置,并可以包含一个或多个工程。 • 可以针对不同的项目需要甚至针对某个工程单独设置工作区,也可一直使用同一个工作区。

  7. 使用Eclipse-Nios2 • Eclipse-Nios2的界面 界面配置选择可为不同的工作情景选择不同的界面配置 菜单和工具栏 Project Explorer罗列工程,并可查看工程中的文件结构 Outline 罗列工程、文件中的要点,如文件中的宏定义、函数等 各种消息窗口

  8. 使用Eclipse-Nios2 • 新建工程 • File – New – Nios2 Application & BSPfrom Template将根据已有模板新建两个工程: • BSP工程:容纳设备驱动、HAL和C语言标准库,这个工程完全由Eclipse-Nios2管理。 • Application工程:容纳用户自己编写的程序。

  9. 使用Eclipse-Nios2 • 新建工程 指定Nios2处理器系统 Nios2处理器核 工程名 工程位置,建议默认 工程模板 不同的模板适用于不同类型的程序

  10. 使用Eclipse-Nios2 • 新建工程 BSP工程名和位置建议全部默认 如果对于同一个Nios2处理器系统原先建立过BSP工程,也可选用原有的。

  11. 使用Eclipse-Nios2 • 工程的结构 • 应用工程 • 自行编写的源文件 • 一些工程配置和Makefile • BSP工程 • 设备驱动(drivers),包括头文件和源文件 • HAL,包括头文件和源文件 • 其它重要头文件和源文件 • 一些工程配置和Makefile system.h包含外设的基本信息和定义的头文件,在整个软件开发过程中非常重要

  12. 使用Eclipse-Nios2 • 工程的结构 • Eclipse-Nios2源于Linux,其工程管理与Linux中几乎一样 • 工程的文件结构基于文件系统结构。 • 几乎所有的编译过程都由Makefile文件控制,在Eclipse-Nios2中,Makefile由Eclipse-Nios2自动管理。 system.h包含外设的基本信息和定义的头文件,在整个软件开发过程中非常重要

  13. 使用Eclipse-Nios2 • 工作区中的工程 • 工程可以从工作区中删除也可从文件系统中添加至工作区。 • 在工程名上单击右键 • “Delete”可将工程从工作区中删除 • “Import”可将工程从文件系统中添加进工作区 导入时选择Nios2 software build tools project 指定文件系统位置并为导入的工程命名 删除时选择是否也从文件系统中删除

  14. 使用Eclipse-Nios2 • 编译 • 在工程名上单击右键,选择“Build Project”即可编译工程 • 工程编译时,会按照工程间的依赖关系先编译被依赖的工程 • 如Application工程依赖于BSP工程,Eclipse-Nios2会先编译BSP工程,然后编译Application工程 • 工程的编译采用增量方式 • 编译时,只编译新增或修改过的文件,而后一起连接,所以新工程初次编译需要的时间稍长 • 编译完成后应查看“Problems”消息窗口,确定编译正确或修正出现的问题 • 编译最终生成的目标文件是以工程名命名的“.elf”文件,用于下载运行和调试

  15. 使用Eclipse-Nios2 • 工程的属性和配置 • 在工程名上单击右键,“Properties”菜单项中,可配置工程的属性,如编译配置、优化程度等等 • 在BSP工程上单击右键,包含专门针对Nios2 BSP工程的菜单项“Nios II”,其中: • Generate BSP:用于重新生成BSP,在SOPC Builder中修改过SOPC系统后,需要使用此项重新生成BSP。 • BSP Editor:配置BSP的具体内容,包括: • 存储器配置,目标文件连接方式,堆栈配置 • 设备驱动和HAL的使用和配置 • 软件包的使用和配置,包括uC/OS操作系统、TCP/IP协议栈、文件系统等 • ……

  16. 使用Eclipse-Nios2 • 调试 • 配置调试 • 调试前需连接好开发板,并事先下载FPGA配置文件 • 单击工具栏中调试图标旁的下拉三角,选择Debug Configurations… • 在Debug Configurations窗口中,选中Nios II Hardware,并单击新建图标

  17. 使用Eclipse-Nios2 • 调试 • 配置调试 • 在Project标签中为新配置命名,选择欲调试的工程及对应elf文件 • 在Target Connection标签中,单击Refresh Connections,检查目标开发板的连接。(须事先连接好开发板,并配置FPGA数据)

  18. 使用Eclipse-Nios2 • 调试 • 配置调试 • “Apply”后,单击“Debug”或退出后单击工具栏上的debug图标,即可进行调试。 • 调试前会自动重新编译工程,如果工程刚刚编译过,这一步会很快,而后下载目标文件至Nios2系统的程序运行空间,并使程序运行至用户主函数后暂停,等待用户的调试命令。调试前会提示使用调试视图,一般可选用。 • 调试过程中: • F5键:单步步入,程序向前执行一步,遇到函数,进入函数 • F6键:单步跳过,程序向前执行,遇到函数,执行并跳出 • F7键:跳出函数,程序向前执行,直到从当前函数跳出 • F8键:恢复执行,程序一直向前执行,直到遇到断点或用户暂停 • 双击某一行行首设置断点,程序执行至此将暂停 • 其它功能见菜单“Run”

More Related