arm-linux-gcc 编裸机程序时,ld 时突蹦出这么一条 error ,指向的正是除法指令,arm920t,是armv4,其并不支持除法指令,但是却支持软浮点,嘿嘿,说白了就是一个模拟除法的静态库,那这个函数在哪儿? 谷歌发现,是 libgcc.a 库
$ su -i
# find / -name 'libgcc.a' -exec dirname {} ; > ~/libpath
...
# vim Makefile
修改添加LIBPATH
最后的命令行大致是如此
arm-linux-ld -Ttext 0xxxxxx -g start.o xxx.o xxxx.o -o xxx.elf -static -L (你刚才找到的libpath文件中的路径)
# make all
还是迸出一个error ,找不到 raise 函数,那添加一个即可
void raise (int sig_nr)
{
;
}
# make all
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。