【发布时间】:2011-08-11 11:41:59
【问题描述】:
我遇到了_sbrk 的问题。在编译的链接阶段,我使用下面的命令来链接我的对象,我得到了对 _sbrk 的未定义引用。
arm-none-eabi-ld -static -T linkerscript.ld -o exe timer_example.o /home/ziga/projects/cs_lite/arm-none-eabi/lib/libc.a /home/ziga/projects/cs_lite/lib/gcc/arm-none-eabi/4.5.1/libgcc.a
我正在为 arm926ej-s 和 ARM 模式编译,所以我认为我选择了正确的 multilib(libc.a 和 libgcc.a),它位于文件夹home/ziga/projects/cs_lite/arm-none-eabi/lib/。
我一直在互联网上搜索_sbrk 函数,它是某种内存管理调用,不包含在标准 C 库中,因为它依赖于微处理器。那么我必须自己编写_sbrk 函数吗?我该怎么做?你有 arm926ej-s 的例子吗?编写完这个函数后,我打算将它编译成一个目标文件,并将它与其他对象、库链接在一起。
【问题讨论】: