zoukankan      html  css  js  c++  java
  • arm-linux-gcc 4.3.2编译uboot 1.1.6

    在第三期项目的视频中,官方提供了一整套新的工具链,bootloader, 内核和文件系统(arm-linux-gcc_4.3.2, uboot-2012.04.01, linux-3.4.2)其中uboot-2012.04.01来源于毕业班,其下载烧写功能远不如uboot-1.1.6,因此我更偏向于使用老版的Uboot。但是第三期的工具链却无法直接编译uboot-1.1.6, 现在将解决这一问题。

    方法一
    1.修改uboot1.1.6/Makefile文件中的PLATFORM_LIBS

    PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
    修改成: 
    PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lc -L /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib

    2.修改 uboot1.1.6/cpu/arm920t/config.mk 文件

    PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) 
    PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))

    修改成:

    PLATFORM_CPPFLAGS +=$(call cc-option,) 
    PLATFORM_RELFLAGS +=$(call cc-option,$(call cc-option,))

    然后make clean 清除掉以前编译留下的中间文件再次编译即可。

    方法二

    PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
    修改成: 
    PLATFORM_LIBS +=

    然后编译,
    等出错时,它提示说在nand_utils.c中找不到udivdi,这对应代码中是一个除法:(unsigned long long) xxx/ yyy; 
    把(unsigned long long)  
    改为 (unsigned long )

    然后重新make。

  • 相关阅读:
    记住密码
    winform 更新服务器程序
    asp.net TreeView
    asp.net excel导出红色字体
    asp.net 图表
    图数据存储初见
    在windows下安装hadoop
    R 语言实现牛顿下降法
    蛇形矩阵
    算法竞赛入门经典习题2-6 排列(permutation)
  • 原文地址:https://www.cnblogs.com/weidongshan/p/6689778.html
Copyright © 2011-2022 走看看