打印

程序在线仿真合适,烧写到flash,重新上电就不正常工作总结

[复制链接]
11704|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhangmangui|  楼主 | 2013-5-26 12:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到好多网友遇到过这样的问题,现在就此问题来收集一下建议和解决方法,有更好的方法,还望大家多多分享。

1.程序烧到Flash之后,请用不要断开仿真器,用Load Symbols将程序加载,然后运行,Flash在线调试,看看程序跑到什么地方了?
另外,程序中是否使用Delay_us()函数,此函数是否已经copy到Ram中执行。
Stack的大小开的是否足够?
看看程序是否进入了什么illegal ISR?

2.我也遇到了类似的问题,烧到flash里后连着仿真器非常正常,去掉仿真器就有一定的误码率。
后来不使用DELAY-US来延时,用定时中断就不会出现这个问题了。
DELAY——US在程序里已经  .sect "ramfuncs",是不是已经声明为RAM运行?
还用不用在主程序里做一些处理?

3.请确认是否正确初始化FLASH waitstates,通过以下方法:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
// Call Flash Initialization to setup flash waitstates
// This function must reside in RAM
  InitFlash();
//
4./*** Copy all FLASH sections that need to run from RAM (use memcpy() from RTS library) ***/
// Section secureRamFuncs contains user defined code that runs from CSM secured RAM
memcpy(        &secureRamFuncs_runstart,
&secureRamFuncs_loadstart,
&secureRamFuncs_loadend - &secureRamFuncs_loadstart);
//copy from the flash to the ram  for change the registers of the flash,
/*** Initialize the FLASH ***/
InitFlash();


相关帖子

沙发
kkzz| | 2013-7-2 23:37 | 只看该作者
这个还真不错的,谢谢分享的。

使用特权

评论回复
板凳
kkzz| | 2013-7-2 23:38 | 只看该作者
顺着连接就过来的。

使用特权

评论回复
地板
zhangmangui|  楼主 | 2013-7-2 23:42 | 只看该作者
kkzz 发表于 2013-7-2 23:37
这个还真不错的,谢谢分享的。

你说好  才是真的好  

使用特权

评论回复
5
kkzz| | 2013-7-2 23:44 | 只看该作者
zhangmangui 发表于 2013-7-2 23:42
你说好  才是真的好

哈哈,版主得多多指教的。

使用特权

评论回复
6
feng0604| | 2013-7-3 10:01 | 只看该作者
最笨的一次没把codestart.asm加进去,烧写FLASH用仿真器就能工作,不用仿真器就启动地址就不对

使用特权

评论回复
7
zhangmangui|  楼主 | 2013-7-3 10:04 | 只看该作者
feng0604 发表于 2013-7-3 10:01
最笨的一次没把codestart.asm加进去,烧写FLASH用仿真器就能工作,不用仿真器就启动地址就不对 ...

我使用时codestart是和代码在一起的  不需要单独加codestart.as   你可以为大家总结一下

使用特权

评论回复
8
jlass| | 2013-7-12 16:04 | 只看该作者
每次看到有人问“程序在线仿真正常,烧写到flash,重新上电就不正常”的时候就在想有人能总结一下该多好啊,没想到版主已经做到了

使用特权

评论回复
9
lt19870405| | 2013-7-25 16:34 | 只看该作者
斑竹在吗,我这边也遇到了类似的问题。程序在线调试速度很正常,用了2块不同的开发板(自制的),程序烧写到flash里面之后,完成初始化到定义的第一个节点需要很长时间。观察了flash空间的CE信号与读信号,发现读操作分为很多次进行,不连续,中间会有很多类似于毛刺的信号,请问这样的问题怎么去处理,怎么样才能让flash更快的启动程序?

使用特权

评论回复
10
zhangmangui|  楼主 | 2013-7-25 18:44 | 只看该作者
lt19870405 发表于 2013-7-25 16:34
斑竹在吗,我这边也遇到了类似的问题。程序在线调试速度很正常,用了2块不同的开发板(自制的),程序烧写 ...

你可以在运行时将flash中的数据搬移到RAM中运行  试试  如上说明

使用特权

评论回复
11
lt19870405| | 2013-8-8 15:07 | 只看该作者
zhangmangui 发表于 2013-7-25 18:44
你可以在运行时将flash中的数据搬移到RAM中运行  试试  如上说明

问题已查处,当时上电之后复位电路未能正常供电,需要软重启一次,后来换了一个电容,上电时能稳定上电逻辑,之后再由FPGA进行上电复位。
当初加班忘记回复了,后来想想这事不是大体逻辑问题,但遇到的时候可能一下也找不出原因,还是和大家分享一下吧。

使用特权

评论回复
12
zhangmangui|  楼主 | 2013-8-8 16:02 | 只看该作者
lt19870405 发表于 2013-8-8 15:07
问题已查处,当时上电之后复位电路未能正常供电,需要软重启一次,后来换了一个电容,上电时能稳定上电逻 ...

感谢分享

使用特权

评论回复
13
HD21425| | 2013-8-31 21:10 | 只看该作者
我也遇到同样的问题,真是纠结蛋疼,整个过程没有提示任何错误,就是运行不正常。

使用特权

评论回复
14
zhangmangui|  楼主 | 2013-8-31 22:31 | 只看该作者
HD21425 发表于 2013-8-31 21:10
我也遇到同样的问题,真是纠结蛋疼,整个过程没有提示任何错误,就是运行不正常。 ...

上面总结主要是针对在RAM.CMD下是正常的   下载到flash是就不正常了
你的意思编译仿真没有任何错误   是不是程序有问题吧

使用特权

评论回复
15
HD21425| | 2013-9-2 07:54 | 只看该作者
zhangmangui 发表于 2013-8-31 22:31
上面总结主要是针对在RAM.CMD下是正常的   下载到flash是就不正常了
你的意思编译仿真没有任何错误   是 ...

程序应该没有问题,至少在RAM中调试正常的。我现在在想是不是需要复位一下,或者是FLASH。cmd问题,感觉还是这两个方面的问题,再研究中。

使用特权

评论回复
16
zhangmangui|  楼主 | 2013-9-2 08:57 | 只看该作者
HD21425 发表于 2013-9-2 07:54
程序应该没有问题,至少在RAM中调试正常的。我现在在想是不是需要复位一下,或者是FLASH。cmd问题,感觉 ...

嗯  解决了记得分享

使用特权

评论回复
17
TLZme| | 2013-9-13 20:53 | 只看该作者
学习

使用特权

评论回复
18
飞鹰嵌入式| | 2014-5-21 16:55 | 只看该作者
zhangmangui 发表于 2013-8-31 22:31
上面总结主要是针对在RAM.CMD下是正常的   下载到flash是就不正常了
你的意思编译仿真没有任何错误   是 ...

我的还是不行呢,是不是差在gel文件啊,gel文件怎么转换成C语言啊?

使用特权

评论回复
19
zhangmangui|  楼主 | 2014-5-21 22:00 | 只看该作者
飞鹰嵌入式 发表于 2014-5-21 16:55
我的还是不行呢,是不是差在gel文件啊,gel文件怎么转换成C语言啊?

这个不能直接转为C语言啊    它是配合CCS使用的吧

使用特权

评论回复
20
步步高0217| | 2015-6-23 13:19 | 只看该作者
楼主这个问题解决了吗?我也遇到了这个问题。。

使用特权

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

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

934

主题

26373

帖子

585

粉丝