发新帖我要提问
12
返回列表
打印

stm32运行出错,多次烧写程序后居然好了

[复制链接]
楼主: qljqlj
手机看帖
扫描二维码
随时随地手机跟帖
21
我怀疑20楼的问题与程序的时序有关,可能程序中的某个地方的时序太紧凑,指令的位置移动后,造成在Flash中与地址的对齐错位,使得取指的时序发生变化而导致指令执行的时间变化。

这个问题说起来比较复杂,但与流水线和Flash的加速机制有关。

使用特权

评论回复
22
fqingy2003| | 2010-9-9 18:02 | 只看该作者
你使用的盗版软件吧!盗版软件有有这个问题,是烧写程序的问题。但STM32确实有bug,就在nvram读写的地方,有一条汇编指令就是执行不下去,后来将编译器的编译级数设置为3,没有这条指令,就执行过去了。

使用特权

评论回复
23
qljqlj|  楼主 | 2010-9-13 16:20 | 只看该作者
回7楼:

1)楼主位说“在某个区域死循环”,请问这个区域是哪里?是否每片芯片都一样的区域,还是不一样的区域。
2)“发现利用step over到某个地方就死机,而利用step into就能顺利通过死机区域”,这里的“某个地方”与上述的某个区域有什么关联?什么程序?这种现象是只与地址有关,还是与指令有关,还是与操作有关?
3)高低温测试,高温是多少,低温是多少?
关于这个高低温测试问题,再请问你选择的芯片的工作温度范围是多少?
说实话,如果你希望大家帮你分析问题,就应该多给出一些具体的,甚至是量化的信息,这样分析才能有的放矢,如果只是“某个”“某种”,我们就只好瞎猜了,

-------才出差回来,你应该是stm的技术支持吧,也读过你的很多资料,让我很快进入stm32,不过我感觉你的思路是让我代替stm32给你找问题,我是客户,只是就我发生的问题提出意见来,如果什么都是我来做,要你们干什么,stm32直接关门算了。本来我的问题就是随机发生的,我哪有那么多时间找这个原因,就是不理解而已。本来我感觉这个问题也很棘手,就是你吧,也很可能解决不了,看看同行有没有碰见类似的(当然有可能ic的设计者,心里有可能明白,以前用过intel的 270做过东西,之间发生过一次类似的问题,问上海技术支持,也是这个样,让我们提供具体数据,后来直接找到本部,才解决问题,承认是bug),本来嘛,产品哪有不出问题的,不管是ic或者产品。又或者本来就不是ic的问题。。。。。

使用特权

评论回复
24
qljqlj|  楼主 | 2010-9-13 16:25 | 只看该作者
你使用的盗版软件吧!盗版软件有有这个问题,是烧写程序的问题。但STM32确实有bug,就在nvram读写的地方,有一条汇编指令就是执行不下去,后来将编译器的编译级数设置为3,没有这条指令,就执行过去了。
-----兄弟,怎么分时盗版正版那,我就是买jlink的时候,人家光盘带的,你说的问题,我这个可能不是吧,而且编译器的编译级数设置为3,在那个地方?

使用特权

评论回复
25
香水城| | 2010-9-13 16:36 | 只看该作者
回23楼:

没有人说让你找原因,我只是希望多了解一些你的具体情况,既然你已经找到了那个死机的地方,又不想提供资料,请直接说明,没有人责怪你。

你是做开发的,想必应该知道,要解决一个问题,必须能够重现它,如果不能够重现,对于复杂的系统,基本不可能通过静态分析找到问题,更何况是没有一点线索。

使用特权

评论回复
26
香水城| | 2010-9-13 16:42 | 只看该作者
再回顾了一下楼主位的问题,想问一下:你配置的系统时钟是多少?Flash的等待周期是多少?

如果两者配置不匹配,有可能出现楼主描述的现象。

使用特权

评论回复
27
wuwenfei1988| | 2010-9-13 17:16 | 只看该作者
还没碰到

使用特权

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

本版积分规则