问题现象描述:
主线是TF卡启动(系统可以正常),
uboot不带bmp命令,增加指令,做开机logo,
打开uboot几个相关配置之后开机一直卡在Starting kernel ...
不修改uboot之前正常开机log:
U-Boot SPL 2018.01 (Jan 31 2021 - 20:25:53)
DRAM: 32 MiB
Trying to boot from MMC1U-Boot 2018.01 (Jan 31 2021 - 20:25:53 -0500) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environmentIn: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
reading zImage
4043624 bytes read in 286 ms (13.5 MiB/s)
reading splash.bmp
385078 bytes read in 52 ms (7.1 MiB/s)
Unknown command 'bmp' - try 'help'
reading dtb.bin
11834 bytes read in 34 ms (339.8 KiB/s)
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 816fa000, end 816ffe39 ... OKStarting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano (root@osboxes) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #34 Fri Jan 29 03:05:50 EST 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Nano
[ 0.000000] Memory policy: Data cache writeback
修改uboot,使之增加bmp:
1.
-> ARM architecture
[ * ] Enable graphical uboot console on HDMI, LCD or VGA
LCD panel timing details:
x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0
(PE6) LCD panel backlight pwm pin
2.
-> Device Drivers
- > Graphics support
[ * ] Enable colour frame buffer console
3.
-> Command line interface
-> Misc commands
[ * ] Enable 'bmp' command
编译uboot,烧写到tf卡8k偏移,开机log:
U-Boot SPL 2018.01 (Feb 01 2021 - 01:53:16)
DRAM: 32 MiB
Trying to boot from MMC1U-Boot 2018.01 (Feb 01 2021 - 01:53:16 -0500) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environmentSetting up a 800x480 lcd console (overscan 0x0)
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
reading zImage
4043624 bytes read in 287 ms (13.4 MiB/s)
reading dtb.bin
11834 bytes read in 34 ms (339.8 KiB/s)
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 80e01000, end 80e06e39 ... OKStarting kernel ...
运行在这里系统就卡住了。。。
对比发现
Loading Device Tree to 816fa000, end 816ffe39
Loading Device Tree to 80e01000, end 80e06e39
修改前后设备树的地址相差很大,
求大佬指点!!!
【已解决】见下面
最近编辑记录 大帅 (2021-02-02 11:01:38)
离线
在这里淫侵多年,只发现路漫漫的固件里面的uboot有bmp命令,但不知道uboot的配置。
经过一番搜索学习,增加上面的几个配置,开机进入uboot,使用指令是可以显示bmp,
fatload mmc 0:1 0x80C00000 logo.bmp
bmp display 0x80C00000
屏幕可以显示,但是开机不知道为什么会卡在Starting kernel ...???
离线
是不是bmp把dtb或者zImage的地址覆盖了?
bootcmd=fatload mmc 0:1 0x80008000 zImage;fatload mmc 0:1 0x80C00000 logo.bmp;bmp display 0x80C00000;fatload mmc 0:1 0x80C00000 dtb.bin;bootz 0x80008000 - 0x80C00000
bootdelay=0
把bootcmd里面的
fatload mmc 0:1 0x80C00000 logo.bmp;bmp display 0x80C00000;
去掉也是不能启动。。。
离线
uboot里面lcd的显存地址在哪里看?
离线
修改configs/suniv.h
屏蔽下面两句
#define CONFIG_VIDEO_LOGO
#define CONFIG_VIDEO_BMP_LOGO
系统可以正常启动了,开机先显示一个linux企鹅,然后是我的logo.bmp。
不屏蔽上面两句,uboot默认显示的是licheepi的800*480的logo,
虽然问题解决,但是不知道卡死在Starting kernel ...的具体原因是什么???
离线