1.DSP程序烧写后,带仿真器程序能正常运行,通信测试是对的,但拔下仿真器后就出错了,请问是什么原因?
答:串口通信连着仿真器说明有硬件电气连接。使用无源rs232转485接口跟dsp通信的,接着仿真器就行,不接仿真器通信异常。然后把485的地和dsp电源的地共起来,就好了。
2. DSP使用仿真器很正常工作,但是通过烧写到ROM后,load代码到DSP RAM中后无法正常运行.
答:首先检查你的烧写程序可有问题。有些烧写程序指定.test代码长度。
其次在代码上问题,可以锁定在在线与烧写cmd文件的变化。烧写原理是什么?代码编译为二进制或十六进制数,搬移进rom,存储起始地址、长度确定没有问题。假设正确,检查能否在线对rom进行正常的擦除与读写?
假如还是正确,检查硬件电路,这个就比较麻烦了。确定启动模式设置的正确?自举启动要dsp外围电路的电压、时钟、模式选择、默认态确认正确?
还有问题就是芯片自启动有问题了
假如还是正确,检查硬件电路,这个就比较麻烦了。确定启动模式设置的正确?自举启动要dsp外围电路的电压、时钟、模式选择、默认态确认正确?
还有问题就是芯片自启动有问题了
3.我也出现过能仿真,但不能烧写的情况!解决方法:降低时钟频率。点击FLASH插件上的“View Config File”,打开VAR.件。将该文件中的“PLL_PATIO_CONST .Set 0000h”改成“PLL_PATIO_CONST .Set 0200h”存盘后,执行目录下的Buildall.bat批处理文件。再重新启动CCS及FLASH插件。
最大可能是DSP的FLASH烧掉了,这个烧掉不影响程序的仿真;我之前也是烧不进去,后来换了块芯片就好了,芯片的来源很重要。第二个问题是你在烧写程序时将CMD修改了没有,要跳过密保单元;你的memory map设置是否正确? 还有如果烧写flash 评估办上跳线是否正确? 我用的时候 好几块评估板都是可以load programme 。可以加载到ram 中进行仿真,但是不能烧写道flash 进行自动运行。
4. 我也遇到这样的问题,同样郁闷。一个以前跑过的好好的程序,因为改了仿真器的配置,就出现了楼主所述问题,反复尝试,都是如楼主所述。后来我是通过以下方法解决的:打开Setup CCStudio v3.3-选择F2407 XDS510 Emulator-设置F2407 XDS510 Emulator的属性-再设置TMS320C24xx_0的属性5我以前也遇到过,用如下的方法解决的:首先,"degug"--"reset DSP";然后, 电路上硬件复位,即reset引脚处的复位。6.error: Data verification fail
ed at address 0xxxxxx前一段时间,Load Program时总是出错:data verification failed at address 0x81021FF4,Please verify target memory and memory map有时多下载几次却又可以了,这个问题困扰了我好几天,后来才知道是DSP板子上的SDRAM坏了。从网上搜到的别人对这个错误的原因的解释:1. The RAM chip is damaged. In this case, the board has to be replaced. 2. The access to the external memory is secure if CSM (code security module) is enabled. To unlock CSM if not password protected, go to the GEL menu in Code Composer Studio under: "GEL->Code Security Module->Unlock_CSM" This will give you access to the external RAM, and allow CCS to load your code. As a workaround, use the Internal_memory_map option to load the executable code into the internal RAM.
7.:在调试硬件时,程序无法下载到存储器中,出现错误,data verification failed at address 0x40,please verify target memory and 答:1. 确定CMD文件没有问题,到底是Flash的CMD还是Ram的? 2. 用TI的历程尝试,判断是否是硬件问题。 在线二进制转换8. 仿真器在线仿真正常,写入片子后工作不正常的问题
| ||
总结:1.程序肯定是对的。
2.硬件方面 rom和FLASH是否损坏,其次检查配置,电源、引脚配置
3.软件CCS的设置上
4.人为因素:烧写方法,cmd修改,密保单元是否跳过。
在TI DSP开发板中烧写Flash程序
实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写;二是通过开发商提供的专门软件工具+在线仿真器烧写;三是自己编程通过DSP烧写。个人使用的是合众达电子SEED-VPM642开发板,在最新版本例程中提供了专用的烧写软件;但为了实现通用的FLASHBURN烧写,我进行了一些尝试以便了解程序烧录过程及运行情况。
实现Bootloader自引导功能,除了需要生成可执行文件(.out),还需要进行如下步骤:
1、合理配置工程文件(.pjt):需要添加一个boot.asm文件(做搬移时一些初始化和跳转工作),
1、合理配置工程文件(.pjt):需要添加一个boot.asm文件(做搬移时一些初始化和跳转工作),
另外工程中.cmd文件也需要为bootloader保留空间。
2、将添加了boot.asm和修改cmd后重新生成的.out文件转化为.hex文件,这时需要一个转换.cmd文件(这个.cmd文件与工程文件中.cmd完全不同,前者是为了指明flash的属性(大小,数据宽度,起始地址和产生文件名)以实现转换.out文件为flash兼容的.hex文件,不能混淆)。
3、最后通过Flashburn工具将.hex文件写入Flash,这时需要转换.cmd文件、.hex文件和FBTC642.out文件。
2、将添加了boot.asm和修改cmd后重新生成的.out文件转化为.hex文件,这时需要一个转换.cmd文件(这个.cmd文件与工程文件中.cmd完全不同,前者是为了指明flash的属性(大小,数据宽度,起始地址和产生文件名)以实现转换.out文件为flash兼容的.hex文件,不能混淆)。
3、最后通过Flashburn工具将.hex文件写入Flash,这时需要转换.cmd文件、.hex文件和FBTC642.out文件。
介绍下各烧录中用到的文件(Flashburn、FBTC.out、,.cdd和.cmd文件)作用:
1、FBTC.out文件:负责对flash的操作,比如flash的擦除、读、写等。这里主要看个人板子上flash的型号,因为不同型号的flash,它们的操作命令不一样。这样你就必须对FBTC工程进行修改,然后重新编译生成.out文件。如DM642开发板使用的FBTC文件在安装ccs的根目录下(boards\evmdm642\flashburn\FBTC642)。
2、:将用户工程生成的.out文件转换为二进制文件的工具,这样Flashburn就可以
将.out文件以二进制方式烧进flash中。
3、Flashburn:TI的第三方软件公司 Software Design Sloutions 为TI的DSP用户编写的Flash烧写软件,给软件以CCS为基础,通过运行仿真程序FBTC,将用户程序写入Flash中。
4、.cdd文件:保存Flashburn的设置的。
5、.cmd文件:指明flash属性(大小,数据宽度,起始地址和产生文件名),按照flash要求实现将.out文件到二进制文件的转换。
具体步骤:
1。用户程序中添加boot.asm文件,修改.cmd文件中的MEMORY和SECTION部分(DSP/BIOS环境中直接通过配置CDB或者TCF文件中的System->MEM->ISRAM即可;非DSP/BIOS在cmd文件中添加一个名为BOOT的section,位置为0x000,长度为0x400),在连接仿真器环境下编译生成可执行的.out格式的COFF文件。
2。使用工具,将工程文件生成的.out文件转换成为HEX的ascii格式的二进制文件。
a.编写一个.cmd文件用于设置的参数
如果例程中存在,则可用记事本打开如下:
SeedH264loopback.out
-a
-memwidth 8
-boot
-bootorg 0x90000400
-bootsection .boot_load 0x90000000
-a
-memwidth 8
-boot
-bootorg 0x90000400
-bootsection .boot_load 0x90000000
ROMS
{
FLASH: org = 0x90000000, len = 0x400000, romwidth = 8, files = {SeedH264Loopback.hex}
}
{
FLASH: org = 0x90000000, len = 0x400000, romwidth = 8, files = {SeedH264Loopback.hex}
}
b.生成二进制文件:
两种方法:
i)将.cmd文件和.out文件放在同一目录下,双击convert.bat。具体操作是将三个文件复制到一起分别是:和.cmd以及.bat在编辑修改其中的内容(改文件名),最后运行批处理文件即可;
ii)通过windows命令窗口键入命令进行转换。将.out文件,cmd文件,和文件放在同一个文件夹内。如C:\DSP_BURN。在dos窗口中键入cd C:\DSP_BURN将路径改为“C:DSP_BURN>”,再键入“ XX.cmd”结果生成“XX.hex”文件
在DOS下进入程序保存的目录,直接运行()如D:\ti\myprojects\a_video_process_XY>d文件得到二进制文件(可以从DOS状态看到),此时就得到了seedvpm642_vedioloop_ahex.hex(文件名可能不同)用于烧写的文件。
注意:的版本,如果版本太低,在转换过程中会出现问题。
二、改写FBTC工程,这个CCS工程编译而成的文件主要是对flash的操作,其作用相当于一
个搬运工具,将hex文件由PC搬入Flash中。这里要注意自己的CCS版本和flash的型号,编译完成会得到一个FBTC642.out文件。对于不同的DSP系统板,TBTC工程主要修改DM642teb.h、FBCmd.c、FBTC_DM642.c和FBurnCmd.c等文件。
三、打开开发板上电,启动ccs软件,加载gel文件并连接(connect)硬件仿真器。
四、打开FlashBurn软件,重新对主界面中“Conversion Cmd”、“File to burn”、“Fbtc program file”的三个文件的路径重新设置,分别点击“Browser”按钮,到事先创建的相应目录下的三个文件“.cmd”、“.hex”、“FBTC642.out”;然后保存关闭cdd文件。
五、点击 flashburn软件中的“Program”依次“download FBTC”(下载),“Erase Flash”(擦除),“show memory”(查看),“Program flash”(编程)。完毕后拔出仿真器,关电源重启即可成功实现烧写。
更多介绍请见:blog.sina/s/blog_48fc29af0100n4ye.html
更多介绍请见:blog.sina/s/blog_48fc29af0100n4ye.html
烧写过程中遇到的问题
使用合众达电子SEED-VPM642例程中flashburn程序需要用到的FBTC文件会出现提示:
## 06/29/06 11:35:02
Attempt to create Code
CCS created OK.
Either I cannot load FBTC, or the FBTC is not compatible with this version of FlashBurn.
Verify that the FBTC file is compatible with target and this version of FlashBurn.
Attempt to create Code
CCS created OK.
Either I cannot load FBTC, or the FBTC is not compatible with this version of FlashBurn.
Verify that the FBTC file is compatible with target and this version of FlashBurn.
这是由于烧写所需要的文件存放路径不同引起的,因为合众达的工程师在开发这个例程的时候保存配置文件是按照他自己的存放来保存的(F:改为你存放的例程文件夹目录地址),所以你需要修改。最方便的办法就是重新浏览各个配置文件的地址。然后利用flashburn打开CDD配置文件又会提示:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论