OpenEdv-开源电子网

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

stm32f429+ucosiii+lwip 用外部内存时,进入hardfault

[复制链接]

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2020-11-12
在线时间
78 小时
发表于 2022-4-6 16:29:33 | 显示全部楼层 |阅读模式
网络实验11 NETCONN_TCP 客户端(UCOSIII版本)中:

u8 lwip_comm_mem_malloc(void)
{
u32 mempsize;
u32 ramheapsize;
mempsize=memp_get_memorysize();   //得到memp_memory数组大小
printf("mempsize=%d\r\n",mempsize);

memp_memory=mymalloc(SRAMEX,mempsize); //为memp_memory申请内存
//memp_memory=mymalloc(SRAMEX,mempsize); //为memp_memory申请内存
printf("memp_memory=%0x\r\n",memp_memory);


当使用:memp_memory=mymalloc(SRAMEX,mempsize); //为memp_memory申请内存,程序运行就会进入hardfault
memp_memory=mymalloc(SRAMIN,mempsize);  //为memp_memory申请内存,程序运行正常

不知是什么原因,有没有哪个知道是为什么的。谢谢!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

644

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1995
金钱
1995
注册时间
2021-4-16
在线时间
509 小时
发表于 2022-4-7 10:24:26 | 显示全部楼层
检查下你的sram是否还有足够的空间去被你申请当前所需的容量。
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2020-11-12
在线时间
78 小时
 楼主| 发表于 2022-4-7 10:37:38 | 显示全部楼层
疾如风 发表于 2022-4-7 10:24
检查下你的sram是否还有足够的空间去被你申请当前所需的容量。

是在购买的阿波罗开发板上,运行正点原子提供的例程。内存的足够多的。
回复 支持 反对

使用道具 举报

13

主题

644

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1995
金钱
1995
注册时间
2021-4-16
在线时间
509 小时
发表于 2022-4-7 10:43:01 | 显示全部楼层
那你测试看看申请一个尽量小的内存看看能不能成功咯,用完记得释放掉。
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2020-11-12
在线时间
78 小时
 楼主| 发表于 2022-4-7 11:25:05 | 显示全部楼层
疾如风 发表于 2022-4-7 10:43
那你测试看看申请一个尽量小的内存看看能不能成功咯,用完记得释放掉。

申请都是成功的
回复 支持 反对

使用道具 举报

5

主题

134

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1793
金钱
1793
注册时间
2015-3-13
在线时间
273 小时
发表于 2022-8-1 17:29:04 来自手机 | 显示全部楼层
楼主的问题解决了没? 我也是程序运行进入hardfault
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-8 01:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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