打印
[STM32F1]

Keil Arm中使用malloc函数的方法

[复制链接]
388|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 | 只看该作者
笔者发现不包含也不会报错,可能是笔者其它头文件包含了

使用特权

评论回复
5
4y1b3| | 2024-9-26 17:38 | 只看该作者
由于头文件众多,笔者就不细找了

使用特权

评论回复
6
lvuu| | 2024-9-29 23:04 | 只看该作者
笔者将其修改为 10K大小,方便使用,至于在具体环境

使用特权

评论回复
7
qn7a12| | 2024-9-29 23:15 | 只看该作者
可能不同的单片机默认分配的不同

使用特权

评论回复
8
g36xcv| | 2024-9-30 12:29 | 只看该作者
rm中使用malloc函数的方法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

1254

帖子

3

粉丝