打印

STM32F205芯片目前稳定性不佳 --- 看来还是处于工程样片阶段

[复制链接]
16316|45
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
simple_head|  楼主 | 2011-1-5 20:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做了个205的板子,跑个RTX操作系统的小测试程序,发现MUTEX操作会引起S机。(同样的测试程序在105上跑,非常稳定)。

有玩RTX的同学来聊聊?
沙发
香水城| | 2011-1-6 10:10 | 只看该作者
请问:
1)CPU主频设置的是多少?是否与STM32F105一致? 要知道当程序运行时序改变之后,很多程序要进行调试才能稳定地工作。

2)你认为MUTEX操作会引起S机是由于芯片稳定性不佳导致的,有什么具体依据?

使用特权

评论回复
板凳
IJK| | 2011-1-6 12:15 | 只看该作者
是吗?
STM32F207跑uCOS II还行。LZ用的是什么版本的STM32F205样片?

使用特权

评论回复
地板
simple_head|  楼主 | 2011-1-6 13:38 | 只看该作者
我所谓"(同样的测试程序在105上跑,非常稳定)"当然是指RCC配制对不同的CPU处理是不一样的.

使用特权

评论回复
5
simple_head|  楼主 | 2011-1-6 13:41 | 只看该作者
107上跑的程序: 主频配置为72MHz, 一共3个task, 第一个task优先级最高:

    while(1)
    {
        UsDelay(100);
        os_dly_wait(1);
    };

第2个task和第3个task优先级一样,操作也完全一样:
    while(1)
    {
        tsk_lock ();
        os_mut_wait(MutLcd,800);
        MsDelay(3);
        os_mut_release(MutLcd);
        tsk_unlock ();

        MsDelay(3);
        os_dly_wait(1);
    };

此程序在107上跑,很稳定.

此程序的RCC配制部分更换为205,配制主频为96MHz,运行后1妙死机.




如果将第2个task和第3个task中的2个MsDelay(3)全部改为MsDelay(2),那么205运行也不会死机.

如果将第2个task和第3个task中的os_mut_wait和os_mut_release删除,(保持MsDelay(3)不变),那么205运行也不会死机.

使用特权

评论回复
6
香水城| | 2011-1-6 14:15 | 只看该作者
我不是说你的RCC配置有问题。我是说这个RTX操作系统是否适合在更高时钟频率下运行?移植是否正确?

你的测试好像不足以证明是芯片稳定性不佳,很多软件的情况都会导致这样的结果。

使用特权

评论回复
7
simple_head|  楼主 | 2011-1-6 14:46 | 只看该作者
"我是说这个RTX操作系统是否适合在更高时钟频率下运行?" --- RTX没有理由在72MHz可以工作而96MHz不可以稳定工作.

或许应该这样说,205不稳定地支持RTX. (RTX是KEIL MDK自带的小OS,不用移植,直接加入其Lib文件即可)

使用特权

评论回复
8
wu0232| | 2011-1-6 15:03 | 只看该作者
F200的芯片都有了啊,申请的样片?

使用特权

评论回复
9
香水城| | 2011-1-6 15:35 | 只看该作者
"我是说这个RTX操作系统是否适合在更高时钟频率下运行?" --- RTX没有理由在72MHz可以工作而96MHz不可以稳定工作.

或许应该这样说,205不稳定地支持RTX. (RTX是KEIL MDK自带的小OS,不用移植,直接加入其Lib文件即可) ...
simple_head 发表于 2011-1-6 14:46


作为一个软件,当然有理由能够在较低主频下运行,而在较高主频时出问题。最简单的例子就是:程序中有软件延迟时,主频变了延迟的时间也跟着变了。

作为操作系统来说,与硬件最为相关的就是时钟和中断;虽然STM32F2的时钟构造与STM32F1相同,但时基却不一样。

你可以说205不能稳定地支持RTX,但需要拿出有说服力的证据证明是硬件的问题,而不是软件的问题,否则只是猜测而不能下结论。

使用特权

评论回复
10
simple_head|  楼主 | 2011-1-6 15:47 | 只看该作者
205上面运行我的RTX测试程序,有时是0.5s后死机,有时是1.x秒后死机. 死亡时间不定.

"否则只是猜测而不能下结论"  ------ 我目前当然是猜测,但是我感觉离"结论"也不远了

使用特权

评论回复
11
Simon21ic| | 2011-1-6 15:50 | 只看该作者
不会吧。。。。今天刚刚下了205的样片订单。。。。。。
查出原因了不?

使用特权

评论回复
12
pkat| | 2011-1-6 16:23 | 只看该作者
暂时还没碰到楼主的问题

使用特权

评论回复
13
youku| | 2011-1-6 17:59 | 只看该作者
这个RTX好用不?是不是类似51上的那个RTX啊??

使用特权

评论回复
14
c126| | 2011-1-7 08:37 | 只看该作者
学些

使用特权

评论回复
15
IJK| | 2011-1-7 09:31 | 只看该作者
本帖最后由 IJK 于 2011-1-7 09:32 编辑

在我看来,MUTEX操作并不会使用特殊的硬件,MUTEX操作只用到开、关中断以及用到SRAM中的变量。所以把死机归咎于MUTEX操作似乎欠妥。

另外,我的STM32F207样片(用的是RevA的样片,我估计LZ用的也是RevA的样片)跑uCOS II还行,至少10几分钟没有问题,当然我没使用MUTEX操作,但我认为这无关紧要。

如果方便,LZ可以发个目标bin代码上来,可以做同样多的task,task里只是翻转GPIO,我可以在自己的板上看看是不是也会死机-我估计不会死机。

使用特权

评论回复
16
simple_head|  楼主 | 2011-1-7 14:07 | 只看该作者
楼上的:

我先前说的那个只做3ms延迟的RTX测试程序,在脱离仿真器后,在205上是稳定运行的,但是带上仿真器就真的只能运行1~2妙钟.那么这个程序的死机问题就归咎于仿真器了.

然后我又做了一个稍微复杂一点的RTX多任务测试,这次每个任务中都带有一些GPIO操作(实际上是写LCD屏的操作). 这次不管有没有带仿真器运行,都会死机,有时1妙死,有时10妙后死.这个程序的BIN我已经发给你.

使用特权

评论回复
17
simple_head|  楼主 | 2011-1-7 14:10 | 只看该作者
O shit!
我该怎么发你附件? 难道重开一帖子?

使用特权

评论回复
18
香水城| | 2011-1-7 14:17 | 只看该作者
O shit!
我该怎么发你附件? 难道重开一帖子?
simple_head 发表于 2011-1-7 14:10


高级回复中可以添加附件。

使用特权

评论回复
19
simple_head|  楼主 | 2011-1-7 16:10 | 只看该作者
IJK:
请试一下这个BIN,起功能如下: 用RXT创建了4个线程,每个线程都进行一些GPIO操作(其实是写LCD). 不管带不带仿真器,运行后几秒种后死机(每次存活时间不定).

你可以监视GPIOA0~3,GPIOC0~3,看这些引脚有没有活动来判断死机没有.

EpwPla1.rar

30.61 KB

使用特权

评论回复
20
rockli| | 2011-1-7 20:59 | 只看该作者
这顶多说rtx的移植或者keil对205这个芯片的支持不稳定,不能说芯片有问题吧

使用特权

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

本版积分规则

13

主题

117

帖子

0

粉丝