报错如下(图片比较小的时候编译没有任何问题):
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)
离线
楼主好, 你的X3 u-boot 怎么驱动LCD的, 修改了哪些地方?
开机 logo 不建议用这种方式, 还有别的方法可以实现。
我是参考这个链接的内容来的:
http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/uboot_logo.html
感觉这种方式的却不是很方便,你采用的是那种????请指点一下
离线
应该是某个链接文件(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二进制的大小吗?
离线
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中修改吗?
离线
这个问题我已经解决了:
通过修改uboot的配置文件,我的是小智X3的板子,对应的配置文件是sun8i_x3_smallwit_demo_50inch_800x480_defconfig:
将CONFIG_ENV_OFFSET=0x88000,按照需求修改。
离线