F28335 C2Prog串口烧写

合集下载

28335烧写

28335烧写

SEED-DEC28335烧写说明烧写前插件安装一、先安装CCS3.3.38,再安装补丁CCS_v3.3_SR11_81.6.2。

二、安装C2000CodeGenerationTools5_0_2补丁,安装在“CCStudio_v3.3\C2000\cgtools”下(需要修改路径),遇到提示时,选择“Yes to All”,覆盖原文件;安装F2823x_RevA_CSP.exe和setup_C28XFPU_CSP_v3.3.1207.exe在CCStudio_v3.3\ 路径下(默认路径)烧写注意事项一、烧写TMS320F28335的ccs版本为ccs3.3.81.6。

如下图所示:二、烧写所用的仿真器为 XDS510USB、XDS510PLUS、XDS560PLUS三、烧写的注意点:1、烧写第一步(擦出)时不能断电或人为停止,否则会造成28335芯片锁死2、在密码区内不能将密码全部设置为0,这样会造成芯片永久锁死烧写步骤一、先把在调试环境下的工程文件的cmd换成烧写所要用的FLASH cmd 文件,Gel文件换成ccs自带的gel 路径为D:\CCStudio_v3.3\cc\gel下,然后编译无错误二、点击tools菜单栏下的on-chip flash programmer,填出烧写对话框三、在填出的对话框中红色部分是对芯片的时钟频率的选择,我们这里用的是外部30M的晶振,经过2分频在通过PLL10倍频。

注意:晶振的平率是根据板子上的晶振所选择的,烧写时芯片最好工作在该芯片的最高频率四、添加最新的API函数,如果API函数较老可以去w网站上下载五、添加你所要烧写的.OUT文件六、点击执行按键,烧写所选的程序七、出现如下图所示的信息说明烧写成功。

F28335_DSP_烧写程序的方法

F28335_DSP_烧写程序的方法

张掌柜讲F28335DSP系列之把DSP程序从烧到RAM变成烧到FLASH中的方法一、前言1、首先跟大家强调一点,阅读这个文档的前提是,已经阅读过本店《张掌柜讲DSP系列之CCS4.2 XDS100在CCS4.2环境下仿真编程新手入门.pdf》这个文档,并且熟练掌握里面的操作步骤。

我后面讲解的话语里面,如果有你看不懂的,请回过头去看《张掌柜讲DSP系列之CCS4.2 XDS100在CCS4.2环境下仿真编程新手入门.pdf》。

这个文档我写的比较简练,希望大家看的时候仔细一些。

2、其次,说明一下我写这个文档的原因,很多买家朋友在本店购买TMS320F 28335DSP开发板套装,在RAM程序调试完毕后,将程序固化到FLASH的过程中遇到困难。

因为这些困难是很多朋友都会遇到的,所以我专门写这个文档讲解一下。

3、提醒一下,用仿真器烧写DSP的FLASH程序完成后,给开发板断电,然后拔掉仿真器和DSP开发板之间JTAG的连接,然后再给开发板上电,否则DSP开发板连着DSP 仿真器的时候,无法正常运行FLASH中的程序。

4、最后说明一下,在CCS4的Debug界面下,可以成功的Connect(连接),可以成功的Load program到DSP的片内RAM中,这个就说明DSP仿真器和DSP开发板没有硬件上的损坏或者问题,完全可以放心。

二、把烧写到RAM程序修改成烧写到FLASH的首先,希望大家明白一点,想把一个原来是烧写到DSP的片内RAM的程序修改成是烧写到DSP片内FLASH的程序,不仅仅是修改一个cmd文件就结束了,还需要做其他几个步骤,这里我重点强调一下。

第一步:把28335_RAM_lnk.cmd这个从project中移除,用右键选择28335_RAM_lnk.cmd然后选delate。

如下图1,然后出现对话框,点YES,如图2。

图1图2第二步:右键选择project名称,然后选add file to project,如下图3,然后出现浏览框,在\Code of TMS320F28335 CCS4\v120\DSP2833x_common\cmd这个子文件夹下,选择F28335.cmd,点OK,至此可以在project的文件列表内看到F28335.cmd被添加到project中。

F28335 C2Prog串口烧写

F28335  C2Prog串口烧写

C2Prog串口烧写TMS320F28335 Flash实验一、实验准备1、必备硬件:F28335开发板(可切换到SCI-A Boot模式)、与PC机相连的串口、PC机2、必备软件:C2Prog V1.4或V1.5、chromeinstall-6u31.exe、hex2000、CCS3.3或CCS4.X3、建议实验前先对硬件进行测试:通过仿真器烧写SCIA的串口程序,通过串口助手确认开发板串口通信正常。

二、实验步骤1、使用CCS3.3或CCS4编译程序(注意CMD文件应为烧写flash),生成.out文件。

2、把HEX2000.exe和要转化的.out 文件放在同一个文件夹内。

3、在WIN7系统中,以资源管理器的方式打开该文件夹,在该文件夹的空白处按住shift键右击,然后选择“在此处打开命令窗口(W)”弹出命令窗口:4、hex2000 -romwidth 16 -memwidth 16 -i -o xx.hex xx.out中修改xx.hex xx.out和.out、目标.hex文件名称相同,复制粘贴到命令窗口已有语句的后面,按回车键,生成.hex目标文件。

5、若您使用的是CCS4的编译环境,可以更加快捷的生成.hex文件。

右击工程文件,打开build properties对话框,在Build Steps中Apply Predefined Step 中选择Create flash image:Intel-HEX(如下图所示),单击OK,在以后的编译该工程中,会自动生成更新.hex文件。

6、参考下图,将开发板跳线切换至SCI-A Boot 模式,连接PC机串口和开发板串口,给开发板上电,如已经上电要按一下复位按钮,使DSP进入SCI-A boot模式:7、打开C2Prog软件,Select File选择要烧写的.hex文件,并按如下图进行配置,之后扫描并确认PC机上对应的串口:8、点击Program,完成烧写!将跳线或拨码切换至Jump to Flash模式,重新启动DSP,观察程序运行情况。

针对使用DSP为F28335的机箱的串口在线烧写的说明

针对使用DSP为F28335的机箱的串口在线烧写的说明
二、out文件到hex文件转化方法。(烧写时如有hex文件,此步省略)
1、把HEX2000.exe和要转化的.out文件放在同一个文件夹内。
2、打开命令提示符,进入第1条所说文件夹内。
3、hex2000-romwidth 16 -memwidth 16 -i -oxx.hexxx.out中修改xx.hexxx.out和.out、目标.hex文件名称相同,复制粘贴到命令窗口已有语句的后面,按回车键,生成.hex目标文件。
双DSP机箱:双DSP机箱SW中拨码开关共6位,前4位对应SCI选择,后2位对应引导模式选择。烧写DSPA时,将主控面板上SW中第3、4、5位打开,即此时232口连接至DSPA,并将DSPA的SCIA引导使能;烧写DSPB时,将主控面板上SW中第1、2、6位打开,即此时232口连接至DSPB,并将DSPB的SCIA引导使能。后续的烧写过程都是相同的,注意选择对应的烧写文件就可以了。
出现图2.8信息框中提示,需要将机箱重新上电,再进行烧写。
图2.8
另外如果使用THINKPAD的X220笔记本的同事进行烧写时,尽量使用右侧USB口接串口线烧写,因为这个口工作比较稳定。如果是其他型号或品牌的笔记本,也需要使用最为可靠的USB口进行烧写工作。如图中所示,为另一个USB口烧写出现的故障,此时可以重试来完成烧写。如图2.9,2.10所示为疑似USB口不稳定时出现的问题信息。
上机箱控制电,点击图2.6红圈中按钮开始烧写。
图2.6
烧写完成后信息框显示如图2.7。
图2.7
点击OK,烧写完成。
下机箱控制电,将主控SW拨码开关第一位拨回,并重新上电。
四、可能出现的问题
以下为几种没有烧写成功的提示。
如果出现此类情况,可关闭信息框,并再次点击“Program”按钮再次烧写,直到出现上述信息,或者重新上下电后再次尝试烧写。当然,要确认机箱已经上电,且拨码开关位置正确后,再重新尝试。

CCS3.3新建TMS320F28335工程详细步骤

CCS3.3新建TMS320F28335工程详细步骤

CCS 3.3新建TMS320F28335工程使用CCS3.3新建一个空的工程,以工程名Test为例。

注意路径Location中不能含有中文。

然后将DSP2833x_common文件夹和DSP2833x_headers文件夹拷到工程文件夹Test中。

这两个文件夹TI官方有提供。

main.c 文件是自己新建的。

之后,怎么进行接下来的配置呢?下面给大家来详细讲解一下。

右击工程名,选择Build Options,进入设置页面:1、Complier栏,左列中选择Advanced,最下面的Floating Point Support中选择fpu32。

2、Complier栏,左列中选择Preprocessor,在Include Search Path 中,填写$(Proj_dir)\DSP2833x_headers\include;$(Proj_dir)\DSP2833x_c ommon\include这里是设置头文件索引路径。

3、Linker栏,左列中选择Basic,在Stack Size(-stack)中填写堆栈大小,可设为0x200在Code Entry Point(-e)中,填写codestart4、Linker栏,左列中选择Libraries,在Incl. Libraries 中填写rts2800_fpu32.lib5、右击Source,添加所需的.c文件、.asm文件和.cmd文件这里是根据自己的需要添加的,但是一般DSP2833x_common\source中的DSP2833x_CodeStartBranch.asmDSP2833x_DefaultIsr.cDSP2833x_SysCtrl.cDSP2833x_MemCopy.cDSP2833x_Gpio.c以及DSP2833x_headers\source中的DSP2833x_GlobalVariableDefs.c是都需要用到的。

如果用的ADC,则需添加DSP2833x_ADC_cal.asmDSP2833x_usDelay.asmDSP2833x_Adc.c用到中断,需添加DSP2833x_PieCtrl.cDSP2833x_PieVect.cmain.c文件,作为编程的主文件,需要自己新建,然后添加进去。

TMS320F28335经验若干要点

TMS320F28335经验若干要点

TMS320F28335经验若干要点TMS320F28335开发过程中常见问题总结1.SPI驱动TLE7241E出现返回值不对的问题。

主要是由于时序的不对,导致TLE7241E输入采样时数据还没有建立,所以TLE7241E 收到的命令不正确,所以返回值不正确。

2.SPI驱动EEPROM时,如果用金属物触到clock pin时,能正确运行,否则不能正确运行。

出现次问题也是由于时序的问题,金属物触到clock导致clock出现微小幅度的偏移,导致正好和eeprom 的时序对上,而不用金属物触碰时时序不正常,当使dsp MOSIpin数据发送提前半个周期后,eeprom工作正常。

3.示波器有时会导致显示的波形被消尖,所以用示波器测量时周期不能太大。

TMS320F28335笔记-I2C1.响应和非响应的区别是什么?关于i2c的响应问题:对于每一个接收设备(从设备,slaver),当它被寻址后,都要求在接收到每一个字节后产生一个响应。

因此,the master device 必须产生一个额外的时钟脉冲(第九个脉冲)用以和这个响应位相关联。

在这个脉冲期间,发出响应的从设备必须将SDA拉低并在时钟脉冲的高电平期间保持住。

这表示该设备给出了一个ACK。

如果它不拉低SDA 线,就表示不响应(NACK)。

另外,在从机(发送方)发送完最后一个字节后主设备(接收方)必须产生一个不响应位,用以通知从机(发送方)不要再发送信息了,这样从机就知道该将SDA释放了,而后,主机发出一个停止位给slaver。

总结下,i2c通讯中,SDA 和SCL 都是有主机控制的,从设备只是能够将SDA线拉低而已。

对于SCL线,从机是没有任何能力去控制的。

从机只能被动跟随SCL再说的清楚些:主机发送数据到从机的状态下:主机控制SCL信号线和SDA信号线,从机只是在SCL线为高的时候去被动读取SDA 线。

主机读取从机的数据:主机来发出时钟信号,从机只是保证在时钟信号为高电平的时候的SDA的状态而已。

DSP28335烧写方法剖析

DSP28335烧写方法剖析

DSP28335—FLASH烧写的方法(2013-10-17 14:09:59)转载▼分类:学习交流标签:dsp文章来自:百度文库把烧写到RAM程序修改成烧写到FLASH的首先,希望大家明白一点,想把一个原来是烧写到DSP的片内RAM的程序修改成是烧写到DSP片内FLASH的程序,不仅仅是修改一个cmd文件就结束了,还需要做其他几个步骤,这里我重点强调一下。

第一步:把28335_RAM_lnk.cmd这个从project中移除,用右键选择28335_RAM_lnk.cmd 然后选delate。

第二步:右键选择project名称,然后选add file to project,然后出现浏览框,在\Code of TMS320F28335 CCS4\v120\DSP2833x_common\cmd这个子文件夹下,选择F28335.cmd,点OK,至此可以在project的文件列表内看到F28335.cmd被添加到project中。

第三步:在main()函数中添加如下语句MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); InitFlash();上述两句话添加在InitPieVectTable();这句的下面的一行。

添加语句的时候,注意不要添加错了,每一个字母都要正确,括号也要用英文括号。

第四步:添加DSP2833x_MemCopy.c这个文件到project中,右键选择project名称,然后选add file to project,然后出现浏览框,找到\Code of TMS320F28335 CCS4\v120\DSP2833x_common\source文件夹中的DSP2833x_MemCopy.c这个文件,然后点OK。

第五步:编译,点rebuild,编译至少要保证没有ERROR,否则请检查一下在第三步操作的地方是不是有错误。

基于CAN总线的TIDSP28335程序烧录技术

基于CAN总线的TIDSP28335程序烧录技术

基于CAN总线的TI DSP 28335程序烧录技术本文详细介绍了目前DSP芯片程序烧录的一般方式和其存在的诸多问题,基于此原因针对性地开发了一种基于CAN总线的TI DSP 28335芯片程序的烧录方法。

此方法接线简单便捷,烧写速度比传统方式快几倍。

电机控制器主控芯片目前大多采用TI公司的数字信号处理器(简称DSP)芯片,如TMS320LF2407,TMS320F2812,TMS320F28335(下文简称28335)等,28335又因具有高性能静态COMS技术,主频高达150MHz,还具有高性能的32位CPU以及增强型的CAN模块等优点而成为当前电机控制器主控芯片的首选。

目前28335芯片程序烧写技术背景目前,常用的DSP程序烧写有三种方法:利用仿真器烧写、通过拨码开关选择芯片引导程序及CAN通讯单行烧写。

大多目前,DSP程序烧写一般是利用仿真器完成来进行。

DSP与仿真器通过JATG接口(2×7的双排插针)进行连接,而双排插针只能布置在控制板上,无法引出到控制器壳体外,控制器一旦封盖后就不方便再进行程序升级;虽然在产品定型前的就算在程序调试阶段可以使用仿真器进行程序烧写,但仿真器插拔次数过多接口就会造成接口松动,造成接触不良,经常出现导致DSP与CCS应用软件连接不上的问题故障。

后来,有些也有部分用户通过目标板上的拨码开关选择芯片引导程序,采用SPI\SCI串口或CAN通讯等方式烧录程序。

由于这种方式需进行拨码开关选择,均需对目标板进行操作,且SPI\SCI为串口通讯,不能实现远程烧写,且烧写时间长,都不是程序烧写的最佳方式。

再后来又出现了CAN通讯单行烧写是另一种烧写方式,其应用于CAN通讯邮箱少的DSP芯片,通过采用少量邮箱进行数据传送,等待上位机目标代码完整传送完一行数据后将该行数据烧写到FLASH对应地址中,完成本行烧写后再进行下一行数据传输。

由于采用较少邮箱传送数据,决定了通讯传输速度慢,进而影响整个程序烧写的速度,这种方式也不是DSP28335最佳CAN通讯烧写程序方法。

SEED_DEC28335的烧写链接向导

SEED_DEC28335的烧写链接向导

SEED_DEC28335的烧写链接向导操作向导:一、先安装CCS3.3.38,再安装补丁CCS_v3.3_SR9_81.exe.二、安装setup_C28XFPU_CSP_v3.3.1207.exe补丁,使用默认路径;再安装C2000CodeGenerationTools5.0.0Beta3.exe补丁,安装在“CCStudio_v3.3\C2000\cgtools”下;遇到如下提示时,选择“Yes to All”,覆盖原文件;安装F2823x_RevA_CSP.exe三、安装SEED510PLUS驱动程序,安装在\CCStudio_v3.3\目录下:四、打开Setup CCStudio v3.3,Family 选择C28xx,Platform选择xds510plusemulator,在左边选择F28335 SEED-XDS510PLUS Emulator,五、配置不用改动,保存以上配置,打开CCStudio v3.3。

连接好仿真器、目标板和电源,选择Debug->Connect,确保目标板和仿真器相连,如图:六、点击Tool->F28xx On-chip Flash Programmer, 配置如下图:选择左下角的Flash Programmer Settings,在Select version of Flash API 选择28335的烧写API函数,默认路径是\CCStudio_v3.3\plugins\Flash28xx\Algorithms\28335\FlashAPIInterface28335V1_10.out,选择OK,返回。

在Please specify the COFF file to中选择SEED-DEC28335中的flash例程程序,默认路径是DSP2833x_examples\flash\Debug\Example_28335_Flash.out,如图:点击Execute Operation,执行烧写操作:完成Flash 烧写,断电,断开仿真器,上电,可以看到D3和D4灯交错闪烁;。

TMS32F28335经验若干

TMS32F28335经验若干

TMS320F28335开发过程中常见问题总结1.SPI驱动TLE7241E出现返回值不对的问题。

主要是由于时序的不对,导致TLE7241E输入采样时数据还没有建立,所以TLE7241E 收到的命令不正确,所以返回值不正确。

2.SPI驱动EEPROM时,如果用金属物触到clock pin时,能正确运行,否则不能正确运行。

出现次问题也是由于时序的问题,金属物触到clock导致clock出现微小幅度的偏移,导致正好和eeprom 的时序对上,而不用金属物触碰时时序不正常,当使dsp MOSIpin数据发送提前半个周期后,eeprom工作正常。

3.示波器有时会导致显示的波形被消尖,所以用示波器测量时周期不能太大。

TMS320F28335笔记-I2C1.响应和非响应的区别是什么?关于i2c的响应问题:对于每一个接收设备(从设备,slaver),当它被寻址后,都要求在接收到每一个字节后产生一个响应。

因此,the master device 必须产生一个额外的时钟脉冲(第九个脉冲)用以和这个响应位相关联。

在这个脉冲期间,发出响应的从设备必须将SDA拉低并在时钟脉冲的高电平期间保持住。

这表示该设备给出了一个ACK。

如果它不拉低SDA线,就表示不响应(NACK)。

另外,在从机(发送方)发送完最后一个字节后主设备(接收方)必须产生一个不响应位,用以通知从机(发送方)不要再发送信息了,这样从机就知道该将SDA释放了,而后,主机发出一个停止位给slaver。

总结下,i2c通讯中,SDA 和 SCL 都是有主机控制的,从设备只是能够将SDA线拉低而已。

对于SCL线,从机是没有任何能力去控制的。

从机只能被动跟随SCL再说的清楚些:主机发送数据到从机的状态下:主机控制SCL信号线和SDA信号线,从机只是在SCL线为高的时候去被动读取SDA线。

主机读取从机的数据:主机来发出时钟信号,从机只是保证在时钟信号为高电平的时候的SDA的状态而已。

DSP28335烧写FLASH程序可以在线仿真无法离线运行

DSP28335烧写FLASH程序可以在线仿真无法离线运行

DSP28335烧写FLASH程序可以在线仿真⽆法离线运⾏⼀般来说,把⼀个在RAM⾥正常运⾏的程序移植到FLASH⾥(运⾏时将FLASH中的程序拷贝到RAM中运⾏)的步骤如下:1.需要将适合RAM运⾏环境的CMD⽂件移出⼯程,替换成FLASH专⽤的的F28335.cmd2.将另⼀个⽂件DSP2833x_CodeStartBranch.asm添加到⼯程中,如果⼯程内本来就有这个⽂件,就不⽤再添加了3.在DSP28_SysCtrl.c⽂件中添加如下代码,如果⼯程⾥已有InitFlash函数,则不⽤再添加,检查下函数内容即可1#pragma CODE_SECTION(InitFlash, "RamFuncs");23void InitFlash(void)45 {67 EALLOW;89//Enable Flash Pipeline mode to improve performance1011//of code executed from Flash.1213 FlashRegs.FOPT.bit.ENPIPE = 1;1415// CAUTION1617//Minimum waitstates required for the flash operating1819//at a given CPU rate must be characterized by TI.2021//Refer to the datasheet for the latest information.22232425//Set the Paged Waitstate for the Flash2627 FlashRegs.FBANKWAIT.bit.PAGEWAIT = 5;28293031//Set the Random Waitstate for the Flash3233 FlashRegs.FBANKWAIT.bit.RANDWAIT = 5;34353637//Set the Waitstate for the OTP3839 FlashRegs.FOTPWAIT.bit.OTPWAIT = 8;40414243// CAUTION4445//ONLY THE DEFAULT VALUE FOR THESE 2 REGISTERS SHOULD BE USED4647 FlashRegs.FSTDBYWAIT.bit.STDBYWAIT = 0x01FF;4849 FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT = 0x01FF;5051 EDIS;52535455//Force a pipeline flush to ensure that the write to5657//the last register configured occurs before returning.58596061 asm(" RPT #7 || NOP");6263 }4.在main函数所在的源⽂件中,添加下⾯所⽰的代码,位置可以放在main函数之前1extern Uint16 RamFuncs_loadstart;23extern Uint16 RamFuncs_loadend;45extern Uint16 RamFuncs_runstart;5.在main函数中添加如下以红⾊字体显⽰的代码1/*初始化系统*/23 InitSysCtrl();45 memcpy(&RamFuncs_runstart,&RamFuncs_loadstart,&RamFuncs_loadend - &RamFuncs_loadstart);67 asm(" RPT #8 || NOP");891011 /*FLASH 初始化 */1213 InitFlash();14151617/*关中断*/1819 DINT;2021 IER = 0x0000;2223 IFR = 0x0000;6.在头⽂件DSP2833x_GlobalPrototypes.h中添加FLASH初始化函数的声明,如果已经声明,就不⽤再添加1extern void InitFlash(void);//7.验证Boot mode //通常已经正确选择//DSP开发板上的拨码开关都拨到ON,本质含义是:将F28335的GPIO84、GPIO85、GPIO86、GPIO87这四个引脚⽤1k到10k之间电阻上拉到3.3V,这样就把Boot mode选为从DSP内部FLASH处boot程序的模式;通常,上述步骤完成之后,在编译没有报错的情况下直接Debug即可将程序烧写进FLASH,之后断电,拔掉仿真器,再重新上电,程序即可⾃动运⾏。

F28335BOOTROM引导模式和程序

F28335BOOTROM引导模式和程序

28335使用串口烧写程序串口烧写是一种相对较方便的烧写方式,相对于仿真器或是CAN烧写,相对于仿真器或是USB转CAN的设备,串口是一种非常廉价的烧写方式,而且也不需要安装专业的集成开发环境CCS等,但是不能实现在线调试,因此也只适用于程序基本不用再调整或大批量的场合。

F28335的存储器映射图如下:BOOTROM 是一块8K X 16的只读存储器,位于地址空间0x3FE000~0x3FFFFF,片内BOOTROM在出厂时固化了引导加载程序以及定点和浮点数据表,片上BOOTROM的存储映射如下图所示:1.内BOOT ROM数学表:在BOOT ROM中保留了4K X 16位空间,用以存放浮点和IQ数据公式表,这些数据公式表有助于改善性能和节省SARAM空间。

2.CPU向量表:CPU向量表位于ROM存储器0x3FE000~0x3FFFFF段内,如下图所示。

复位后,当VMAP=1,ENPIE=0(PIE向量表禁止)时,该向量表激活。

在内部BOOT ROM引导区中能够调用的唯一向量就是位于0x3FFFC0的复位向量。

复位向量在出厂时被烧录为直接指向存储在BOOT ROM空间中的InitBoot函数,该函数用于开启引导过程。

然后通过通用I/O引脚上的检验判断,决定具体引导模式。

引导模式与控制引脚之间的关系如下图所示:Bootloader特性:Bootloader是位于片上引导ROM中的在复位后执行的程序,用于在上电复位后,将程序代码从外部源转移到内部存储器。

这允许代码暂时存储在掉电不丢失数据的外部存储器内,然后被转移到高速存储器中执行。

引导ROM中的复位向量将程序执行重定向至InitBoot函数。

执行器件初始化之后,bootloader将检查GPIO引脚的状态以确定您需要执行哪种引导模式。

这些选项包括:跳转至闪存、跳转至SARAM、跳转至OTP或调用其中一个片上引导加载例程。

完成选择进程后,如果已完成所需的引导加载,处理器将在所选引导模式确定的应用起点继续执行。

TMS320F28335学习笔记-启动过程

TMS320F28335学习笔记-启动过程

TMS320F28335学习笔记-启动过程分类:DSP TMS320F28335项目研发笔记(11)版权声明:本文为博主原创文章,未经博主允许不得转载。

1.DSP reset后运行的起始地址是多少?0x3FFFC02.仿真器烧写程序的步骤是?根据cmd文件把程序烧到指定位置,然后执行。

3.DSP的Flash启动过程是什么?首先硬件配置GPIO84~87上拉为1,即处于Flash启动过程。

当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPIO84~87的值发现全为1判断为Flash启动方式。

然后会跳到0x33FFF6处执行。

在CCS5.2工程的cmd文件中有如下代码:MEMORY{PAGE 0 :BEGIN : origin = 0x33FFF6, length = 0x000002 /* Boot to M0 will gohere */...}SECTIONS{...codestart : > BEGIN PAGE = 0...}即表示把codestart段放到0x33FFF6位置处,文件“DSP2833x_CodeStartBranch.asm”中有codestart段的定义,实际上codestart段只是包含了一个跳转指令,是程序跳转到_c_int00处,_c_int00在boot.asm in RTS library中有定义,_c_int00的代码最终会调用c的main 函数,之后就是main函数的执行。

4.F28335如何烧写代码到flash中并运行?首先使用添加C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_common\cmd\F28335.cmd。

此文件即为配置代码到flash中的TI官方配置文件。

然后参考C:\ti\controlSUITE\device_support\f2833x\v133\DSP2833x_examples_ccsv4\flash_f2833 5。

CCS烧写说明

CCS烧写说明

1.双击打开CCS3.3,
2.先将保护装置断电,将仿真器与电脑及CPU板连接,拔下JP2跳线,仿真器jtag口与
CPU相应端口连接,注意方向,仿真器jtag口有一针封闭,此封闭口与CPU板JTAG1口上缺失的一针相对应。

注意此时Jp2跳线需为不跳上状态;然后将装置上电,此时仿真器两个灯均为点亮状态。

3.点击Debug菜单下的Connect选项,此时会连接CPU板,如果一切安装正常,可以正
常连接,如不能连接,查看是否前面的安装有步骤缺失。

4.连接完毕后点击Tools菜单下的F28xx On-Chip Flash Programmer 选项,此时会弹出一
个对话窗,如下图,选择为4倍频,确定后
选择为28335文件,如下图,确定后
选择相应的*.out文件,如下图,
打开后点开始烧写,如果显示此时cpu为locked状态,需要点击
unlock,将CPU解锁,开始进行烧写,烧写共分3步,擦除,编写,校验,再此过程中一定不能断电,否则极易锁死CPU,
烧写完毕后,将CCS关闭,然后将装置断电,拔下仿真器,跳上Jp2跳线,装置上电,即可正常工作。

CCS3.3烧写F28335的flash要领

CCS3.3烧写F28335的flash要领

CCS3.3烧写F28335的flash要领
针对TI的F28335 DSP,仿真器为XDS510,操作系统win XP或者win 7,主板CPU为i386架构。

1、程序安装
程序安装前要确定电脑之前是否安装过CCS4及以上版本,若有安装请删除,包括CCS4及以上版本自带的XDS510和XDS560仿真器blackhawk USB驱动,所有文件如下
上述文件在系统盘的Windows文件夹的根目录或者system32文件夹的根目录或者drivers文件夹里面。

建议搜索Windows文件夹,然后逐一删除。

若没有安装过CCS4及以上版本那么就直接安装CCS3.3,安装完CCS3.3后依次安装下面程序
2、安装XDS510仿真器驱动
3、设置component manager,位置如下
打开界面后出现如下界面
勾选保存退出。

4、项目工程文件里面将28335_RAM_lnk.cmd替换为F28335.cmd。

因为28335_RAM_lnk.cmd 与仿真有关,F28335.cmd与flash有关。

替换后如下图
5、编译生成.out文件,然后烧写flash。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C2Prog串口烧写TMS320F28335 Flash实验
一、实验准备
1、必备硬件:F28335开发板(可切换到SCI-A Boot模式)、与PC机相连
的串口、PC机
2、必备软件:C2Prog V1.4或V1.5、chromeinstall-6u31.exe、hex2000、
CCS3.3或CCS4.X
3、建议实验前先对硬件进行测试:通过仿真器烧写SCIA的串口程序,通
过串口助手确认开发板串口通信正常。

二、实验步骤
1、使用CCS3.3或CCS4编译程序(注意CMD文件应为烧写flash),生成.out
文件。

2、把HEX2000.exe和要转化的.out 文件放在同一个文件夹内。

3、在WIN7系统中,以资源管理器的方式打开该文件夹,在该文件夹的空
白处按住shift键右击,然后选择“在此处打开命令窗口(W)”弹出命
令窗口:
4、hex2000 -romwidth 16 -memwidth 16 -i -o xx.hex xx.out
中修改xx.hex xx.out和.out、目标.hex文件名称相同,复制粘贴到命
令窗口已有语句的后面,按回车键,生成.hex目标文件。

5、若您使用的是CCS4的编译环境,可以更加快捷的生成.hex文件。

右击工程文件,打开build properties对话框,在Build Steps中Apply Predefined Step 中选择Create flash image:Intel-HEX(如下图所示),单击OK,在以后的编译该工程中,会自动生成更新.hex文件。

6、参考下图,将开发板跳线切换至SCI-A Boot 模式,连接PC机串口和开
发板串口,给开发板上电,如已经上电要按一下复位按钮,使DSP进入SCI-A boot模式:
7、打开C2Prog软件,Select File选择要烧写的.hex文件,并按如下图进行
配置,之后扫描并确认PC机上对应的串口:
8、点击Program,完成烧写!
9、将跳线或拨码切换至Jump to Flash模式,重新启动DSP,观察程序运
行情况。

相关文档
最新文档