Other Parts Discussed in Thread: AM5728, DRA752
主题中讨论的其他器件: PMP、 DRA752
工具/软件:Linux
您好、TI 团队、
我们创建了定制的 AM5728 SOM 和基板。
在创建 BSP 的过程中、我们遇到了以下问题:
在内核启动时、调试输出仅显示
"正在启动内核..."
没有更多了。
从通过 XDS200 JTAG 探针和 Code Composer Studio 访问器件、我可以看到 PC 位于的区域
c0271f88 T cpu_startup_entry
,可能是 CPU_IDLE_LOOP。
此时应该已经存在一些调试输出。
EARLY_PRINTK [=y]
串行_EARLYCON [=y]
在 Linux .config 中处于活动状态。
出于好奇、我通过从 AM572x-IDK 加载内核和器件树对其进行了交叉测试。
由于我们的 SOM 和器件树与 AM572x-IDK 略有不同、因此内核正确启动、显示了多个调试输出、直到由于硬件不匹配而在稍后的某个时间点挂起。
这让我假设内核和设备树正常、错误可能在其他地方。
我的第一个猜测是
console=
u-boot 中的环境变量可能错误。
但是、我与 AM572x-IDK 交叉检查、并将其正确设置为
console=ttyO2,115200n8.
我们在 AM572x-IDK 上使用 UART3 (ttyO2)。
请参阅下面的完整引导日志。
我们使用的是主线 Linux 内核4.9.77
和主线 denx u-boot 2018.01
请注意、我们当前未在 u-boot 中使用器件树。
我看了一下
processors.wiki.ti.com/.../Kernel_-_Common_Problems_Booting_Linux
但它没有为我提供解决方案。
有什么想法、这里可能会有什么问题或要检查什么?
此致、
Stefan Lange
##############################
U-Boot SPL 2018.01-00012防尘(2018年4月3日- 16:35:47)
DRA752-GP ES2.0
I2C_INIT_BUS:BUS_NO:0、速度:100000、slaveaddr:0x01
尝试从 MMC1引导
正在读取 u-boot.img
正在读取 u-boot.img
U-Boot 2018.01-00012防尘(2018年4月03日- 16:35:47 +0200)
CPU :DRA752-GP ES2.0
电路板:MBa57xx 上的 TQMa572x
I2C: I2C_INIT_BUS:BUS_NO:0、速度:100000、slaveaddr:0x01
就绪
DRAM: 2GiB
MMC: OMAP SD/MMC:0、OMAP SD/MMC:1.
I2C_INIT_BUS:BUS_NO:0、速度:100000、slaveaddr:0x01
警告:FASTBOOT.board_rev:未知的电路板版本
GUID 分区表头签名错误:0x8DFEFB7DFF7BFFFB!= 0x5452415020494645
PART_GET_INFO_EFI:***错误:GPT 无效***
GUID 分区表头签名错误:0x0!= 0x5452415020494645
PART_GET_INFO_EFI:***错误:备份 GPT 无效***
SCSI: SATA link 0 timeout。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
找到0个器件。
NET: CPsw
按任意键停止自动引导: 0
=>打印
arch = ARM
args_mmc=run finduid;setenv bootargs console=${console}${optargets}root=PARTUUID =${uuid}rw rootfstype=${mmcrootfstype}
波特率=115200
电路板=tqma57xx
Board_name=tqma57xx
BOOT_FDT=尝试
BOOT_FIT = 0
BOOT_PART=9
bootargs=root=/dev/nfs rw nfsroot=192.168.11.132:/srv/nfs/rootfs ip=192.168.11.248:192.168.11.132:::::: 关闭控制台=、115200
bootargs_nfs=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$console $othbootargs
bootcmd=运行 nfsboot
BOOTDELAY=6
bootdir=/boot
bootenvfile=uEnv.txt
BootFile=boot/zImage
BOOTM_SIZE=0x10000000
bootpart=1:2
bootscript=echo 正在从 MMC${mmcdev}...;源${loadaddr}运行的 bootscript
console=ttyO2,115200n8.
CPU=armv7
devnum=1
devtype=MMC
dfu_alt_info_eMMc=rawemmc raw 0 3751936;引导部分1;rootfs 部分1 2;mlo fat 1;ml.raw 0x100 0x100;u-boot.img.raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw 0x100;u-boot.1;fat 0x1;spr-fat 1;spr-ise-fat 1;sprag1 0x1500 uEnv.txt
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;mlo fat 0 1;ml.raw 0x100 0x100;u-boot.img.raw 0x300 0x1000;u-env.raw 0x1300 0x200;spl-os-args.raw 0x1500 0x1500;spl-os-image-raw 0x1000;sprw 0x1000 uEnv.txt;fat 0X1000;splfat 0X1000;spr-raw 0X1000;splfat 0X1000;fat 1spr-raw 0X1700
dfu_alt_info_ram=内核 ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
DFU_bufsiz=0x10000
dofastboot=0
eMMC_Android_boot=echo 尝试从 eMMC 引导 Android ...;setenv eval_bootargs setenv bootargs $bootargs;运行 eval_targetboots;setenv mmcdev 1;setenv FDT_part 3;setenv boot_part 9; setenv machid fe6;MMC dev $mmcdev;MMC 重新扫描;部件启动 MMC ${mmcdev}${FDT_part}FDT_START;部件尺寸 MMC ${mmcdev}${FDT_part}FDT_size;部件启动 MMC ${mmd_dtaddr}${boot_start}${mmcaddr}${dr}${dr}${boot_start_size ${dr}${dr}${dr}${dr}${dr}tmc;${boot_start addr ${dr}${dr}${dr}
eMMC_Linux_boot=echo 尝试从 eMMC 引导 Linux ...;setenv mmcdev 1;setenv bootpart 1:2;setenv mmcroot /dev/mmcblk0p2 rw;运行 mmcboot;
envboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadbootscript;然后运行 bootscript;否则运行 loadbootenv;然后从${bootenvfile}回显已加载的 env;运行 importbootenv;fi;if test -n $uuccmd;然后运行 envenvcmd;envive...
ethact=cpsw
ethaddr=a0:F6:FD:B3:8c:84
eval_bootargs=setenv bootargs androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2和 roidboot.hardware=am57xevmboard
FASTBOOT.CPU=DRA752
fastboot.secure=GP
FDT_addr_r=0x88000000
FDT_PART=3
fdtaddr=0x88000000
fdtfile=boot/tqma572x-mba57xx.dtb
fileaddr=82000000
filesize=13a10
findfdt=if test $board_name = omap5_uevm;then setenv fdtfile omap5-uevm.dtb;fi;if test $board_name = dra7xx;then setenv fdtfile dra7-evm.dtb;fi;if test $board_name = 72x-revc;then dtv 772 vemc.tb;then setdtb;tv_detv-tb;then dtv-tb;tv-tv-tb;tv-tb;tv-tv-tb;tv-tv-tb; f;if test $board_name = dra76x;then setenv fdtfile dra76-evm.dtb;fi; if test $board_name = beagle_x15; then setenv fagle-x15.dtb;fi;if test $board_name = beagle_x15_revb1; then $tbex-ex-v_ramtble_ex-ex-v-ex-ex-ex-ex-ex-ext;$bidtbv-ex-ex-ex-v-ex-ex-ex-ex-ex-ex-ex-v-ex-ex-v-ex-ex-ex-v-ex-ex-v-ex-ex-v-ex-ex-ex-v-ex-ex-ex-v-ex-ex-v-ex-ex-ex-v-ex-ex-ex-v-ex-ex-v-v-ex-v-ex-ex 然后 setenv fdtfile am57xx-beagle-x15.dtb;fi;if test $board_name = am57xx_evm_reva3;then setenv fdtfile am57xx-bedtagle-x15.dtTB;fi;if test $board_name = am571x_idk;then setenv fdtfile am57xx-bedtble-x15.dtb;fi;if test $board_name = am571x_idk;then undeft;then determine undefineft;then determine undefinefined exam 571x_det.
finduuid=part uuid MMC ${bootpart}uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
importbootenv=echo 从 MMC${mmcdev}导入环境...;env 导入-t ${loadaddr}${filesize}
ipaddr=192.168.11.248
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload MMC ${mmcdev}${loadaddr}${bootenvfile}
loadbootscript=load MMC ${mmcdev}${loadaddr}boot.scr
loadfdt=load ${devtype}${bootpart}${fdtaddr}${bootdir}/${fdtfile}
loadfit=run args_mmc;bootm ${loadaddr}#${fdtfile};
loadimage=load ${devtype}${bootpart}${loadaddr}${bootdir}/${bootfile}
machid=fe6
mmcboot=MMC dev ${mmcdev};setenv devnum ${mmcdev};setenv devtype MMC;如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadimage;然后测试${boot_fit}-eq 1;然后运行 loadfit;否则运行 mmcovados;fi;fi;
mmcdev=1
mmclosados=run args_mmc;如果测试${boot_FDT}= yes ||测试${boot_FDT}=试用;如果运行 loadfdt;则 bootz ${loadaddr}-${fdtaddr};否则测试${boot_FDT}=试用;然后 bootz;否则、回显警告:无法加载 bootz;否则;fi;
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console}${optargets}root=/dev/nfs nfsroot=${serverip}:${rootpath}、${nfsopts}RW IP=DHCP
netboot=echo Booting from network...;setenv autoload no;dhcp;run netloadimage;run netloadfdt; 运行 netargs;bootz ${loadaddr}-${fdtaddr}
netloadfdt=tftp ${fdtaddr}${fdtfile}
netloadimage=tftp ${loadaddr}${bootfile}
nfsboot=run bootargs_nfs;nfs ${fdtaddr}$serverip:$rootpath/${fdtfile};nfs ${loadaddr}$serverip:$rootpath/$bootfile;boottz $loadaddr -$fdtaddr
nfsopts=nolock
partitions=uuid_disk=${uid_gppt_disk};name=bootloader、start=384K、size=1792K、uid=${uid_gppt_bootloader};name=rootfs、start=2688K、size=-、uid=${uid_gppt_rootfs}
partitions_android=uuuid_disk=${uuuid_gppt_disk};name=xloader、start=128K、size=256K、uid=${uuid_gppt_xloader};name=uuuuuid_uuuuuuid=172KM、uuuid_boot$};name=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuid=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuid_es=环境、id=uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuid={a10M、id=uuuuuuuuuuuuuuuuuuuuuuuuuuuuu
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
读数地址= 0x88080000
rootpath=/srv/nfs/rootfs
脚本地址=0x80000000
scsidevs=0
serial#=0500d0080ec00122
serverip=192.168.11.132
SoC=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=串行
stdin =串行
stdout=串行
upp=tftp u-boot/u-boot_tqma572x.img;fatwrite mmc 0:1 $loadaddr u-boot.img $filesize;tftp u-boot/mLO_tqma572x;fatwrite mmc 0:1 $loadaddr mLO $filesize
update_TO_fit=setenv loadaddr ${fit_loadaddr};setenv 引导文件${fit_bootfile}
usbtty=CDC_ACM
vendor=tqc
ver = U-Boot 2018.01-00012-ga55cel-smuted (2018年4月3日- 16:35:47 +0200)
VRAM=16M
环境大小:7252/131067字节
=>引导
端口0、速度100、全双工上的链路
################
完成
传输的字节= 94112 (16fa0十六进制)
端口0、速度100、全双工上的链路
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
######
完成
传输的字节= 3690136 (384e98十六进制)
###展开的设备树 blob、88000000
使用0x88000000处的 FDT blob 进行引导
正在将设备树加载到8ffe6000,结束8fff9f... 好的
使用环境中的 machid 0xfe6
正在启动内核...