您尚未登录。

楼主 #1 2020-08-12 16:40:38

jkl
会员
注册时间: 2019-11-18
已发帖子: 263
积分: 146.5

X3开发板,更新uboot启动log,图片过大时编译uboot源码报错,不知道什么原因????

报错如下(图片比较小的时候编译没有任何问题):

make: 进入目录“/home/le/jkl/a33/x3-pack/u-boot”
  CHK     include/config/uboot.release
  CHK     include/generated/version_autogenerated.h
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  CHK     include/generated/generic-asm-offsets.h
  CHK     include/generated/asm-offsets.h
  HOSTCC  tools/mkenvimage.o
  HOSTLD  tools/mkenvimage
  HOSTCC  tools/fit_image.o
  HOSTCC  tools/image-host.o
  HOSTCC  tools/dumpimage.o
  HOSTLD  tools/dumpimage
  HOSTCC  tools/mkimage.o
  HOSTLD  tools/mkimage
  HOSTCC  tools/sunxi-spl-image-builder.o
  HOSTLD  tools/sunxi-spl-image-builder
tools/bmp_logo --gen-info ./tools/logos/jkl.bmp > include/bmp_logo.h
tools/bmp_logo --gen-data ./tools/logos/jkl.bmp > include/bmp_logo_data.h
  CC      cmd/version.o
  LD      cmd/built-in.o
  CC      common/main.o
  LD      common/built-in.o
  CC      drivers/video/cfb_console.o
  LD      drivers/video/built-in.o
  LD      drivers/built-in.o
  CC      drivers/usb/gadget/f_fastboot.o
  LD      drivers/usb/gadget/built-in.o
  CC      lib/efi_loader/helloworld.o
  LD      lib/efi_loader/helloworld_efi.so
  OBJCOPY lib/efi_loader/helloworld.efi
rm lib/efi_loader/helloworld.o
  CC      lib/smbios.o
  CC      lib/display_options.o
  LD      lib/built-in.o
  LD      u-boot
make[2]: “arch/arm/dts/sun8i-x3-smallwit-card-taurus.dtb”已是最新。
  CC      spl/common/spl/spl.o
  LD      spl/common/spl/built-in.o
  CC      spl/lib/display_options.o
  LD      spl/lib/built-in.o
  LD      spl/u-boot-spl
  OBJCOPY spl/u-boot-spl-nodtb.bin
  COPY    spl/u-boot-spl.bin
  MKSUNXI spl/sunxi-spl.bin
  OBJCOPY u-boot-nodtb.bin
  CAT     u-boot-dtb.bin
  COPY    u-boot.bin
  MKIMAGE u-boot.img
  BINMAN  u-boot-sunxi-with-spl.bin
binman: Node '/binman/u-boot-img': Entry contents size is 0xb6cd8 (748760) but entry size is 0x7e000 (516096)
Makefile:1149: recipe for target 'u-boot-sunxi-with-spl.bin' failed
make: *** [u-boot-sunxi-with-spl.bin] Error 1
make: 离开目录“/home/le/jkl/a33/x3-pack/u-boot”
compile x3 u-boot error.

最近编辑记录 jkl (2020-08-12 16:43:32)

离线

楼主 #4 2020-08-12 17:10:44

jkl
会员
注册时间: 2019-11-18
已发帖子: 263
积分: 146.5

Re: X3开发板,更新uboot启动log,图片过大时编译uboot源码报错,不知道什么原因????

拉轰的脚踏车 说:

楼主好, 你的X3 u-boot 怎么驱动LCD的, 修改了哪些地方?

开机 logo 不建议用这种方式, 还有别的方法可以实现。

我是参考这个链接的内容来的:
http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/uboot_logo.html
感觉这种方式的却不是很方便,你采用的是那种????请指点一下

离线

楼主 #5 2020-08-12 19:31:08

jkl
会员
注册时间: 2019-11-18
已发帖子: 263
积分: 146.5

Re: X3开发板,更新uboot启动log,图片过大时编译uboot源码报错,不知道什么原因????

哇酷小二 说:

应该是某个链接文件(lds)限制了二进制文件大小。




F1C100S/F1C200S-减少开机时间、uboot、内核、根文件系统裁减优化问题
http://whycan.cn/t_3631.html#p33896
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)

uboot里面编译的时候只用到一个链接脚本uoot.lds:
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   *(.__image_copy_start)
11   *(.vectors)
12   arch/arm/cpu/armv7/start.o (.text*)
13   *(.text*)
14  }
15  .__secure_start :
16   ALIGN(CONSTANT(COMMONPAGESIZE))
17  {
18   KEEP(*(.__secure_start))
19  }
20  .secure_text :
21   AT(ADDR(.__secure_start) + SIZEOF(.__secure_start))
22  {
23   *(._secure.text)
24  }
25  .secure_data : AT(LOADADDR(.secure_text) + SIZEOF(.secure_text))
26  {
27   *(._secure.data)
28  }
29  .secure_stack ALIGN(ADDR(.secure_data) + SIZEOF(.secure_data),
30        CONSTANT(COMMONPAGESIZE)) (NOLOAD) :
31   AT(ADDR(.secure_stack))
32  {
33   KEEP(*(.__secure_stack_start))
34   . = . + 4 * (1 << 10);
35   . = ALIGN(CONSTANT(COMMONPAGESIZE));
36   KEEP(*(.__secure_stack_end))
37  }
38  .__secure_end : AT(ADDR(.__secure_end)) {
39   *(.__secure_end)
40   LONG(0x1d1071c);
41  }
42  . = ALIGN(4);
43  .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
44  . = ALIGN(4);
45  .data : {
46   *(.data*)
47  }
48  . = ALIGN(4);
49  . = .;
50  . = ALIGN(4);
51  .u_boot_list : {
52   KEEP(*(SORT(.u_boot_list*)));
53  }
54  . = ALIGN(4);
55  .__efi_runtime_start : {
56   *(.__efi_runtime_start)
57  }
58  .efi_runtime : {
59   *(efi_runtime_text)
60   *(efi_runtime_data)
61  }
62  .__efi_runtime_stop : {
63   *(.__efi_runtime_stop)
64  }
65  .efi_runtime_rel_start :
66  {
67   *(.__efi_runtime_rel_start)
68  }
69  .efi_runtime_rel : {
70   *(.relefi_runtime_text)
71   *(.relefi_runtime_data)
72  }
73  .efi_runtime_rel_stop :
74  {
75   *(.__efi_runtime_rel_stop)
76  }
77  . = ALIGN(4);
78  .image_copy_end :
79  {
80   *(.__image_copy_end)
81  }
82  .rel_dyn_start :
83  {
84   *(.__rel_dyn_start)
85  }
86  .rel.dyn : {
87   *(.rel*)
88  }
89  .rel_dyn_end :
90  {
91   *(.__rel_dyn_end)
92  }
93  .end :
94  {
95   *(.__end)
96  }
97  _image_binary_end = .;
98  . = ALIGN(4096);
99  .mmutable : {
100   *(.mmutable)
101  }
102  .bss_start __rel_dyn_start (OVERLAY) : {
103   KEEP(*(.__bss_start));
104   __bss_base = .;
105  }
106  .bss __bss_base (OVERLAY) : {
107   *(.bss*)
108    . = ALIGN(4);
109    __bss_limit = .;
110  }
111  .bss_end __bss_limit (OVERLAY) : {
112   KEEP(*(.__bss_end));
113  }
114  .dynsym _image_binary_end : { *(.dynsym) }
115  .dynbss : { *(.dynbss) }
116  .dynstr : { *(.dynstr*) }
117  .dynamic : { *(.dynamic*) }
118  .plt : { *(.plt*) }
119  .interp : { *(.interp*) }
120  .gnu.hash : { *(.gnu.hash) }
121  .gnu : { *(.gnu*) }
122  .ARM.exidx : { *(.ARM.exidx*) }
123  .gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
124 }

是这里面的那个位置限制了uboot二进制的大小吗?

离线

楼主 #6 2020-08-12 19:37:26

jkl
会员
注册时间: 2019-11-18
已发帖子: 263
积分: 146.5

Re: X3开发板,更新uboot启动log,图片过大时编译uboot源码报错,不知道什么原因????

1066950103 说:
晕哥 代码改了 能编译通过了 但是遇到奇怪的问题了 这是撒呢
  LD      spl/lib/built-in.o
  LD      spl/u-boot-spl
  OBJCOPY spl/u-boot-spl-nodtb.bin
  COPY    spl/u-boot-spl.bin
  MKSUNXI spl/sunxi-spl.bin
  BINMAN  u-boot-sunxi-with-spl.bin
binman: Node '/binman/u-boot-img': Entry contents size is 0x335a5 (210341) but entry size is 0x1f000 (126976)
Makefile:1148: recipe for target 'u-boot-sunxi-with-spl.bin' failed
make: *** [u-boot-sunxi-with-spl.bin] Error 1

编译出来的uboot体积太大了,使用空间和env环境的地址冲突了,将env环境的地址调大一点

看您给我推荐的帖子,上面说是和env环境地址冲突了,有点不明白,这个地址应该是在sun8i.h中修改吗?

离线

楼主 #7 2020-08-13 11:37:26

jkl
会员
注册时间: 2019-11-18
已发帖子: 263
积分: 146.5

Re: X3开发板,更新uboot启动log,图片过大时编译uboot源码报错,不知道什么原因????

这个问题我已经解决了:
通过修改uboot的配置文件,我的是小智X3的板子,对应的配置文件是sun8i_x3_smallwit_demo_50inch_800x480_defconfig:
将CONFIG_ENV_OFFSET=0x88000,按照需求修改。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn