定时器实验分析_第1页
定时器实验分析_第2页
定时器实验分析_第3页
定时器实验分析_第4页
定时器实验分析_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

定时器试验了解DSP汇编程序与C语言程序的构成;了解DSP程序各段的含义;生疏如何编写中断效劳程序;把握片内定时器的设置方法;把握长时间间隔的定时器的处理二、试验内容(要求)DSP的初始设置;DSP中断向量表的建立;定时器的使用;试验原理〔背景学问〕1通用TIMER简介TMS320VC5402的定时器的说明:VC5416中有两个可编程的片上定时器,总共包含有三个可由用户设置的存放器,并可以申请主机的中断。这三个存放器分别为TIM、PRD、TCR。这些存放器与对应的存贮空间地址如下表所示:时间存放器〔TIM〕是一个16位的存贮器映射存放器,它的值由周期存放器来进展装载,并且做减一操作。〔PRD〕是一个16〔TIM〕存放器的值的。定时器掌握存放器〔TCR〕是一个16位的存贮器映射存放器,包含了定时器的掌握与状态信息。2、CMD文件简介cmd文件用于DSP代码的定位。由3局部组成:输入/输出定义:.obj文件:链接器要链接的目标文件。.lib文件:链接器要链接的库文件。.map文件:链接器生成的穿插索引文件。.out文件:链接器生成的可执行代码;链接器选项。MEMORY命令:描述系统实际的硬件资源。〔3.〕SECTIONS命令:描述“段“如何定位。下面例子则可说明其根本格式:-osample.out (可缺省)-msample.map (可缺省)-stack100 (可缺省)sample.objmeminit.obj (可缺省)-lrts.lib (可缺省)MEMORY {0:RESEVE: org=00h len=0x800:PROG1: org=0x0100 len=0x12000:VECT: org=0x0080, len=0x801:RESEVE1: org=00h len=0x13001:DARAM2: org=0x1300 len=0x4001:DARAM1: org=0x1700 len=0x2900}SECTIONS{.text: >PROG10.cinit:>PROG10.switch:>PROG10.vectors:>VECT0.const: > DARAM1 1.bss : > DARAM1 1.stack:> DARAM2 1.system:> DARAM2 1.data: > DARAM2 1}下面介绍一下CMD文件中常用的程序段名与含义.cinit存放C程序中的已初始化的变量初值和常数表;.const存放C程序中的字符常量和用const声明的常量;.text存放C程序的代码;.bss为C程序中的未初始化的全局和静态变量保存存储空间;.far为C程序中用far声明的全局和静态变量保存空间;.stack为C程序系统堆栈保存存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;.sysmem用于C程序中malloc、calloc和realloc函数动态安排存储空间.vectors 用于自定义的“.vectors”段,这里是中断向量表.switch 用于C程序中的switch语句.data已初始化的数据段3中断向量表文件中断效劳程序的地址〔中断向量〕要装载到存储器的适宜区域。一般用中断向量表文件编制中断向量表,中断向量表文件多承受汇编语言编写;在文件中一般用汇编指令.sect来生成一个表,表中各中断占4个字。这个表包含中断向量的地址和跳转指令。由于中断跳转地址的标志符在汇编语言模块外部使用,所以标志符用.ref或.global定义。4、GEL文件GE〔〕CC〔2〕直接访问目标处理器〔包括软硬件访真器GEDSGEL#definePRD0 0x0025u#defineTCR0 0x0026u#definePRD1 0x0031u#defineTCR1 0x0032uStartUp{GEL_MapOn; /*存储空间翻开*/GEL_MapReset; /*存储空间复位*/GEL_MapAdd(0x80u,0,0x3F80u,1,1);/*定义程序空间0x80-0x3FFF可读写*/GEL_MapAdd(0x4000u,0,0xC000u,1,1);/*0x4000-0xFFFF可读写*//*定义数据空间0-0xFFFF可读写*/GEL_MapAdd(0x0u,1,0x60u,1,1); /*MMRs*/GEL_MapAdd(0x60u,1,0x3FA0u,1,1); /*DARAM*/GEL_MapAdd(0x4000u,1,0xC000u,1,1); /*External*/开 N开 Nto_count=0Y开开开CLKMD=47FFhPMST=00A0ht0_count=250t0_count=250INTM=1XF=0NYTCR=0010hPRD=270FhTCR=0669hXF=1 XF=0开timer0IMR=8INTM=0timer0NY开开开开开开 t0_count=t0_count-1试验流程图四、试验步骤1、翻开CCS3.1设置开发板的型号和相应参数。2、创立工程,并在工程中参加相应的.c,d和中断向量表等文件。3、编译,加载编译后的,out文件,运行。程序源代码主程序:.mmregs.def _c_int00.deftimerSTACK_NAME .usect “STACK“,100ht0_count.usect “vars“,1TVAL.set.data9999TIMES.intTVAL.text_c_int00:STM#0b,CLKMDTESTSTATUS: LDMCLKMD,AAND#01b,ABCTESTSTATUS,ANEQSTM#47FFh,CLKMD;---------------------------------------------STM#STACK_NAME+100h,SP;---------------------------------------------STM #00a0h,PMSTST #250,*(t0_count);--------------------------------------------------SSBX INTMSTM #0010h,TCR;--------------------------------------------------LD #TIMES,AREADATIMREADAPRDSTM #669h,TCR;---------------------------------------------STM #8,IFRSTM #8,IMRRSBXINTM;-----------------------------------------------------wait:CMPMBCSTSTM*(t0_count),#0next,NTC#250, *(t0_count)#07H,AR3BIT*AR3,(15-13)BCxf_out,NTCRSBXXFBnextxf_out:SSBXXFnext:Bwait;---------------------------------------------------------timer:ADDM#-1,*(t0_count)RSBXRETE.endINTMd文件:MEMORY{0:VECTOR_RAM: origin=0080h ,length=80h0:PROG_RAM: origin=0100h ,length=0F00h1:DATA_RAM1:origin=1000h,length=500h1:DATA_RAM2:origin=1500h,length=100h}SECTIONS{.vectors:>VECTOR_RAM 0.text :>PROG_RAM 0.data :>DATA_RAM1 1vars :>DATA_RAM1 1STACK :>DATA_RAM2 1}中断向量表:.ref_c_int00.reftimer.sect“.vectors“rs: BD_c_int00 ;RestNOPNOPnmi:.space4*16 ;NMI,SINT16sint17:.space4*16;SINT17sint18:.space4*16 ;SINT18sint19:.space4*16 ;SINT19sint20:.space4*16 ;SINT20sint21:.space4*16 ;SINT21sint22:.space4*16 ;SINT22sint23:.space4*16 ;SINT23sint24:.space4*16 ;SINT24sint25:.space4*16 ;SINT25sint26:.space4*16 ;SINT26sint27:.space4*16 ;SINT27sint28:.space4*16 ;SINT28sint29:.space4*16 ;SINT29sint30:.space4*16 ;SINT30int0:.space4*16 ;INT0,SINT0int1:.space4*16 ;INT1,SINT1int2:.space4*16 ;INT2,SINT2tint0:BDtimer ;TINT0,SINT3NOPNOPbrint0:.space4*16 ;BRINT0,SINT4bxint0:.space4*16 ;BXINT0,SINT5dmac0:.space4*16 ;DMAC0,brint2,SINT6dmac1:.space4*16 ;DMAC1,bxint2,SINT7int3:.space4*16 ;INT3,SINT8hpint:.space4*16;HPINT,SINT9brint1:.space4*16;BRINT1o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论