软件开发实习E.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件开发实习E

《软件开发实习E》 题目:基于DE-2板uC/OS的操作系统的应用 设计组 姓名 成绩 组长 陈志智(200611701304) 组员 张楚民(200611701230) 组员 陈国正(200611701302) 组员 洪卓轩(200611701310) 组员 廖 威(200611701316) 组员 林森阳(200611701319) 系统分析 目的 1.熟悉掌握利用uC/OS-II操作系统在DE-2板上的开发流程; 2.利用uC/OS-II操作系统实现调用LCD、数码管和LED显示不同的内容。 组员分工 林森阳,洪卓轩 对该设计进行需求分析,完成需求分析文档 洪卓轩,廖威 对该设计进行概要设计,完成概要设计文档 张楚民,陈志智 对该设计进行详细设计,完成uc/os ii操作系统的移植到DE2板上 陈国正,张楚民 在uc/os ii的基础上进行编码 陈志智,陈国正 对该设计的最终实现进行测试 设计要求: 以NIOS II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真,IDE环境的软件设计,软件调试等步骤进行嵌入式系统开发。在SOPC Builder上完成硬件环境配置,并下载到DE2板上,使用Niso-II编程环境对uC/OS-II操作系统进行调用,实现调用LCD、七段数码管和LED显示不同的内容。 架构设计 基于DE-2板uC/OS的操作系统的应用的硬件环境是在SOPC Builder中完成,其实现所需要的内部逻辑图如下所示: 硬件环境 主机: CPU:P4.18GHz以上 内 存:1GB或以上 开发板:DE2板 软件环境 操作系统:Windows XP 开发软件:Quartus II 8.1 (32-Bit) ;Nios II 8.1 IDE 系统设计 硬件设计 (1) 硬件设计通过使用SOPC以配置的方式实现。在SOPC Builder通过软件所提供的IP核来对DE2板上相应的硬件资源进行添加,所需要添加的IP如下所示: CPU选用Niso II/s型内核,reset vector(重置向量)设置为:cif_flish; exception vector(异常向量)设置为:sdram. SDRAM的数据总线宽度设置为16bit,其余设置不变。 Flish的地址宽度Address Width设置为22bit,数据宽度Data Width设置为8bit Time为系统时间,也是必须的外设,period设定为20ms, Tri_state_bridge三态桥,是Avalon交换结构与片外外设相连的桥梁,全 设置为默认状态。 Pio命名为:Led_pio,作为流水灯Led的输出信号,数据宽度设为8bit,而类型设定为只输出:Output port only. LCD设置按照默认设置,命名为:lcd_display。 Seg7_lut_8设置为默认,命名为:seven_seg_pio Nios2的sopc硬件配置如下图所示: (2) 分频器是实现对系统频率的分解,从而获取硬件顺利工作所需要的频率,分频器的设计如下所示: 软件设计 1.中断初始化函数: 功能:主要用于完成中断注册 中断服务函数(ISR):handle_button_interrupts() 功能:对中断进行处理的函数。 1)捕获中断发生并复位以待下一次中断发生: *edge_capture_ptr=IORD_ALTERA_AVALON_PIO_EDGE_CAP(KEY_PIO_BASE) IOWR_ALTERA_AVALON_PIO_EDGE_CAP(KEY_PIO_BASE,0x0) 2)对中断进行响应: 采用switch语句对中断进行处理: switch(edge_capture) { case 按键1: 中断处理; break; case 按键2: 中断处理; break; ........... } } 2.uC/OS-II提供了任务管理的各种函数调用 for (i = 0; i2600; ++i){ if( count == 0xff ) { count=0; } while(j100000) j++; count++; /* Logic to make the LEDs c

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档