欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件设计流程和方法.pptx

    • 资源ID:87531727       资源大小:774.57KB        全文页数:34页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件设计流程和方法.pptx

    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页/共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调试器软件调试器(GDB):是强大的、在GNU调试器基础之上的软件调试器。该调试器提供许多基本调试功能以及一些在低成本处理器开发套件中不会经常用到的高级调试功能。基本调试功能包括:运行控制、调用堆栈查看、软件断点、反汇编代码查看、调试信息查看、指令集仿真器。高级调试功能包括:硬件断点调试ROM或闪存中的代码、数据触发、指令跟踪。6.1 Nios II IDE简介第4页/共34页4闪存编程器多数使用Nios II处理器的设计都需要采用闪存(Flash)来存储FPGA配置数据和/或应用程序。Nios II IDE提供了一个方便的闪存编程方法。任何连接到FPGA的兼容通用闪存接口(CFI)的闪存器件以及主动串行配置器件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选择目标硬件:选择目标硬件:电子钟电子钟硬件系统硬件系统(PTF文件文件)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 File(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 运行和调试程序nRun之前需把硬件系统下载到FPGA中nNios II程序的运行可以发生在下面的环境 Nios II硬件。指令集仿真器。ModelSim软件环境下运行。v 运行程序运行程序(Run)第17页/共34页第18页/共34页6.4 硬件抽象层(HAL)系统库嵌入式系统的软件开发可分为2部分:应用程序开发:用户软件开发的主要部分,包括系统的主程序main()和其它子程序。驱动程序:直接和底层硬件的宏定义打交道。第19页/共34页HALHAL系统库简介u 什么是什么是HALHAL系统库?系统库?用户在进行嵌入式系统的软件开发时,会涉及到与用户在进行嵌入式系统的软件开发时,会涉及到与硬件的通信问题。硬件的通信问题。HAL(Hardware Abstraction Layer,HAL(Hardware Abstraction Layer,硬件抽象层硬件抽象层)系系统库为与硬件通信的程序统库为与硬件通信的程序提供简单的设备驱动接口提供简单的设备驱动接口它是用户在它是用户在Nios IDE中创建一个新的工程时,由中创建一个新的工程时,由 IDE基于用户在基于用户在SOPC Builder中创建的中创建的Nios处理处理 器系统器系统(PTF文件)自动生成文件)自动生成。第20页/共34页HALHAL应用程序接口(APIAPI)和ANSI CANSI C标准库综合在一起,使用户用类似C 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系统库为用户提供下列支持:系统库为用户提供下列支持:1.1.集集成成了了ANSI ANSI C C标标准准函函数数库库,允允许许调调用用类类似似C C标标准准库库函函数数;Newlib,NewlibNewlib,Newlib是是为为了了嵌嵌入入式式系系统统的的应应用用,而而对对C C的的标标准准库库进进行行精精简简的的开开源源实实现现。包包括括一一些些常用的函数的集合,如常用的函数的集合,如printf()printf()、malloc()malloc()和和open()open()等。等。2.2.提供访问提供访问NiosIINiosII系统每个设备的驱动程序;系统每个设备的驱动程序;3.3.提供提供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 硬件抽象层(HAL)系统库n用户程序至少有四种方法访问硬件设备:用户程序至少有四种方法访问硬件设备:1.调用C标准库函数,如printf()和fwrite();2.调用硬件抽象的API函数,如write();3.调用设备驱动程序,如alt_avalon_uart_write();4.直接访问设备寄存器,如 IOWR_ALTERA_UART_RXDATA(base,data).第24页/共34页6.5 硬件抽象层(HAL)系统库nHAL的构成 大部分外围设备都提供HAL驱动,用户可通过HAL API访问硬件。HAL支持以下几种通用的设备模型:1.字符型设备;2.文件子系统;3.DMA设备:4.定时器设备 5.Flash设备;6.以太网设备。第25页/共34页6.5 硬件抽象层(HAL)系统库nHAL的通用设备模型Altera提供的完整HAL支持的外围设备:1.字符型设备包括UART核、JTAG核以及LCD16207显示控制器;2.文件子系统包括只读文档系统;3.DMA设备包括DMA控制器核;4.定时器设备包括定时器核;5.Flash存储器设备包括通用Flash接口芯片和主动串行配置器件EPCS控制器。6.以太网设备包括LAN9111以太网MAC/PHY控制器并且需要uC/OS-II支持。7.还有一些第三方提供的外围设备,用户也可以定制字节的外围设备。第26页/共34页 使用使用ANSI C标准库函数和标准库函数和HAL运行环境运行环境 使用使用HAL API通用设备模型来访问硬件通用设备模型来访问硬件6.6 使用HAL开发应用程序 第27页/共34页6.6 使用HAL开发应用程序 nNios II IDE 工程结构工程结构基于HAL系统库的应用程序的开发是与Nios II IDE紧密联系的软件软件硬件硬件第28页/共34页6.6 使用HAL开发应用程序 nNios II IDE 工程结构工程结构一个一个Nios II IDE工程工程用户工程文件夹HAL系统库文件夹Nios II设备驱动第29页/共34页system.h系统描述文件 system.h文件是HAL系统库的基础,system.h文件提供了Nios II系统硬件的软件描述,包括:(1)外围设备的硬件配置 (2)基地址 (3)中断优先级 (4)外围器件的符号名称 编写任何与Nios II系统硬件外设有关的程序都需要包含system.h文件,它也是Nios II IDE根据系统PTF文件生成的。可以到以下目录中查看System.h文件 QuartussoftwareNios工程名_syslibDebugsystem_description6.6 使用HAL开发应用程序 第30页/共34页#define SYS_CLK_TIMER_NAME/dev/sys_clk_timer#define SYS_CLK_TIMER_TYPE altera_avalon_timer#define SYS_CLK_TIMER_BASE 0 x00000820#define SYS_CLK_TIMER_SPAN 32#define SYS_CLK_TIMER_IRQ 1#define SYS_CLK_TIMER_ALWAYS_RUN 0#define SYS_CLK_TIMER_FIXED_PERIOD 0#define SYS_CLK_TIMER_SNAPSHOT 1#define SYS_CLK_TIMER_PERIOD 10#define SYS_CLK_TIMER_PERIOD_UNITS ms#define SYS_CLK_TIMER_RESET_OUTPUT 0#define SYS_CLK_TIMER_TIMEOUT_PULSE_OUTPUT 0#define SYS_CLK_TIMER_MULT 0.001#define SYS_CLK_TIMER_FREQ 85000000#define ALT_MODULE_CLASS_sys_clk_timer altera_avalon_timersystem.h描述的定时器设备描述的定时器设备6.6 使用HAL开发应用程序 第31页/共34页6.6 使用HAL开发应用程序 system.h描述的描述的UART设备设备#define UART_NAME/dev/uart /UART的的设设备备名名称称及及所所在在路路径径,open()等等文文件件操操作作函函数数可可以以通通/过过UART_NAME开打一个开打一个UART设备设备#define UART_TYPE altera_avalon_uart/描述了描述了UART内核的类型,应用程序员可不关心内核的类型,应用程序员可不关心#define UART_BASE 0 x00441480 /UART设备的寄存器基地址,驱动程序可以根据该地址对设备的寄存器基地址,驱动程序可以根据该地址对/UART寄存器进行访问寄存器进行访问#define UART_IRQ 1 /UART设备的中断号设备的中断号,系统据此判别中断来自系统据此判别中断来自UART设备设备#define UART_BAUD 115200 /在系统生成过程中预设的串口波特率在系统生成过程中预设的串口波特率#define UART_DATA_BITS 8 /描述描述UART数据帧长度数据帧长度#define UART_FIXED_BAUD 0 /波特率是否软件可变的标志波特率是否软件可变的标志#define UART_PARITY N /是否能奇偶校验是否能奇偶校验#define UART_STOP_BITS 1 /UART数据包中停止位的宽度数据包中停止位的宽度#define UART_USE_CTS_RTS 0 /是否使用是否使用CTS和和RTS信号信号#define UART_USE_EOP_REGISTER 0/是否生成了是否生成了EOP(End of Packet)寄存器寄存器#define UART_SIM_TRUE_BAUD 0 /仿真时的波特率仿真时的波特率#define UART_SIM_CHAR_STREAM /仿真时的字符流仿真时的字符流#define UART_FREQ 48000000 /Avalon总线的频率,总线的频率,48MHz第32页/共34页数据宽度和数据宽度和HALHAL类型定义类型定义u ANSI CANSI C数据类型没有明确地定义宽度,数据类型没有明确地定义宽度,HALHAL使用了一套标准的使用了一套标准的类型定义,支持类型定义,支持ANSI CANSI C类型,但数据宽度取决于编译器的约定类型,但数据宽度取决于编译器的约定u alt_types.halt_types.h头文件定义了头文件定义了HALHAL的数据类型。在以下路径可以查的数据类型。在以下路径可以查该文件:该文件:Nios Nios 安装路径安装路径componentsaltera_nios2HALinccomponentsaltera_nios2HALincu部分代码摘抄如下:部分代码摘抄如下:typedef signed char alt_8;typedef signed char alt_8;typedef unsigned char alt_u8;typedef unsigned char alt_u8;typedef signed short alt_16typedef signed short alt_16;typedef unsigned short alt_u16;typedef unsigned short alt_u16;typedef signed long alt_32;typedef signed long alt_32;typedef unsigned long alt_u32;typedef unsigned long alt_u32;6.6 使用HAL开发应用程序 第33页/共34页感谢您的观看!第34页/共34页

    注意事项

    本文(软件设计流程和方法.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开