微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > uclinux编译

uclinux编译

时间:11-29 来源:互联网 点击:
今天终于开始了传说中的uclinux移植了。搞了一上午,才编译出个默认配置的image.bin,哎,太受打击了~~

在网上找的一些内核配置资料一点用也没有,只会增加麻烦。编译的时候,不是这里出错,就是那里没发现的,哎,~~ 最后还是在官网上找到一条路:除了配置符合厂商的板子外,其他全用默认的配置~~结果编译的时候还是出了两个错误。在用了3万2千1百9十9招google之后,终于解决了,如下:

错误1:

/usr/local/bin/arm-elf-ld.real: cannot open romfs.o: No such file or directory
make[1]: *** [linux] Error 1
解决办法
cp ./linux-2.4.x/fs/romfs/romfs.o ./linux-2.4.x/

错误2:
s/fs.o(.data+0x15f0): In function `sys_open:
/curret1/uClinux-dist/linux-2.4.x/fs/open.c:805: multiple definition of `romfs_file_operations
romfs.o(.data+0x80):/curret1/uClinux-dist/linux-2.4.x/fs/romfs/inode.c:107:第一次在此定义
make[1]: *** [linux] 错误 1
make[1]: Leaving directory `/curret1/uClinux-dist/linux-2.4.x
make: *** [linux] 错误 1

解决办法
在 ~/uClinux-dist/linux-2.4.x/fs/romfs/inode.c的
static(这地方没有加上) struct file_operations romfs_file_operations = {

read: generic_file_read,

mmap: generic_file_mmap,

#ifdef MAGIC_ROM_PTR

开头加上static 问题就解决

  真是搞不懂,怎么会出这样的错误,而且自己还发现居然有一个文件里的函数少半边括号的错误

也不知道是怎么搞的,哎~~~

  总之吧,这个肯定是要花不少时候的 貌似生成的这个image.bin还运行不了,再看看吧,要吃饭去了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top