使用ccs烧程序时如何判断成功与否

使用ccs烧程序时如何判断成功与否,第1张

环境:Win7 + CCS v5 + XDS100v2仿真器 + TMS320CF2812芯片

烧写方法:将SRAM.cmd替换成FLASH.cmd。一个通用的用于F2812的 FLASH.cmd  例子为

MEMORY

{

PAGE 0 :

OTP : origin = 0x3D7800, length = 0x000800

FLASHJ : origin = 0x3D8000, length = 0x002000

FLASHI : origin = 0x3DA000, length = 0x002000

FLASHH : origin = 0x3DC000, length = 0x004000

FLASHG : origin = 0x3E0000, length = 0x004000

FLASHF : origin = 0x3E4000, length = 0x004000

FLASHE : origin = 0x3E8000, length = 0x004000

FLASHD : origin = 0x3EC000, length = 0x004000

FLASHC : origin = 0x3F0000, length = 0x004000

FLASHB : origin = 0x3F4000, length = 0x002000

FLASHA : origin = 0x3F6000, length = 0x001FF6

BEGIN : origin = 0x3F7FF6, length = 0x000002

PASSWDS : origin = 0x3F7FF8, length = 0x000008

ROM : origin = 0x3FF000, length = 0x000FC0

VECTORS : origin = 0x3FFFC2, length = 0x00003E

PAGE 1 :

/* SARAM */

具体 *** 作步骤如下:

(1)将DSP的MP/胡凳颂MC引脚置高,让DSP工作在微处理器方式裤郑。

(2)将第一段代码通过仿真器下载到DSP中,但不运行该代码。

(3)将第二段代码通过仿粗衡真器下载到DSP中,运行此代码。

(4)代码2运行结束后,去掉仿真器,并将MP/MC引脚置低,让DSP工作在微型计算机方式。

(5)复位DSP,DSP独立运行。

这样的问题确实挺让人头痛的,往往这种情况还不报错,非常让人郁闷。28335我没用过。如果你庆芹用的是2812我能立即给你解决了。28335的话,我给你说一下我调试的经验吧。

1.看看编译的时候有没有错误。如果有错的话,对应的去网上搜一下,往往都能找到一些方法。

2.跑个例程看看,如果例程都不能跑通的话。先查查硬件有没有问题。

3.例程跑通之后,将你的程序告蠢改小,然后将程序刷进去看看。一般就是按例程那样先一个模块一个模块的跑。如果加上某个模块不工作了,你看看有没有明显错误。如果没有,单独跑一下这个模块。如果单独可以跑的话。很有可能是cmd段分配和ccs设置的问题了。你可以试试在项目中右击,选择Properties(Alt+Enter),在如下图所示的选项卡中选择Optimization level,将其设置为off即不优化。

4.下袜差陪载进去之后,再在线调一下。在main开始处打个断点试试。如果程序是跑飞的进不了main.以2812为例,我建议你检查一下你的Boot ROM是不是选择的从内部启动。2812上有个引脚MP/MC(微处理器模式/微计算机模式),如果这个引脚为0说明被设置为从内部boot启动,你看一下28335有没有类似的引脚,建议你出现ram中能运行,flash中不能运行的问题时,首先检查这引脚的状态。

5.检查你的flash cmd文件,建议你先从Debug文件夹下的.map文件看起。.map文件是十分用于的。它包含了你编译出的所有段和定义的所有段的所有信息,包括段的起始地址、长度、使用长度和未使用长度。包括编译生成的test、cinint等段的信息,如果你发现某个段定义了但没有使用,很有可能是因为你这个段长度太小了,它放不进去就不放了。你了解一下cmd的编写对应看map文件改改看。

ps:我的版本是ccs5.5,工程项目以在ccs3.3下创建的为例。.map文件部分截图如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12386586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存