OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8145|回复: 23

高手进,STM32F205+UCOSIII在客户现在运行1个半月死机了

[复制链接]

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
发表于 2022-2-21 15:15:22 | 显示全部楼层 |阅读模式
10金钱
死机不可怕,可怕的是不知道为啥死机,死在哪了。这个F205平台有没有像linux中coredump文件?coredump至少可以知道死在哪了。如果没有的话大家对死机问题都是怎么定位BUG的?

最佳答案

查看完整内容[请看2#楼]

没有的,阿莫论坛有人发过一个hardfault追踪方法,可以尝试下,但是你这个司机是死在哪里,得先知道, 是不是hardfault?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164867
金钱
164867
注册时间
2010-12-1
在线时间
2099 小时
发表于 2022-2-21 15:15:23 | 显示全部楼层
没有的,阿莫论坛有人发过一个hardfault追踪方法,可以尝试下,但是你这个司机是死在哪里,得先知道, 是不是hardfault?
回复

使用道具 举报

0

主题

465

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1716
金钱
1716
注册时间
2021-4-11
在线时间
317 小时
发表于 2022-2-21 15:20:00 | 显示全部楼层
帮顶            
回复

使用道具 举报

7

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
717
金钱
717
注册时间
2020-6-24
在线时间
239 小时
发表于 2022-2-22 09:26:40 | 显示全部楼层
小内存泄露积累导致hardfault可能
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2022-2-22 09:47:04 | 显示全部楼层
qq1198228505 发表于 2022-2-22 09:26
小内存泄露积累导致hardfault可能

已经证实不是内存泄漏引起的。我用了一个数组记录每块内存占用情况。每次malloc和free时都置这个数组标志,数组用了9成以上就会打印日志了。现在看没有打印日志,也就是没有内存泄漏。其实我想问的是一个系统的解决问题的方法,而不是通过猜。比如linux中有coredump,通过coredump就能知道程序死在哪了,STMF205有没有这样的东西,或者自己可以实现这样的功能也可以,但是没有方法或者示例。
回复

使用道具 举报

80

主题

932

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3337
金钱
3337
注册时间
2013-5-28
在线时间
467 小时
发表于 2022-2-24 08:09:29 | 显示全部楼层
就我所知UCOSII是有一个浮点数溢出的问题,不知道III是不是还有,关注下
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2022-2-24 09:28:16 | 显示全部楼层
正点原子 发表于 2022-2-24 01:24
没有的,阿莫论坛有人发过一个hardfault追踪方法,可以尝试下,但是你这个司机是死在哪里,得先知道, 是不 ...

ok,我先去查查你说的方法。
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2022-2-28 20:37:54 | 显示全部楼层
用工具cmbacktrace 搞定了
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2021-6-17
在线时间
1 小时
发表于 2022-3-29 15:28:09 | 显示全部楼层
楼主麻烦您分享一下F205中UCOSII实验1-1-任务调度程序吗
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-11-24
在线时间
4 小时
发表于 2022-6-8 16:29:12 来自手机 | 显示全部楼层
怎么解决的呢
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2022-7-15 09:38:23 | 显示全部楼层

多线程调用printf()造成死机
回复

使用道具 举报

0

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2020-6-23
在线时间
41 小时
发表于 2022-11-11 17:21:23 | 显示全部楼层
UCOS 多线程调用Printf有啥注意的地方吗,看了两个帖子,都是因为这个问题
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2023-1-11 16:02:37 | 显示全部楼层
13022000946 发表于 2022-11-11 17:21
UCOS 多线程调用Printf有啥注意的地方吗,看了两个帖子,都是因为这个问题

最后确定我这个不是printf引起的hardfault,
回复

使用道具 举报

19

主题

443

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4403
金钱
4403
注册时间
2017-7-6
在线时间
685 小时
发表于 2023-8-8 17:31:51 | 显示全部楼层
hanchaoman 发表于 2023-1-11 16:02
最后确定我这个不是printf引起的hardfault,

cmbacktrace这个需要工具吗?
我是小白,很白很白的小白!!!
回复

使用道具 举报

70

主题

6670

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12178
金钱
12178
注册时间
2012-11-26
在线时间
3638 小时
发表于 2023-8-8 20:08:11 | 显示全部楼层
程功之道 发表于 2023-8-8 17:31
cmbacktrace这个需要工具吗?

百度一下就知道了,也不是100%能锁定原因   之前也移植过cmbacktrace
学无止境
回复

使用道具 举报

19

主题

443

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4403
金钱
4403
注册时间
2017-7-6
在线时间
685 小时
发表于 2023-8-9 09:09:49 | 显示全部楼层
jermy_z 发表于 2023-8-8 20:08
百度一下就知道了,也不是100%能锁定原因   之前也移植过cmbacktrace

看了  还以为要啥外部工具,原来就是个软件工具啊
我是小白,很白很白的小白!!!
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2023-8-7
在线时间
2 小时
发表于 2023-8-9 15:43:08 | 显示全部楼层
我猜到了问题在哪,但不告诉你
回复

使用道具 举报

0

主题

13

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2022-3-15
在线时间
11 小时
发表于 2023-8-10 14:37:42 | 显示全部楼层
13022000946 发表于 2022-11-11 17:21
UCOS 多线程调用Printf有啥注意的地方吗,看了两个帖子,都是因为这个问题

调用printf的时候 需要先进入临界区 再调用printf 等printf结束后出临界区,也就是关闭任务调度
回复

使用道具 举报

5

主题

80

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
363
金钱
363
注册时间
2014-8-14
在线时间
95 小时
发表于 2023-8-11 14:24:42 | 显示全部楼层
taylor55 发表于 2023-8-10 14:37
调用printf的时候 需要先进入临界区 再调用printf 等printf结束后出临界区,也就是关闭任务调度

对于执行时间稍长的代码段,加锁比临界区更好
回复

使用道具 举报

3

主题

1906

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4095
金钱
4095
注册时间
2018-8-14
在线时间
694 小时
发表于 2023-8-12 11:22:57 | 显示全部楼层
我一般都不用打印的方式查错,因为它瞬间占用资源太大, 使用它的同时程序就已经不是原来状态
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2023-10-27 13:09:55 | 显示全部楼层
程功之道 发表于 2023-8-8 17:31
cmbacktrace这个需要工具吗?

需要需要需要需要需要需要
回复

使用道具 举报

0

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
349
金钱
349
注册时间
2021-4-8
在线时间
30 小时
发表于 2023-12-16 14:31:35 | 显示全部楼层
hanchaoman 发表于 2022-7-15 09:38
多线程调用printf()造成死机

正式运行都不关打印的?
回复

使用道具 举报

16

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2017-6-8
在线时间
33 小时
 楼主| 发表于 2024-1-31 16:17:45 | 显示全部楼层
edmund1234 发表于 2023-8-12 11:22
我一般都不用打印的方式查错,因为它瞬间占用资源太大, 使用它的同时程序就已经不是原来状态

那用什么方式?
回复

使用道具 举报

25

主题

686

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1342
金钱
1342
注册时间
2012-4-25
在线时间
193 小时
发表于 2024-4-25 13:27:28 | 显示全部楼层

死机和运行时间有关系?,死机只能说明你程序有BUG,刚好在某在条件下触发了你的BUG,
如果一直触发BUG你运行不了1分钟
1-1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-15 16:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表