在用arm-linux-gcc进行裸机程序开发,在用arm-linux-ld链接的时候出现了如下错误:
arm-linux-ld: BFD 2.14.90 20030820 assertion fail ../../binutils-head/bfd/elf32-arm.h:3546
make: *** [a] Segmentation fault (core dumped)
但却找不到elf32-arm.h文件
我的程序代码如下:
void say_hello(void)
{
char *i;
char str1[10];
strcpy(str1,"hello");
i=str1;
while(*i!=0)
{
UTXH0=*i;
i++;
}
}
在使用C库的strcpy时候出现了错误,而不使用的时候则完全没有问题。裸机程序是不是不可以用C库函数啊?
网上说是指针问题等等,但好像也不是啊。难道像strcpy这样的库函数必须得要自己写么.
求高手解救。。。。。
程序开发
------解决方案--------------------
裸机程序不能引用libc库的内容
------解决方案--------------------
裸机什么都没有 没有操作系统没有bootloader...裸机程序是以一段汇编代码开始的 像bootloader那样。
------解决方案--------------------
可以去内核里找到函数原型 copy一下
------解决方案--------------------
裸机能够这样编译连接吗