打印

DSP烧录到Flash中,仿真可运行

[复制链接]
566|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2016-7-20 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
望各位大神能帮我分析一下问题,不胜感激。
一、问题描述:
1、F28335用CCS4仿真;
2、共两块一样的板子,第一块无论仿真或者拔掉仿真器单机运行都可以正常运行;
3、第二块复制的板子,仿真可以正常运行;然后退出仿真模式,但是仿真器不拔,板子也能正常运行;最后板子断电,拔掉仿真器(两端都拔掉了),然后上电重启,程序不能正常运行;


二、曾经测试以及尝试过的解决办法(以下均为单机运行测试):
1、电源用到5v,3.3v,1.8v,分别测得实际是4.75v,3.25v,1.77v,电源应该是没有问题的;
2、reset 电路测试,上电后reset引脚为高电平,因为采用的是TPS3823专用复位芯片,没有设置手动复位,所以至于有没有正常复位,不是很好判断,所以我采用上电后在地和reset引脚之间用导线手动连接了一下,模拟手动复位后断开,然后软件还是米有正常工作,所以我判断应该不是复位电路的问题(不知道这里的测试方法可靠不哈,如果有问题,望大神提出指正意见)
3、晶振采用33.3333MHZ有源晶振,示波器测试频率正常;
4、是否成功下载到FLASH检查:工程文件中有F28335.cmd文件,DSP2833x_CodeStartBranch.asm,下载时显示擦除flash section后显示load成功,且第一块板子同样的方法单机能够从正常运行,应该是成功下载到Flash中了吧!5、上电引导是否正确:通过资料得知DSP的Flash启动过程如下:
(1)首先硬件配置GPIO84~87上拉为1,即处于Flash启动过程。检查我的84~87引脚全部为高电平。
(2)当DSP复位后,会从复位向量0x3FFFC0处取得复位向量,并跳转到InitBoot处开始执行,InitBoot会读GPIO84~87的值发现全为1判断为Flash启动方式。
(3)然后会跳到0x33FFF6处执行。
总的来说就是:Reset(0x3fffc0)—>initBoot()—>判断启动方式—>codestart(0x33fff6)—>_c_int00—>main函数

我的工程的cmd文件中有如下代码:

MEMORY
{
PAGE 0 :
BEGIN : origin = 0x33FFF6, length = 0x000002 /* Boot to M0 will go here */
...
}

SECTIONS
{...
codestart : > BEGIN PAGE = 0
...}

我的 DSP2833x_CodeStartBranch.asm里面有如下代码:
code_start:
    .if WD_DISABLE == 1
        LB wd_disable       ;Branch to watchdog disable code
    .else
        LB _c_int00         ;Branch to start of boot.asm in RTS library
    .endif
如果说这两个文件是正确的而且复位成功的话,应该能直接引导到main函数执行程序,可是事实上程序好像并没有进入主程序运行.

三、以上方法都检查过,还是找不到原因所在,求高手指导还有可能是什么问题啊?

相关帖子

沙发
chenci2013| | 2016-7-21 16:46 | 只看该作者
查看中断和复位电路

使用特权

评论回复
板凳
chenci2013| | 2016-7-21 16:51 | 只看该作者
程序是不是已经烧写进去了?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝