背景是我们公司要开发一个基于AM3354的控制系统芯片是ZCZ100,目前我们用的是PROCESSOR-SDK-LINUX-AM335X 04_00_00_04的SDK进行修改,并且应用到系统中。目前我想要让SDK的程序跑到自己的板子上,因为我的板卡本身没有使用哪个EEPROM作为板卡的Board ID.我采用的方式是,利用SDK的镜像直接烧写SD卡,然后我编译完新的MLO 和u-boot.img 替换原来镜像的文件。然后uboot做了简单更改如下:
原函数:
U-Boot SPL 2017.01-00319-g7752743-dirty (Sep 20 2017 – 05:59:58)
version yuye 1.01——————————-
testapp2——————————-
testapp3——————————-
TPS65217_CHIP_PM start——————————————-
TPS65217_CHIP_PM——————————————-
mpu_clk_____________________OK
mpu_clk_____________________OK1
mpu_clk_____________________OK5
Trying to boot from MMC1
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
reading u-boot.img
reading u-boot.img
reading u-boot.img
reading u-boot.img
U-Boot 2017.01-00319-g7752743-dirty (Sep 20 2017 – 05:59:58 -0700)
CPU : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
<ethaddr> not set. Validating first E-fuse MAC
Net: cpsw, usb_ether
Hit any key to stop autoboot: 0switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
** Unable to read file uEnv.txt **
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
3589776 bytes read in 365 ms (9.4 MiB/s)
39304 bytes read in 57 ms (672.9 KiB/s)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8fff3000, end 8ffff987 … OK
Starting kernel …
然后就停止在这里了,我目前用的测试板卡硬件是beagleboneblack,然后把EEPROM焊掉。如果焊回来可以正常启动,但是去掉的话每次都会停在这里。也测试了BOOTM等先关函数没有发现什么异常。请大神帮忙分析一下。
liu shaung liu:
楼主,我也遇到了楼主和你一样的问题,请问你解决了吗?
Eggsy Pang:
进入uboot界面,输入pri 打印一下你的环境变量信息
怀疑是device tree load不正常
cun chen:
你好,按照你的方式。我移植了beaglebone black. 没有EEPROM,也没有HDMI接口。开始的情况和你一样。后来修改了u-boot传递的参数bootargs就可以正常启动而且运行。
stackoverflow.com/…/how-to-boot-linux-kernel-from-u-boot
存在两种解决方式,1,修改u-boot的启动参数配置。2,可以修改Kernel编译时boot options 默认启动参数。不过要感谢在u-boot的编译的提示。我开始在EEPROM问题上卡了好久。
cun chen:
回复 Eggsy Pang:
device tree load是,正常的。默认启动参数的配置的问题。bootargs没有设置
yongqing wang:
回复 cun chen:
感谢分享