ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:21.15KB ,
资源ID:4344494      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4344494.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(TMS320LF2406调试入门.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TMS320LF2406调试入门.docx

1、TMS320LF2406调试入门TMS320LF2406调试入门王佰营 徐丽红经过两个星期的紧张调试,终于将TMS320LF2406的调试平台搭建好,为了方便初学的朋友,我将整个过程整理如下: () 一、设计硬件和仿真器购置 初学者可用TMS320LF2407+外RAM构成最小系统,最好配上相关器件便于调试DSP一些功能:I/O功能使用,ADC,SCI,SPI,CAN,PWM和SVPWM;当然,若这种配置,就不用看这篇文章了。虽然这种配置很流行,具有外部总线,但是在商业级产品上却很少采用。我们用的是以TMS320LF2406为核心的一个完整的小功率变频器系统,DSP外围只需加上开关电源,光耦,

2、运放,X5043,65176,CAN驱动250和相关功率模块。仿真器用的是合众达的USB接口的仿真器,以下实例皆以它为例说明。 二、安装软件 1需要的软件1:ccs3.1-集成调试环节2:USB Drivers For CCS3.1.exe-USB 接口仿真器驱动程序3:Seedusb2.inf 和Seedusb2.sys-USB驱动程序4:USB20emurst.exe-连机测试程序5:C2000-3.1-SA-to-UA-TI-FLASHA2X.exe-flash烧写插件程序2.软件安装1 ccs3.1的安装就象一般软件一样安装,但要注意两点:1. 记住安装路径2. 不必要全部安装,在安装

3、时选自需选项安装,仅选与C2000相关的选项:仅需710M,若全安装需1.7G磁盘空间.2 安装仿真器驱动程序安装时,选和ccs3.1一样的路径如:C:CCStudio-V3.1.;而不要按默认路径安装;否则,将不能正常驱动仿真器;因为无法找到: C:CCStudio-V3.1 DriversSeedusb2.cfg3 安装USB驱动程序插上仿真器,这时就会跳出新硬件向导画面,不要Windows自动安装,选从列表或指定位置安装,点击“浏览”直接去包含有::Seedusb2.inf和Seedusb2.sys文件的文件夹,安装即可.4 将仿真器JTAG头插入目标板,上电,运行USB20emurst

4、.exe:点击Rest在下面就会出现:“SEED USB2.0 XDS510 CARD IS RESET ,HARDWARE VERION 1”表明连机正常:现在就可使用了。5点击桌面Setup CCStudio v3.1配置CPU和驱动文件;一下为要选择项以供参考: F2406 XDS510 Emulator 在上述选项上点右键,选Properties进入; Aut-Generate board data file with extra configur C:CCStudio_v3.1driversSeedusb2.cfg I/O Port 0X2405若要烧芯片还要安装C2000-3.1-

5、flash.exe插件程序,直接安装即可. 三、搭建调试平台 1.调试平台构思:由于LF2406不像LF2407那样可以在外部扩充程序RAM,调试相对比较困难;仅靠烧写芯片效率太低;为了减少写片次数,提高工作效率,我们充分利用LF2406中的2K宝贵的SARAM资源:将在有限的舞台上,将大的程序分成小块,分别调试,等调好了各个程序模块,再将它们组合成大系统整体调试。2实现方法:应当明白,1 CCS3.1集成环境下File-Lood Frogram 只能将程序加载RAM上运行;借助仿真器运行;Tool-On-chip flash program 只能将程序烧写到FLASHA上;不用仿真器自行运行

6、;2 LF2406中存储区的安排是固定的; 程序存储器中a0000H7FFFH为FLASH;b8000H87FFH为SARAM;(PON=1)c0000H003FH为中断矢量;dFF00HFFFFH为DRAM; (CNF=1) 数据存储器中: a.0000H005FH为D寄存器区; b.0060H007FH为DARAM的B2区; c.0200H02FFH为DARAM的B0区;(CNF=0) d.0300H03FFH为DARAM的B1区; e.0800H0FFFH为SARAM区; (PON=0) f.7000H7FFFH为寄存器区;3 由上面的分析可知FLASH区最大32K;接下来能用到程序上的

7、只有2K SARAM,256字的DRAM的B0区一般不用。因此,我们将程序代码分为两部分:1.基本固定部分-放入FLASH;尽量多放:调试通过的部分就放入;2.频繁变化部分-放入SARAM;尽量少放;为了便于相互连接,在每一部分的代码都要明确定位:FLASH部分:1.中断向量表,这是固定的,用户不能随便定位:常定义以为VECTORS段,地址:0000H003FH;2.外围模块中断向量表,用户可定位,常定义为PVECS段,地址:44HFFH;3.中断处理程序的公共代码-GISR,用户可自行定位,此处定义为PRGISR段,地址为:200HFFFH;SARAM部分:1.主程序代码区,用户可自行定位,

8、常定义为TEXT段,地址:8000H86FFH;2.二级中断处理程序代码区,因为不论是定时器中断,AD转换,或串行通讯等中断处理都用同一区域来分别调试的,因此命名为TEST-ISR,测试中断处理程序;定义为RAMISR段,地址为:8700H87FFH:4.程序执行过程:上电从FLASH的0000H跳至SARAM的8000H处开始运行主程序:中断时,假定XINTI设置为高优先级中断:中断外部触发PIE向CPU申请INTI内核中断触发跳到FLASH的中断向量表INTI的0002H由0002H跳到FLASH的GISR-0200H的中断公共处理程序得到FLASH的外围中断向量表中的地址:PVECTOR

9、S+2XPIVR由FLASH的外围表找到RAM中的8700H的TEST-ISR程序入口完成中断任务处理返回 四、注意事项 初学的朋友,特别是由单片机转型过来的DSP工程师应注意一下几个问题:(我是受过教训了)1、禁止内部看门狗,再调试;2、注意外部看门狗捣乱,如烧写芯片时;3、不要将指令或宏放在标号位置(第一列),指令和宏就当成标号了,指令也就不存在了,又不会报错,很难察觉,这一点和单片机大不相同;一定要注意;4、DSP的位操作功能很差,要以端口为单位来操作;有用OR,AND或XOR指令;5、DSP的许多重要位清零和单片机不同,并非写0而是写1;一定要注意;6、当用发光管指示有无脉冲时,当脉冲

10、频率太高或脉宽太窄时容易误判断:认为是高电平或低电平,而无脉冲;要借助示波器判断。刚开始最好将闪烁频率设置低一点。7、烧写LF2406时,一定保证40h-43h为FFFFH(LF2406A);;CLKIN设置为有源晶振频率,PLL设置值保证与CLK的乘积不大于40MHz(LF2406A,30MHz-LF2406);不能正常写时,重新启动CCS3.1再写; 五、主要代码 1、硬件背景介绍 这儿的目的是构建调试平台,主要测试FLASH与SARAM间程序流通,中断的配合,程序很简单:IOPE4口输出十多Hz的方波,去触发XINT1外部中断口16脚,中断处理程序通过IOPE3驱动放光管闪烁显示。 先将

11、相对比较稳定变化不频繁的代码烧入LF2407,接下来在SARAM中通过LOAD PROGRAM加载程序运行调试。本程序有两个CMD文件,需要烧写芯片时选FLASH.CMD;需要加载程序时选用SARAM.CMD。注意,许多变换是通过伪指令.if,.else,.endif完成。 20MHz有源晶振,CLKOUT为20MHz;比例系数为1。 在用SARAM调试程序时,实际上还要用FLASH部分的代码,两者相互配合完成调试,又符合DSP程序流程规范。2、主要程序 () 1 主程序-DSPINVER.ASM .title DSPINVER.ASM;DP_B2 .set 0 ;page 0 of data

12、 spaceST0REG .usect .usect, 1ST1REG .usect .usect, 1AR0REG .usect .usect, 1AR1REG .usect .usect, 1AR2REG .usect .usect, 1AR3REG .usect .usect, 1AR4REG .usect .usect, 1AR5REG .usect .usect, 1AR6REG .usect .usect, 1AR7REG .usect .usect, 1TREG_TMP .usect .usect, 1PREG_TMP .usect .usect, 1;=FLASHP .set

13、1SARAMP .set 0;$SLECTP .set SARAMP;FLASHP;烧写芯片选FLASHP;加载程序选SARAMP;$;= .def _c_int0 .if SLECTP ;=LOAD FLASH .copy Vector.ASM ;= .else ;=LOAD SARAM .def PVECTORS .sect .pvecsPVECTORS: ;= .endif .include F2407REGS.H ;引用头部文件 ;宏定义; IOPE3-CPUgB-O-D3;-; D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

14、;-; 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0;- CPUgB_F .macro ;驱动LED闪动; ldp #PEDATDIR7 lacl PEDATDIR xor #00008h sacl PEDATDIR .endmTEST_F .macro ;产生方波信号驱动XINT1; ldp #PEDATDIR7 lacl PEDATDIR xor #00010h sacl PEDATDIR .endm; .text_c_int0: nop ;1000H/8000H call Init_DSP;loop: nop TEST_F nop call Delay b loop;

15、.copy Init_DSP.ASM;-; function: Delay 延时; input: ar4; output: -; usege: ar4, ar0;-Delay: lar ar4, #01h nopdy_lp: lar ar0, #0ffffhdy_lp0: nop mar *, ar0 banz dy_lp0 mar *, ar4 banz dy_lp ret;=;中断处理区域 ;=;-通用中断程序入口- .if SLECTP ;=LOAD FLASH .sect .prgisr GISR: ;0200h-FLASH;-保护现场程序开始- sst #0, ST0REG sst

16、#1, ST1REG ldp #DP_B2 push sar AR0, AR0REG sar AR1, AR1REG sar AR2, AR2REG sar AR3, AR3REG sar AR4, AR4REG sar AR5, AR5REG sar AR6, AR6REG sar AR7, AR7REG spm 0 pac sacl PREG_TMP mpy #1 pac sacl TREG_TMP;-保护现场程序结束-;-中断检查- ldp #PIVR7 lacc PIVR, 1 add #PVECTORS bacc ;-假中断处理-PHANTOM: CLRC INTM RET .els

17、e ;=LOAD SARAM nop ;= .endif .if SLECTP ;=LOAD FLASH nop ;= .else ;=LOAD SARAM .sect .ramisr TEST_ISR: ;8700h-SARAM CPUgB_F ldp #XINT1CR7 splk #8001h, XINT1CR;-恢复现场程序开始- ldp #DP_B2 lar AR0, AR0REG lar AR1, AR1REG lar AR2, AR2REG lar AR3, AR3REG lar AR4, AR4REG lar AR5, AR5REG lar AR6, AR6REG lar AR7

18、, AR7REG spm 0 lt PREG_TMP mpy #1 lt TREG_TMP pop lst #1, ST1REG lst #0, ST0REG;-恢复现场程序结束- clrc INTM ret ;= ;= .endif ;EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE .end 2 Vector.ASM文件 ();- 定义主向量段-;-Vector.ASM .sect .vectors ;定义主向量段RESET B 8000h ;_c_int0 ;地址0000H,复位,优先级1INT1 B GISR

19、 ;200h;FLASH ;地址0002H,INT1,优先级4INT2 B PHANTOM ;地址0004H,INT2,优先级5INT3 B PHANTOM ;地址0006H,INT3,优先级6-;- 定义子向量段- .sect .pvecs ;-0044h ;定义子向量段PVECTORS B PHANTOM ;偏移地址0000H B 8700h ;TEST_ISR ;PHANTOM ;偏移地址0001H B PHANTOM ;偏移地址0002H B PHANTOM ;偏移地址0003H B PHANTOM ;偏移地址0004H B PHANTOM ;偏移地址0005H B PHANTOM ;

20、偏移地址0006H B PHANTOM ;偏移地址0007H B PHANTOM ;偏移地址0008H B PHANTOM ;偏移地址0009H - 3 FLASH.CMD文件 ()/*-FLASH.CMD-*/-stack 40/*-*/* LF2406 FLASH SARAM DARAM */*-*/MEMORY PAGE 0 : VECS : origin = 0h , length = 40h PVECS : origin = 44h , length = 100h PRGISR : origin = 200h , length = 0E00h PROG : origin = 1000

21、h , length = 7eafh PAGE 1 : B2 : origin = 0060h , length = 20h B01 : origin = 0200h , length = 80h B02 : origin = 0280h , length = 80h B11 : origin = 0300h , length = 80h B12 : origin = 0380h , length = 80hSECTIONS .reset : VECS PAGE 0 .vectors : VECS PAGE 0 .pvecs : PVECS PAGE 0 .prgisr : PRGISR PAGE 0 .text : PROG PAGE 0 .usect : B2 PAGE 1 .bss : B01 PAGE 1 .data : B02 PAGE 1 .data0 : B11 PAGE 1 .stack : B12 PAGE 1 4 FLASH.CMD文件 () /*-SARAM.CMD-*/-stack 40/*-*/* LF2406 FLASH SARAM DARAM */*-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1