出处 http://blog.sina.com.cn/s/blog_a189aca10102vabo.html
Keil Arm中使用malloc函数的方法:
1、需要使用微库:
如果不选用微库的话会报错,例如:.\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字节的内存(可能不同的单片机默认分配的不同)如下图:
笔者将其修改为 10K大小,方便使用,至于在具体环境中如何给heap分配大小,请读者自行考虑
注:启动文件就是单片机对应的启动文件,一篇是KEIL自带的,或者在对应官方网站下载,笔者的启动文件就是
startup_st32f10x.hd.s
经过上面3个步骤,就可以愉快的在keil中使用malloc函数了,当然如果读者你有其他方法,请给笔者留言,求分享,如果文中有误,请留言给笔者修改。
分享:
来源网络,如有侵犯到您的权益请联系进行下架处理
标签:malloc,Keil,单片机,报错,使用,笔者,Arm From: https://www.cnblogs.com/flintlovesam/p/17295741.html