软件设计流程和方法.pptx
《软件设计流程和方法.pptx》由会员分享,可在线阅读,更多相关《软件设计流程和方法.pptx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.1 Nios II IDE简介Nios II IDE为软件开发提供4个主要功能:一、工程管理一、工程管理二、编辑器和编译器二、编辑器和编译器三、调试器三、调试器四、闪存编程器四、闪存编程器统一开发平台,用于所有Nios II处理器系统。第1页/共34页n硬件抽象层系统库(HAL)n轻量级IP TCP/IP库nuC/OS-II实时操作系统(RTOS)nAltera压缩文件系统1工程管理器1.新工程向导2.软件工程模板3.软件组件6.1 Nios II IDE简介新工程向导(对话框位置:对话框位置:FileNewC/C+Application )工程模板工程命名指定硬件系统模板功能介绍第2页/
2、共34页2编辑器和编译器1.文本编辑器成熟的全功能源文件编辑器,包括:语法高亮显示C/C+程序代码、全面的搜索工具、文件管理、在线帮助和教程、快速定位及自动纠错、内置调试等功能。2.C/C+编译器Nios II IDE使用GCC编译器,并为其提供了一个图形化用户界面。提供了一个易用的按钮式流程,允许开发人员手工设置高级编译选项,使得操作更简单方便。Nios II IDE编译环境自动地生成一个基于用户特定系统配置(SOPC Builder生成的PTF文件)的makefile。编译/链接设置的任何改变都会自动映射到这个自动生成的makefile中。6.1 Nios II IDE简介第3页/共34页
3、3调试器软件调试器(GDB):是强大的、在GNU调试器基础之上的软件调试器。该调试器提供许多基本调试功能以及一些在低成本处理器开发套件中不会经常用到的高级调试功能。基本调试功能包括:运行控制、调用堆栈查看、软件断点、反汇编代码查看、调试信息查看、指令集仿真器。高级调试功能包括:硬件断点调试ROM或闪存中的代码、数据触发、指令跟踪。6.1 Nios II IDE简介第4页/共34页4闪存编程器多数使用Nios II处理器的设计都需要采用闪存(Flash)来存储FPGA配置数据和/或应用程序。Nios II IDE提供了一个方便的闪存编程方法。任何连接到FPGA的兼容通用闪存接口(CFI)的闪存器
4、件以及主动串行配置器件EPCS都可以通过Nios II IDE闪存编程器来烧写。6.1 Nios II IDE简介第5页/共34页借助工程的创建和配置向导,Nios II IDE使用起来很容易。下面以电子钟的软件开发为例来介绍软件开发的过程。6.2 软件开发流程软件开发流程第6页/共34页Nios II IDE启动第7页/共34页1.新建IDE的工程Nios II IDE提供新工程的向导,指导创建IDE工程。启动IDE,出现Nios II C/C+的窗口。第8页/共34页v新新Nios II工程命名工程命名 digi_clock。v选择目标硬件:选择目标硬件:电子钟电子钟硬件系统硬件系统(PT
5、F文件文件)vIDE根据该文件来根据该文件来建立建立系统库系统库。v选择新工程的模板选择新工程的模板:Blank Project。第9页/共34页v 选择创建一个新系统库(缺省),或使用已有系统库选择创建一个新系统库(缺省),或使用已有系统库第10页/共34页!举例:!举例:若选择新工程的模板为:若选择新工程的模板为:Hello world第11页/共34页系统库工程系统库工程第12页/共34页点击Finish,创建完成工程。IDE同时创建系统库工程*_syslib。IDE工作台的C/C+工程视图第13页/共34页建立C的源文件:选中digi_clock工程,点右键,选择NewSource F
6、ile(FileNew Source File)第14页/共34页2.编译工程和管理工程源程序和头文件编辑完成后,进行编译编译的方法:选中digi_clock工程,右键,菜单中选择Build Project(或ProjectBuild Project)第15页/共34页2.编译工程和管理工程n失败:编译的错误和警告,在console窗口给出,根据该信息修改代码。n成功:出现Binaries目录,及一个可执行文件digi_clock.elf。是能在Nios II处理上运行的可执行和 连接格式(Executable And Linked Format File.elf)第16页/共34页6.3 运
7、行和调试程序nRun之前需把硬件系统下载到FPGA中nNios II程序的运行可以发生在下面的环境 Nios II硬件。指令集仿真器。ModelSim软件环境下运行。v 运行程序运行程序(Run)第17页/共34页第18页/共34页6.4 硬件抽象层(HAL)系统库嵌入式系统的软件开发可分为2部分:应用程序开发:用户软件开发的主要部分,包括系统的主程序main()和其它子程序。驱动程序:直接和底层硬件的宏定义打交道。第19页/共34页HALHAL系统库简介u 什么是什么是HALHAL系统库?系统库?用户在进行嵌入式系统的软件开发时,会涉及到与用户在进行嵌入式系统的软件开发时,会涉及到与硬件的通
8、信问题。硬件的通信问题。HAL(Hardware Abstraction Layer,HAL(Hardware Abstraction Layer,硬件抽象层硬件抽象层)系系统库为与硬件通信的程序统库为与硬件通信的程序提供简单的设备驱动接口提供简单的设备驱动接口它是用户在它是用户在Nios IDE中创建一个新的工程时,由中创建一个新的工程时,由 IDE基于用户在基于用户在SOPC Builder中创建的中创建的Nios处理处理 器系统器系统(PTF文件)自动生成文件)自动生成。第20页/共34页HALHAL应用程序接口(APIAPI)和ANSI CANSI C标准库综合在一起,使用户用类似C
9、C语言的库函数来访问硬件设备或文件,如printf()printf()、fopen()fopen()、fwrite()fwrite()等函数。HALHAL为嵌入式系统中的外围设备提供接口程序。HALHAL和SOPC BuilderSOPC Builder紧密相关,如果硬件配置有了变化,HALHAL设备驱动配置也会自动随之改动,从而避免了由于底层硬件的变化而产生的程序错误。用户不必自己创建或拷贝HALHAL文件,也不必编辑HALHAL中的任何源代码。NiosIDE NiosIDE 自动创建和管理HALHAL文件。第21页/共34页6.4 硬件抽象层(HAL)系统库nHAL的构成HALHAL系统库
10、为用户提供下列支持:系统库为用户提供下列支持:1.1.集集成成了了ANSI ANSI C C标标准准函函数数库库,允允许许调调用用类类似似C C标标准准库库函函数数;Newlib,NewlibNewlib,Newlib是是为为了了嵌嵌入入式式系系统统的的应应用用,而而对对C C的的标标准准库库进进行行精精简简的的开开源源实实现现。包包括括一一些些常用的函数的集合,如常用的函数的集合,如printf()printf()、malloc()malloc()和和open()open()等。等。2.2.提供访问提供访问NiosIINiosII系统每个设备的驱动程序;系统每个设备的驱动程序;3.3.提供提
11、供HAL APIHAL API,用于标准的函数接口如设备访问、中断处理以及,用于标准的函数接口如设备访问、中断处理以及ALARMALARM等;等;4.4.提供系统初始化函数,为提供系统初始化函数,为main()main()函数和函数和C C库函数建立运行时环境库函数建立运行时环境5.5.提提供供设设备备初初始始化化函函数数,在在main()main()函函数数前前,分分配配设设备备空空间间并并初初始始化化所所有有的的外外围设备。围设备。第22页/共34页6.5 硬件抽象层(HAL)系统库nHAL的构成(将硬件层和应用层联系起来)Nios II HAL 的结构的结构第23页/共34页6.5 硬件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 流程 方法
限制150内