OpenEdv-开源电子网

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

STM32F4+FreeRTOS+lwip程序跑飞问题求助

[复制链接]

9

主题

41

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-3-15
在线时间
33 小时
发表于 2018-3-5 11:42:03 | 显示全部楼层 |阅读模式
15金钱
        将开发板放在室外测试,过了一段时间(超过2天),程序跑飞,开发板死机,放在室内测试运行超过半个月都没有问题,请问这个问题如何查找原因?随便求问有没有好的办法获取STM32在运行过程中的内存使用率,我担心可能会有内存泄漏的问题,希望大家不吝赐教,谢谢了

最佳答案

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

可以试试// uint8_t pcWriteBuffer[500]; pvParameters=pvParameters; // float temp=0.0f; uint16_t i=0; float V_res; float ADC2temp=0; T_Adc_Init(); InitADC(); while(1) { // temp=T_Get_Temp(); // // PRINTF("\n\r"); // PRINTF("D¾Æ¬Î¶èÖμÎa:%4.2f\n",temp); // PRINTF("\n\r"); IWDG_Feed(); // DPRINTF("=============== ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11471
金钱
11471
注册时间
2013-3-8
在线时间
1226 小时
发表于 2018-3-5 11:42:04 | 显示全部楼层
可以试试//        uint8_t pcWriteBuffer[500];
        pvParameters=pvParameters;
//        float temp=0.0f;

       
        uint16_t i=0;
        float V_res;   
        float ADC2temp=0;
        T_Adc_Init();
        InitADC();
        while(1)
        {

//                temp=T_Get_Temp();
//               
//                PRINTF("\n\r");
//          PRINTF("D¾Æ¬Î¶èÖμÎa:%4.2f\n",temp);
//                PRINTF("\n\r");
               
                IWDG_Feed();
//                DPRINTF("=================================================\r\n");
//                DPRINTF("èÎÎñÃû      èÎÎñ×′ì¬ óÅÏ輶   ê£óàÕ» èÎÎñDòoÅ\r\n");
//                vTaskList((char *)&pcWriteBuffer);
//                DPRINTF("%s\r\n", pcWriteBuffer);
//       
//                DPRINTF("\r\nèÎÎñÃû       ÔËDD¼Æêy         ê1óÃÂê\r\n");
//                vTaskGetRunTimeStats((char *)&pcWriteBuffer);
//                DPRINTF("%s\r\n", pcWriteBuffer);

看被屏蔽的部分
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11471
金钱
11471
注册时间
2013-3-8
在线时间
1226 小时
发表于 2018-3-5 13:30:36 | 显示全部楼层
一般都是堆栈出问题,容易跑飞死机。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11471
金钱
11471
注册时间
2013-3-8
在线时间
1226 小时
发表于 2018-3-5 13:33:56 | 显示全部楼层
E:\1.png
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11471
金钱
11471
注册时间
2013-3-8
在线时间
1226 小时
发表于 2018-3-5 13:34:30 | 显示全部楼层
看图片吧
1.png
回复

使用道具 举报

9

主题

41

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-3-15
在线时间
33 小时
 楼主| 发表于 2018-3-5 13:55:25 | 显示全部楼层

谢谢您的回复,您说的方法我之前已经实现了,但是这种方法只能检测线程栈会不会出现溢出问题,没有办法动态查看整个系统的ram使用情况,所以也无法知道整个系统是否存在内存泄漏的问题
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-3-6 00:47:03 | 显示全部楼层
veblen 发表于 2018-3-5 13:55
谢谢您的回复,您说的方法我之前已经实现了,但是这种方法只能检测线程栈会不会出现溢出问题,没有办法动 ...

可以试试隔一段时间打印内存剩余量,然后观察一天,看变化规律,基本可以确定是否 有泄漏了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

41

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-3-15
在线时间
33 小时
 楼主| 发表于 2018-3-6 10:58:45 | 显示全部楼层
正点原子 发表于 2018-3-6 00:47
可以试试隔一段时间打印内存剩余量,然后观察一天,看变化规律,基本可以确定是否 有泄漏了

原子哥,怎么计算系统的内存剩余量呢?有什么好的方法或者链接分享下,谢谢了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 21:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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