uboot 2013.01 s3c6400编译失败

通常我们对s3c6410平台开发u-boot是在s3c6400的基础上修改而成的,但是从uboot
2013.01这个版本之后的版本都把smdk6400对应的配置给删除了。

这是因为该版本smdk6400的配置编译失败,从而导致无法生成u-boot的可执行文件

从ftp://ftp.denx.de/pub/u-boot/u-boot-2013.01.01.tar.bz2下载uboot,并进行解压缩。

执行下面的命令进行配置和编译:


make smdk6400_config
make

然后会出现一个编译错误:


.arm-none-linux-gnueabi-ld:u-boot.lds:19: syntax error

而u-boot.lds内容如下:


     1    OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
2 OUTPUT_ARCH(arm)
3 ENTRY(_start)
4 SECTIONS
5 {
6 . = 0x00000000;
7 . = ALIGN(4);
8 .text :
9 {
10 arch/arm/cpu/arm1176/start.o (.text)
11 *(.text)
12 }
13 . = ALIGN(4);
14 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
15 . = ALIGN(4);
16 .data : { *(.data) }
17 . = ALIGN(4);
18 .got : { *(.got) }
19 . = align(4);
20 .u_boot_list : {
21 _u_boot_list__start = .;
22 _u_boot_list_cmd__start = .;
23 *(SORT(.u_boot_list.cmd.*));
24 _u_boot_list_cmd__end = .;
25 _u_boot_list_env_clbk__start = .;
26 *(SORT(.u_boot_list.env_clbk.*));
27 _u_boot_list_env_clbk__end = .;
28 *(SORT(.u_boot_list.*));
29 _u_boot_list__end = .;
30 }
31 . = align(4);
32 .mmudata : { *(.mmudata) }
33 . = ALIGN(4);
34 .rel.dyn : {
35 __rel_dyn_start = .;
36 *(.rel*)
37 __rel_dyn_end = .;
38 }
39 .dynsym : {
40 __dynsym_start = .;
41 *(.dynsym)
42 }
43 _end = .;
44 .bss __rel_dyn_start (OVERLAY) : {
45 __bss_start = .;
46 *(.bss)
47 . = ALIGN(4);
48 __bss_end__ = .;
49 }
50 /DISCARD/ : { *(.dynstr*) }
51 /DISCARD/ : { *(.dynamic*) }
52 /DISCARD/ : { *(.plt*) }
53 /DISCARD/ : { *(.interp*) }
54 /DISCARD/ : { *(.gnu*) }
55 }

可以看到19行内容为align(4),而其他大部分行都是ALIGN(4),貌似是大小写的问题。

而u-boot.lds内容又是根据board/samsung/smdk6400/u-boot-nand.lds而得到的。

然后将board/samsung/smdk6400/u-boot-nand.lds中的所有align(4)修改为ALIGN(4),再重新执行make,就能得到u-boot.bin

但是此时出现另外一个编译错误:


u-boot-2013.01.01/nand_spl/board/samsung/smdk6400/start.S:227: undefined reference to `_main‘

而我查看2012.10版本的u-boot则没有227行的代码,试着将此行注释掉就可以完全编译通过了。

因为对实际开发板的移植还不算特别熟悉,等稍微熟悉之后我再试下是否该版本可以真正用于6410的开发板上。

uboot 2013.01 s3c6400编译失败,布布扣,bubuko.com

时间: 2024-10-18 23:44:52

uboot 2013.01 s3c6400编译失败的相关文章

uboot 2013.01 代码简析(1)开发板配置

u-boot下载地址:ftp://ftp.denx.de/pub/u-boot/u-boot-2013.01.01.tar.bz2 下载之后对该文件进行解压. 我试着分析smdk2410_config对应的代码执行流程,接触u-boot时间较短,有不周之处还请见谅. 通常执行u-boot第一步就是进行开发板的配置,而smdk2410的配置命令如下: make smdk2410_config 而Makefile中对应内容如下: 775 %_config:: unconfig 776 @$(MKCO

01原始编译r16的tinav2.5(分色排版)V1.0

01原始编译r16的tinav2.5 2017/12/14 11:44 版本:V1.0 0.(可选)验证一下SDK的MD5值! [email protected]:/home/wwt$ [email protected]:/home/wwt$ md5sum tinav2.5_20171205.tar.gz 17295b52f2cc5d3a8d75274e85961923  tinav2.5_20171205.tar.gz [email protected]:/home/wwt$ 1.原始编译r4

windows7+visual studio 2013+CUDA7.5 编译caffe

经过朋友指导,终于成功在windows7上成功编译了caffe,这里将编译过程记录 安装文件准备 安装visual studio 2013 安装cuda75 编译caffe 1 解压缩下载的caffe-windows文件 2 进入到windows文件夹 3 复制配置文件并重命名 4 修改配置文件修改工程的属性文件 5 打开名称为Caffe的解决方案 6 编译libcaffe项目 7 编译caffe项目 8 编译其他项目 运行第一个caffe测试程序 配置cuDNN 配置python 配置matl

FreeBSD 下sac101.6a编译失败解决办法

由于FreeBSD和Linux下C的定义有些不同,可下载下面补丁修复编译问题. http://www.iris.washington.edu/pipermail/sac-help/attachments/20130910/7f30ed61/attachment.obj FreeBSD 下sac101.6a编译失败解决办法,布布扣,bubuko.com

Exchange 2013 OWA搜索邮件失败问题处理

问题:接到用户反馈,exchange 2013 owa搜索邮件失败,提示"您的搜索未返回任何结果",如下图,但是outlook搜索正常. 打开EMS命令行工具,get-mailboxdatabasecopystatus,我们看到contentIndexState状态失败,提示FailedAnd- 我们找到失败状态对应的数据库路径,输入命令get-mailboxdatabase | fl name,*path* 找到一个带"GUID"字样的和single字样的文件夹,

u-boot for mini2440 的编译

本文和另外两篇姊妹篇都是为了说明如何裁剪出适合在mini2440 开发板上运行的Linux系统,以记录自己的学习成果.其中本文先介绍了嵌入式系统的软件组成部分,然后介绍编译出适合在mini2440开发板上运行的uboot的方法步骤. 说明:笔者使用的开发平台---RetHat linux系统,开发板---Friendly mini2440 在开始讲述系统移植的具体方法之前,先大致了解一下嵌入式系统的软件组成: 从上面这个图可以看出,嵌入式系统的软件组成主要包括bootloader.内核以及根文件

Execution failed for task ':dexDebug' Android Studio 编译失败

刚刚编译android studio的时候,控制台报错,说某某某return 2.... 这个问题的正确解决方法是: 项目对应的build.gradle里面添加的依赖项有问题,只能是删除某个依赖项,然后重新运行知道运行成功为止!! 告诉大家个小窍门,一般都是最后一次添加的依赖项有问题,大家可以从最后一项逐项的注销依赖项,知道运行成功为止. Execution failed for task ':dexDebug' Android Studio 编译失败

Android studio 编译失败Error:Could not read entry ':app:processDebugManifest' from cache taskArtifacts.b

Android studio 编译失败 Error:Could not read entry ':app:processDebugManifest' from cache taskArtifacts.bin 升级了Android studio 2.0 版本号后 编译之前的项目失败 出现了以下提示: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/

go 项目编译失败

[email protected]:~/sunteng/src/dsp_masky/bin/bid$ go build server.go # github.com/coreos/go-etcd/etcd /home/ubuntu/go/src/github.com/coreos/go-etcd/etcd/response.generated.go:99:6: r.EncodeArrayStart undefined (type codec.encDriver has no field or m