树莓派开发(四)

libc跟heap移植过程小小结

Posted by 婷 on January 2, 2025 本文总阅读量

简介

主要说下baremetalC库适配,分为两部分,一部分是libc,一部分是heap算法

编译

Makefile中增加-nostdlib选项,即可不使用编译工具链中自带的C

image-20241230233438733

libc

libc是从ATF中移植的,参考的libc链接为,这里的重点就是printf的适配,以及相关的console结构体的适配

https://github.com/ARM-software/arm-trusted-firmware/tree/master/lib/libc

参考的移植过程可以从upload atf libc file这部分提交开始看起来

image-20250102215522876

heap

heap的移植主要是实现malloc等堆内存的相关接口,移植参考链接为little kernellib/heap

https://github.com/littlekernel/lk/tree/master/lib/heap

参考链接