[STM32F1] Keil Arm中使用malloc函数的方法

[复制链接]
1180|7
 楼主| averyleigh 发表于 2024-9-22 22:00 | 显示全部楼层 |阅读模式
Keil Arm中使用malloc函数的方法:
1、需要使用微库:Arm中使用malloc函数的方法" TITLE="Keil Arm中使用malloc函数的方法" />
如果不选用微库的话会报错,例如:.\Output\SaiWu.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced
2、在所使用的C文件中包含stdlib.h,笔者发现不包含也不会报错,可能是笔者其它头文件包含了
没注意吧,由于头文件众多,笔者就不细找了,总之如果报错就包含stdlib.h就可以了。
3、到了这里就已经可以使用malloc函数了,但是不能分配较大的内存,是因为KEIL中默认给heap(分配了很小的内存),笔者使用STM32F103单片机中的启动文件为heap默认分配了512字节的内存(可能不同的单片机默认分配的不同)如下图:
Arm中使用malloc函数的方法" TITLE="Keil Arm中使用malloc函数的方法" />

笔者将其修改为 10K大小,方便使用,至于在具体环境中如何给heap分配大小,请读者自行考虑
rm中使用malloc函数的方法" TITLE="Keil Arm中使用malloc函数的方法" />
注:启动文件就是单片机对应的启动文件,一篇是KEIL自带的,或者在对应官方网站下载,笔者的启动文件就是
startup_st32f10x.hd.s


qn7a12 发表于 2024-9-23 18:26 来自手机 | 显示全部楼层
到了这里就已经可以使用malloc函数
szt1993 发表于 2024-9-24 08:44 | 显示全部楼层
一般keil使用微库比较多
鱿鱼丝 发表于 2024-9-26 17:36 来自手机 | 显示全部楼层
笔者发现不包含也不会报错,可能是笔者其它头文件包含了
4y1b3 发表于 2024-9-26 17:38 来自手机 | 显示全部楼层
由于头文件众多,笔者就不细找了
lvuu 发表于 2024-9-29 23:04 来自手机 | 显示全部楼层
笔者将其修改为 10K大小,方便使用,至于在具体环境
qn7a12 发表于 2024-9-29 23:15 来自手机 | 显示全部楼层
可能不同的单片机默认分配的不同
g36xcv 发表于 2024-9-30 12:29 来自手机 | 显示全部楼层
rm中使用malloc函数的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

1525

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部