免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1792 | 回复: 0
打印 上一主题 下一主题

[BootLoader] u-boot-2011.09 编译出错 [复制链接]

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-21 22:57 |只看该作者 |倒序浏览
小弟自己编译u-boot-2011.09版本, 原始版本里有smdk6400没有smdk6410版本。 小弟自己想自己建一个smdk6410版本,我就按照smdk6400版本山寨了一个smdk6410版本, 不知道为什么编译lowlevel_init.S文件出问题, 但是编译smdk6400版本就没有问题,还望大哥们帮忙解答一下。小弟先谢过了。
arm-linux-gcc:    gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-70)
班机是suse 11.04版本

arm-linux-gcc   -D__ASSEMBLY__ -g  -Os   -fno-common -ffixed-r8 -msoft-float  -fno-common -ffixed-r8 -msoft-float  -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x57e00000 -I/home/coco/kernel/source/u-boot-2011.09/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/arm-2011.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/include -pipe  -DCONFIG_ARM -D__ARM__ -marm  -mabi=aapcs-linux -mno-thumb-interwork -march=armv5t -march=armv5t   -o lowlevel_init.o lowlevel_init.S -c
lowlevel_init.S: Assembler messages:
lowlevel_init.S:219: Error: constant expression expected -- `ldr r1,=((1<<31)|(STARTUP_AMDIV<<16)|(STARTUP_PDIV<<|STARTUP_SDIV)'
lowlevel_init.S:221: Error: constant expression expected -- `ldr r1,=((1<<31)|(STARTUP_MDIV<<16)|(STARTUP_PDIV<<|STARTUP_SDIV)'
make[1]: *** [lowlevel_init.o] Error 1

make[1]: Leaving directory `/home/coco/kernel/source/u-boot-2011.09/board/samsung/smdk6410'
make: *** [board/samsung/smdk6410/libsmdk6410.o] Error 2

/u-boot-2011.09/board/samsung/smdk6410/lowlevel_init.S  出错的地方
        /* Set Clock Divider */
        ldr     r1, [r0, #CLK_DIV0_OFFSET]
        bic     r1, r1, #0x30000
        bic     r1, r1, #0xff00
        bic     r1, r1, #0xff
        ldr     r2, =CLK_DIV_VAL
        orr     r1, r1, r2
        str     r1, [r0, #CLK_DIV0_OFFSET]

        ldr     r1, =APLL_VAL
        str     r1, [r0, #APLL_CON_OFFSET]
        ldr     r1, =MPLL_VAL
        str     r1, [r0, #MPLL_CON_OFFSET]

        /* FOUT of EPLL is 96MHz */
        ldr     r1, =0x80200203
        str     r1, [r0, #EPLL_CON0_OFFSET]
        ldr     r1, =0x0
        str     r1, [r0, #EPLL_CON1_OFFSET]




以下是APLL_VAL和MPLL_VAL 定义
#if defined(CONFIG_SYNC_MODE)
#define APLL_VAL        ((1 << 31) | (STARTUP_MDIV << 16) | \
                (STARTUP_PDIV << | STARTUP_SDIV)
#define STARTUP_APLL    (((CONFIG_SYS_CLK_FREQ >> STARTUP_SDIV) / \
                        STARTUP_PDIV) * STARTUP_MDIV)
#define STARTUP_HCLK    (STARTUP_MPLL / (STARTUP_HCLKX2DIV + 1) / \
                (STARTUP_HCLKDIV + 1))
#else   
#define APLL_VAL        ((1 << 31) | (STARTUP_AMDIV << 16) | \
                (STARTUP_PDIV << | STARTUP_SDIV)
#define STARTUP_APLL    (((CONFIG_SYS_CLK_FREQ >> STARTUP_SDIV) / \
                        STARTUP_PDIV) * STARTUP_AMDIV)
#define STARTUP_HCLK    (STARTUP_MPLL / (STARTUP_HCLKX2DIV + 1) / \
                (STARTUP_HCLKDIV + 1))
#endif
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP