Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1347378
  • 博文数量: 206
  • 博客积分: 10571
  • 博客等级: 上将
  • 技术积分: 2610
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-30 11:50
文章分类
文章存档

2014年(1)

2013年(4)

2012年(18)

2010年(14)

2009年(31)

2008年(3)

2007年(135)

分类: LINUX

2007-04-30 14:40:03

嵌入式Linux 在windows中编译vivi

             在cygwin中编译vivi
    
  FriendlyARM 
    
  在Windows中编译vivi,您需要安装cygwin和相应的arm-linux编译工具链。 
  要在Windows中安装cygwin,请参考“cygwin完全安装指南 ” 
  安装arm-linux编译工具链,请参考“如何在Windwos上建立arm-linux开发环境 ” 

--------------------------------------------------------------------------------
 
    
  1. 可能用到的文件列表(可下载) 
  2. 设置库的路径 
  3. 配置vivi 
  4. 编译vivi 
  5. 常见编译错误 
    
  注:请确保/friendly-arm目录下已经解压内核源代码,即存在/friendly-arm/kernel目录。 

--------------------------------------------------------------------------------
 
    
  1. 可能用到的文件列表(可下载) 
    
  vivi_cygwin.tgz - cygwin下vivi的源代码 
  vivi_preconfig.tgz - vivi预配置的预配置文件 
    

--------------------------------------------------------------------------------
 
    
  2. 设置库的路径 
  要在cygwin中正确编译vivi,需要设置好编译器的路径,如下图所示:  
     
    
    

--------------------------------------------------------------------------------
 
    
  3. 配置vivi 
    
  (1)在vivi目录下解压预配置文件:
$tar xvzf vivi_preconfig.tgz
运行make menuconfig可以开始配置vivi,如图所示为vivi配置主菜单,选择“Load an Alternate Configuration File”载入预配置。  
    
    
  vivi配置主菜单 
    
  (2) 输入预配置文件的名字config.freindlyarm  
  在对话框中输入config.friendlyarm,然后保存退出。  
   
  输入config.friendlyarm 
    

--------------------------------------------------------------------------------
 
    
  4. 编译vivi 
    
  运行make开始编译vivi,最后在当前目录下生成vivi 
    

--------------------------------------------------------------------------------
 
    
  5. 常见的错误 
    
  (1)链接错误 
  错误信息如下: 
  arm-linux-ld -r -o s3c2410.o nand_read.o mmu.o proc.o smdk.o
make[2]: Leaving directory `/friendly-arm/vivi/arch/s3c2410’
make[1]: Leaving directory `/friendly-arm/vivi/arch/s3c2410’
arm-linux-gcc -D__ASSEMBLY__ -I/friendly-arm/vivi/include -I/friendly-arm/kernel/include/ -mapcs-32 -mno-fpu -msoft-float -c -o arch/s3c2410/head.o arch/s3c2410/head.S
arm-linux-ld -v -Tarch/vivi.lds -Bstatic \
arch/s3c2410/head.o \
arch/s3c2410/s3c2410.o init/main.o init/version.o lib/lib.o \
drivers/serial/serial.o drivers/mtd/mtd.o \
lib/priv_data/priv_data.o \
-o vivi-elf -L/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3 -lgcc -lc
GNU ld version 2.15
arm-linux-ld: cannot find -lgcc
make: *** [vivi] Error 1 
  分析:这是因为您没有设置好libgcc库的路径,请参考前面第2步正确设置库的路径 
    
  (2)缺少头文件 
  错误信息如下: 
  make[2]: Entering directory `/friendly-arm/vivi/lib’
arm-linux-gcc -I/friendly-arm/vivi/include -I/friendly-arm/kernel/include/ -Wall -Wstrict-prototypes -O2 -fPIC -fomit-frame-pointer -mapcs-32 -mshort-load-bytes -msoft-float -c -o boot_kernel.o boot_kernel.c
boot_kernel.c: In function `setup_linux_param’:
boot_kernel.c:188: sizeof applied to an incomplete type
boot_kernel.c:188: sizeof applied to an incomplete type
boot_kernel.c:191: dereferencing pointer to incomplete type
boot_kernel.c:192: dereferencing pointer to incomplete type
boot_kernel.c:215: dereferencing pointer to incomplete type
make[2]: *** [boot_kernel.o] Error 1
make[2]: Leaving directory `/friendly-arm/vivi/lib’
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/friendly-arm/vivi/lib’
make: *** [_dir_lib] Error 2 
  分析:这是因为您没有在/friendly-arm目录下解压内核源代码,vivi编译的时候需要里面的头文件,请先在/friendly-arm目录下解压内核 

阅读(2642) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~