下载到flash中的程序不能仿真

[复制链接]
809|3
 楼主| 豆腐块 发表于 2016-7-16 20:46 | 显示全部楼层 |阅读模式
最近看别人的程序遇到一个问题,希望高手能够给出宝贵建议。程序中的结构是这样:
void main(void)
{
   InitSysCtrl();
        memcpy(        &RamfuncsRunStart,
                        &RamfuncsLoadStart,
                        &RamfuncsLoadEnd - &RamfuncsLoadStart);
   InitFlash();

   InitSpi();
。。。
}

      程序编译没有问题,下载到flash后,点击仿真开始键后发现一直没有进入到主函数中,运行InitSysCtrl()没有问题,但是运行到memcpy这里,再点击下一步过后就会出现No source available for "0x3ff8cd" 。然后点击resume继续仿真,程序又从开始继续执行InitSysCtrl(),一直循环。将断点设置在InitFlash()这里一直没有停过。
      开始怀疑是CMD文件配置有问题,主要关注了memcpy()这一点。但是也没有发现问题所在。CMD中配置如下:
   ramfuncs          : LOAD = FLASH_DCBA,                                                
                         RUN = PRAML12,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_END(_RamfuncsLoadEnd),
                         RUN_START(_RamfuncsRunStart),
                         PAGE = 0

      后来又从BOOT ROM启动分析,电路板上GPIO34/GPIO37配置都为高,默认是从flash中启动的。initflash程序也配置在RAM中运行(#pragma CODE_SECTION(InitFlash, "ramfuncs"))。DSP2803x_CodeStartBranch.asm启动程序也是TI官方给的,初始关闭看门狗(WD_DISABLE        .set        1)。都没有发现问题。
      请各位大神指点一下。
309030106 发表于 2016-7-16 20:56 | 显示全部楼层
仿真器只是帮助我们仿真ram里面的程序吧,刷到flash里面不可以仿真了
chenci2013 发表于 2016-7-17 22:50 | 显示全部楼层
仿真不是在ram里面吗
chenci2013 发表于 2016-7-17 22:52 | 显示全部楼层
修改过cmd吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

75

主题

635

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部