专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

uclinux编译

作者:佚名   来源:本站原创   点击数:  更新时间:2010年12月30日   【字体:

今天终于开始了传说中的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还运行不了,再看看吧,要吃饭去了
 

关闭窗口

相关文章