- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 SOPC基础实验 FPGA应用技术基础教程 [电子教案]
1)将光盘下03.Examples of Program\02.EDK9.1实验程序目录下的Sources的文件夹复制到E:\labs目录下。 2)选择“File”→“ Import”打开导入向导,如图7.96所示。 图7.96 (3)添加源文件 3)双击“File System”,浏览E:\labs\sources的目录,选择system_timer.c源文件,单击下面的“Browse”浏览,选择Into folder文件夹中的“SDK_lab”,单击“Finish”按钮,将文件添加到工程中,如图7.97所示。 图7.97 4)单击SDK软件左侧的“Navigator”选项,双击system_timer.c文件,在编辑器中打开该文件。当文件打开时自动进行编译,在底部报告的“Problems”和“Console”选项中都出现几个编译错误。每次在工程中编辑和保存文件后将自动执行编译,在工程项目的右侧的“Outline”选项也随着更新源文件中用的库和例程;在“Problems”选项卡中,双击第二个红色的“x”错误标记。将跳转到第33行,在打印声明中加上缺少的分号,保存文件,此错误信息将消失。 5)在右侧的“Outline”选项双击timer_int_handler函数,将跳转到源文件中该函数处。现在该函数未完成,你将在下一步中完成该函数。 1)在中断处理代码的全局变量声明处添加如下一个新的全局变量,保存后源文件会被编译,注意未声明变量的错误解决了,如图7.98所示。 unsigned int j=0; 图7.98 (4)写中断处理程序并编译代码 2)这个中断处理程序函数名称为timer_int_handler。这个名称必须与OPB定时器外设选项中的名称对应,如果名称不对应,中断处理程序不能连接到中断,编译时要出错,如图7.99所示。为timer_int_handler函数添加如下局部变量: unsigned int csr; 图7.99 3)在XPS System Assembly View窗口双击名称为delay的opb_timer实例,选择“View PDF Datasheet”并阅读data sheet。在data sheet中找到寄存器描述部分(Register Description),针对TCSR0寄存器有下述描述,如图7.100所示。 图7.100 4) OPB定时器的level0驱动提供两种功能,即读和写状态控制寄存器。在System Assembly View中右键单击“delay”,选择“Driver:tmrctr_v1_00_b”下的“View API Documentation”,浏览API文件,如图7.101所示。 图7.101 5) 在API文件中,单击文件上面的“File List”链接,然后在文件列表中单击“xtmrctr_l.h”链接。拖动文件中的滚动条,单击XTmrCtr_mGetControlStatusReg( )函数的链接来阅读更多关于这个函数的信息,用这个函数来决定是否发生中断,如图7.102所示。下面是OPB计时器文件中的相关信息: XTmrCtr_mGetControlStatusReg ( BaseAddress, TmrCtrNumber ) 图7.102 6)在SDK软件中将XTmrCtr_mGetControlStatusReg函数添加到代码中进行调用。参考xparameters.h头文件,用delay外设的基地(XPAR_DELAY_BASEADDR)来替代baseaddr。将32位的返回值存储到csr变数中,如图7.103所示。 csr = XTmrCtr_mGetControlStatusReg(baseaddr, 0); 图7.103 7)由XTC_CSR_INT_OCCURED_MASK参数和csr相与来检验第23位是否设置。如果发生中断,计数器的数值将增加。 if (csr XTC_CSR_INT_OCCURED_MASK) j = (j+1)%16; 8)计数器数值可以通过my_led外设来显示,使用前面实验中用过的MY_LED_mWriteReg()函数,计数器数值也可以通过printf函数打印出来。 MY_LED_mWriteReg(XPAR_MY_LED_0_BASEADDR, 0, j); xil_printf(Count value is: %x\n\r); 9)通过下面的函数调用清空中断: XTmrCtr_mSetControlStatusReg(baseaddr, 0, csr); 10)将printf改为xil_printf,xil_printf提供除了浮点处理功能外
您可能关注的文档
- 第6章下 国际贸易发展趋势 国际贸易理论与实务课件.ppt
- 第6章中 断 《单片微型计算机原理及接口技术》课件.ppt
- 第6章串级控制系统 过程控制系统[李国勇][电子教案].ppt
- 第6章华中世纪星数控铣床的编程 数控编程技术教学课件.ppt
- 第6章动态规划 运筹学课件.doc
- 第6章双变量回归分析的 计量经济学-古扎拉蒂 教学课件.ppt
- 第6章合同履行 合同法 教学课件.ppt
- 第6章城市、古建筑与工程 中国旅游地理 教学课件.ppt
- 第6章定向测量 测量学 课件.ppt
- 第6章图形界面设计 java语言基础自考教学课件.ppt
- 第7章 堰流 水力学 教学课件.ppt
- 第7章 工作设计与工作测量 运营管理课件.ppt
- 第7章 对象的组织与安排 CorelDRAW平面设计简明教程 教学课件.ppt
- 第7章 存储过程和触发器 Oracle实用教程(第3版)PPT.ppt
- 第7章 建筑内部装修防火设计 (NXPowerLite) 建筑防火设计PPT.ppt
- 第7章 房地产开发项目的资金筹措与风险防范.ppt
- 第7章 性能监测与灾难保护、故障恢复 网络管理与应用 教学课件.ppt
- 第7章 建筑工程预算工程量的计算 工程估价课件.ppt
- 第7章 数字签字和密码协议 现代密码学教案.ppt
- 第7章 应用VHDL语言方法设计具有换挡功能的四位数字频率计 《EDA技术》PPT 教学课件.ppt
最近下载
- 国家职业技术技能标准 4-10-01-03 保育师 人社厅发[2021]92号.docx
- 教师电子教案申请书模板.docx VIP
- 个人信用报告征信简版电子版PDF版2024年2月最新版带水印可编辑.pdf VIP
- 2025至2030中国电力生产行业市场发展分析及发展潜力与投资报告.docx
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
- 高分子材料概述课件幻灯片课件.ppt VIP
- 财务报表基础知培训.ppt VIP
- 部编版小学四年级上册全册心理健康教育教案.docx VIP
- 《给水排水管道工程施工及验收规程》GB50268-2023.docx VIP
- 安全隐患排查治理台帐.doc VIP
文档评论(0)