OpenEdv-开源电子网

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

关于STM32F103使用MALLOC函数申请动态内存持续写入系统死机问题

[复制链接]

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
发表于 2017-12-22 09:07:10 | 显示全部楼层 |阅读模式
1金钱
本人与使用循环队列对串口接收到的数据进行处理,但是在数据持续入队2300多个字节数据后单片机死了,00字节数据内入队出队均无问题,打印出内存地址也能循环写入,如果把系统堆区大小放大,数据入队能多一些,求大神帮忙。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-22 09:29:53 | 显示全部楼层
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-12-22 09:35:34 | 显示全部楼层
不懂帮顶
回复

使用道具 举报

1

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
286
金钱
286
注册时间
2017-5-15
在线时间
42 小时
发表于 2017-12-22 09:43:21 | 显示全部楼层
最好申请了就不要释放,一直用那点内存
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-22 09:45:03 | 显示全部楼层
板板 发表于 2017-12-22 09:43
最好申请了就不要释放,一直用那点内存

就是一直用的 ,没释放,就用了一次
申请固定结构体大小
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-22 09:46:15 | 显示全部楼层
本帖最后由 冲天菜鸟 于 2017-12-22 09:47 编辑
冲天菜鸟 发表于 2017-12-22 09:45
就是一直用的 ,没释放,就用了一次
申请固定结构体大小

//结构体
typedef struct
{
    u8 data[N];  //±£′æ½óêÕμÄêy¾Y
    u8 front;
    u8 rear;  
}sequeue_t;
//申请内存
sequeue_t * create_empty_sequeue()
{
    sequeue_t * sq;
    //sq = (sequeue_t *)malloc(sizeof(sequeue_t));
          sq = mymalloc(sramx,sizeof(sequeue_t));
    sq->front = sq->rear = 0;
    return sq;
}//判断队列是否空
u8 check_seqeue_empty(sequeue_t * sq)
{
    return (sq->front == sq->rear);
}
//入队
u8 enqueue(sequeue_t *sq ,u8 val)
{
    sq->rear = (sq->rear+1) % (N-1);
    sq->data[sq->rear] = val;
         
    return 0;
}
//出队
u8 dequeue(sequeue_t * sq)
{
    u8 val = 0;
    sq->front = (sq->front+1) % (N-1);
    val = sq->data[sq->front] ;
          printf("p| %p ",&(sq->data[sq->front]));
    return val;
}
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-22 12:28:01 | 显示全部楼层
顶顶顶顶顶
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-23 01:00:52 | 显示全部楼层
八成是写入溢出了,加入一些printf,观察下吧
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-26 15:15:26 | 显示全部楼层
正点原子 发表于 2017-12-23 01:00
八成是写入溢出了,加入一些printf,观察下吧

把所有地址打出来了,地址是循环的,但是在循环一定次数后系统就会卡死
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-26 16:22:32 | 显示全部楼层

地址打印

p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe p| 2000b1ff p| 2000b200 p| 2000b201 p| 2000b202 p| 2000b203 p| 2000b204 p| 2000b205 p| 2000b206 p| 2000b207 p| 2000b208 p| 2000b209 p| 2000b20a p| 2000b20b p| 2000b20c p| 2000b20d p| 2000b20e p| 2000b20f p| 2000b210 p| 2000b211 p| 2000b212 p| 2000b213 p| 2000b214 p| 2000b215 p| 2000b216 p| 2000b217 p| 2000b218 p| 2000b219 p| 2000b21a p| 2000b21b p| 2000b21c p| 2000b21d p| 2000b21e p| 2000b1e0 p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2000b1e9 p| 2000b1ea p| 2000b1eb p| 2000b1ec p| 2000b1ed p| 2000b1ee p| 2000b1ef p| 2000b1f0 p| 2000b1f1 p| 2000b1f2 p| 2000b1f3 p| 2000b1f4 p| 2000b1f5 p| 2000b1f6 p| 2000b1f7 p| 2000b1f8 p| 2000b1f9 p| 2000b1fa p| 2000b1fb p| 2000b1fc p| 2000b1fd p| 2000b1fe
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2017-12-22
在线时间
8 小时
 楼主| 发表于 2017-12-26 16:33:17 | 显示全部楼层
顶顶顶顶顶顶顶顶顶
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-12-26 17:17:31 | 显示全部楼层
板板 发表于 2017-12-22 09:43
最好申请了就不要释放,一直用那点内存

申请内存 不放,有什么意义,不如直接静态声明.
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-27 01:17:20 | 显示全部楼层
冲天菜鸟 发表于 2017-12-26 16:22
p| 2000b1e1 p| 2000b1e2 p| 2000b1e3 p| 2000b1e4 p| 2000b1e5 p| 2000b1e6 p| 2000b1e7 p| 2000b1e8 p| 2 ...

如果申请返回0,那就是没得了。
另外,打印一次换一行吧,你这看着太痛苦了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2018-2-28
在线时间
16 小时
发表于 2018-11-5 13:48:14 | 显示全部楼层
总感觉你是没有及时释放造成的,用完记得free();应该没有问题的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-5 21:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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