This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

omapl138-lcdk,Starting kernel ...之后就无任何反应了

Other Parts Discussed in Thread: AM1808, OMAP-L138

SDK:ti-processor-sdk-linux-omapl138-lcdk-06.01.00.08

镜像:u-boot.ais和zImage基于以上SDK编译生成。

平台:自研omapl138板子,基于omapl138-lcdk设计。

操作:

U-Boot 2019.01-g5bb01f9-dirty (May 19 2020 - 10:52:53 +0800)

Model: DA850/AM1808/OMAP-L138 LCDK
DRAM: 128 MiB
128 MiB
NAND: 512 MiB
MMC: da830-mmc: 0
Loading Environment from NAND... OK
In: serial@10d000
Out: serial@10d000
Err: serial@10d000
Net: DaVinci-EMAC
Hit any key to stop autoboot: 0
=>
=> print
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
boot_fdt=yes
boot_fit=0
bootcmd=run envboot; run mmcboot;
bootdelay=3
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyS2,115200n8
devnum=0
devtype=mmc
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
ethact=DaVinci-EMAC
ethaddr=06:00:a0:3a:df:3a
fdtaddr=0xc0600000
fdtcontroladdr=c7e22460
fdtfile=da850-lcdk.dtb
finduuid=part uuid mmc ${bootpart} uuid
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
ipaddr=172.16.23.200
loadaddr=0xc0700000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
nandboot=setenv bootargs console=/dev/ttyS2,115200n8 root=/dev/ubi0_0 rw rootfstype=ubifs;bootz $loadaddr - $fdtaddr
scriptaddr=0xc0600000
serverip=172.16.23.37
stderr=serial@10d000
stdin=serial@10d000
stdout=serial@10d000
ver=U-Boot 2019.01-g5bb01f9-dirty (May 19 2020 - 10:52:53 +0800)

Environment size: 2025/65532 bytes
=> tftp $fdtaddr $fdtfile
Using DaVinci-EMAC device
TFTP from server 172.16.23.37; our IP address is 172.16.23.200
Filename 'da850-lcdk.dtb'.
Load address: 0xc0600000
Loading: ##
693.4 KiB/s
done
Bytes transferred = 19902 (4dbe hex)
=> tftp $loadaddr $bootfile
Using DaVinci-EMAC device
TFTP from server 172.16.23.37; our IP address is 172.16.23.200
Filename 'zImage'.
Load address: 0xc0700000
Loading: #################################################################
#################################################################
#################################################################
####################################
1.4 MiB/s
done
Bytes transferred = 3380312 (339458 hex)
=> run nandboot
## Flattened Device Tree blob at c0600000
Booting using the fdt blob at 0xc0600000
Loading Device Tree to c7e19000, end c7e20dbd ... OK

Starting kernel ...

hello world:3966, -941518848

说明:

环境变量nandboot是自己添加的,dtb和zImage下载地址都是u-boot环境变量中默认的。hello world:3966, -941518848  是自己打印的u-boot/arch/arm/lib/bootm.c  中static void boot_jump_linux(bootm_headers_t *images, int flag){}函数中 kernel_entry(0, machid, r2);的后2个参数,

printf("%d, %ld\n", machid, r2); 也就是u-boot给内核传递的2个参数,分别是机器码、tag地址。

r2的值感觉不对,但是我不明白这个不应该是TI已经弄好的u-boot么,现在我也不知道怎么改,另外

Omapl138_lcdk.h (include\configs) 221行也定义了#define LINUX_BOOT_PARAM_ADDR (PHYS_SDRAM_1 + 0x100) 这些参数的地址。。。

现在我不知道哪里出了问题,要怎么改,麻烦TI大神帮忙分析下。