主题中讨论的其他器件:TPS650250
工具/软件:Linux
大家好、
我在 AM335x 入门套件板上有一个定制电路板设计、我的定制电路板与 AM335x 入门套件有一些不同、例如:
- SDRAM:128MB (使用 MT41J64M16)
- RTC 使用 S35390A
- 以太网使用 KSZ9021RN
- PMIC 使用 TPS650250
我使用 的是 ti-processor-sdk-linux-am335x-evm-04.00.04、我可以从 SD 卡自定义 u-boot 和引导(MLO、U-boot)。
但是当我尝试自定义设备树并引导 dtb 文件和 zImage 文件时, 主板会在“正在启动内核...”处挂起,然后重新加载。
终端显示:
U-Boot SPL 2017.01-00319-g7752743-M脏(2017年8月22日- 15:20:04)
尝试从 MMC1引导
正在读取 uboot.env
**无法从 mmc0:1读取"uboot.env"**
使用默认环境
正在读取 u-boot.img
正在读取 u-boot.img
正在读取 u-boot.img
正在读取 u-boot.img
U-Boot 2017.01-00319-g7752743-M脏(2017年8月22日- 15:20:04 +0700)
CPU:AM335X-GP 修订版2.1
型号:我的定制板
DRAM:128 mib
NAND:0 MIB
MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
正在读取 uboot.env
**无法从 mmc0:1读取"uboot.env"**
使用默认环境
未设置。 验证第一个电子保险丝 MAC
网络:
无法获取 cpsw: Addr 0的 PHY
CPsw、USB_ether
按任意键停止自动引导:0
切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
正在读取 BOOT.SCR
**无法读取文件 boot.scr **
正在阅读 uEnv.txt
**无法读取文件 uEnv.txt **
切换到分区#0,确定
mmc0是当前器件
正在扫描 MMC 0:1...
读取/am335x-evmsk.dtb
在15ms 内读取33614字节(2.1 MIB/s)
切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
在872ms (4.1 MIB/s)内读取3715536字节
在29ms (1.1 MIB/s)内读取33671字节
###展开的设备树 blob、88000000
使用0x88000000处的 FDT blob 进行引导
正在将设备树加载到8fff4000,结束位置8ff386... 好的
正在启动内核...
当我命令 printenv 时
=>印刷版
arch = ARM
args_mmc=run finduid;setenv bootargs console=${console}${optargets}root=PARTUUID =${uuid}rw rootfstype=${mmcrootfstype}
波特率=115200
电路板=AM335x
Board_name=A335X_SK
Board_rev=1000
boot_a_script=load ${devtype}${devnum}:${distro_bootpart}${scriptaddr}${prefix}${script};source ${scriptaddr}
boot_efi_binary=load ${devtype}${devnum}:${distro_bootpart}${kernel_addr_r}efi/boot/bootarm.EFI;如果 fdt addr ${fdt_addr_r};则 bootefi ${kernel_addr_r}${fdt_dr_addr_r};bootdr}${dr};bootedr}${dr}
boot_extlinux=sysboot ${devtype}${devnum}:${distro_bootpart}任何${scriptaddr}${prefix}extlinux/extlinux.conf
BOOT_FDT=尝试
BOOT_FIT = 0
BOOT_NET_USB_START=USB 启动
boot_nars=//boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 PXE DHCP
bootcmd=if test ${boot_fit}-eq 1;然后运行 update_to _fit;fi;运行 findfdt;运行 init_console;运行 envboot;运行 distro bootcmd
bootcmd_dhcp=run boot_net_us_start;如果 DHCP ${scriptaddr}${boot_script_dhcp};则源${scriptaddr};fi;setenv efi_fdtarchfile ${dtatr};if test -z "${dtdt file}"-a -n ${soc ver";${dtv_env_env_env_boardr}${tbt}${tv_enpv_env_env_envr}${tbt};tv_env_adr}${tv_enpv_env_env_env_env_env_env_envr}${tv_env_adr}${tbt f tv_env_env_adr}${tbt f tv_env_env_env_env_env_envr}${tv_env_env_env_env_env_env_env_ else bootefi ${kernel_addr_r}${fdtcontrolladdr};fi;setenv bootp_VCI ${efi_old_vci};setenv bootp_arch ${vci_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_arch;
bootcmd_legacy_mmc0=setenv mmcdev 0;setenv bootpart 0:2;运行 mmcboot
bootcmd_legacy_mmc1=setenv mmcdev 1;setenv bootpart 1:2;运行 mmcboot
bootcmd_mmc0=setenv devnum 0;运行 MMC_boot
bootcmd_mmc1=setenv devnum 1;运行 MMC_boot
bootcmd_nand=运行 nandboot
bootcmd_PXE=运行 boot_net_usb_start;DHCP;如果 PXE 获得;然后是 PXE 引导;fi
bootcount=2
BOOTDELAY=2
bootdir=/boot
bootenvfile=uEnv.txt
BootFile=zImage
BOOTM_SIZE=0x10000000
bootpart=0:2
bootscript=echo 正在从 MMC${mmcdev}...;源${loadaddr}运行的 bootscript
console=ttyO0、115200n8
CPU=armv7
DFU_alt_INFO_eMMC=rawemmc RAW 0 3751936
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 0x400;spl-os-args.raw 0x80 0x80;spl-os-image.fat raw 0x900;spl-os-os-gfat 1;fat 0 uEnv.txt
dfu_alt_info_nand=SPL 零件0 1;SPL.Backup1零件0 2;SPL.Backup2零件0 3;SPL.Backup3零件0 4;u-boot 零件0 5;u-boot-spl-OS 零件0 6;内核零件0 8;rootfs 零件0 9
dfu_alt_info_ram=内核 ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
distro_bootcmd=用于${boot_targets}中的目标;请运行 bootcmd_${target};完成
EFI_dtb_nefins=//dtb//dtb/current
envboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadbootscript;然后运行 bootscript;否则运行 loadbootenv;然后从${bootenvfile}回显已加载的 env;运行 importbootenv;fi;if test -n $uuccmd;然后运行 envenvcmd;envive...
eth1addr=04:A3:16:fb:D5:BD
ethact=cpsw
ethaddr=04:A3:16:fb:D5:bb
FDT_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontrolladdr=85f28818
fdtfile=AM335x-evmsk.dtb
findfdt=if test $board_name = A335BONE;then setenv fdtfile AM335x-bon.dtb;fi;if test $board_name = A335BNLT;then setenv fdtfile AM335x-bonebold.dtb;fi;if tests $board_name = A335bnlbtb;then 文件 AM335btbtb;tbv_env_env_env_dtb;tb 如果 TEST $board_name = A335_ICE;那么 setenv fdtfile AM335x-icev2.dtb;fi;如果 TEST $fdtfile = undefined;则回显警告:无法确定要使用的设备树;fi;
finduuid=part uuid MMC ${bootpart}uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
importbootenv=echo 从 MMC${mmcdev}导入环境...;env 导入-t ${loadaddr}${filesize}
init_console=if test $board_name = a335_ice;然后 setenv 控制台 ttyO3、115200n8;否则 setenv 控制台 ttyO0、115200n8;fi;
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype}${devnum}:${distro_bootpart}${fDT_addr_r}${prefix}${efi_fdtfile}
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}
loadramdisk=load MMC ${mmcdev}${rdaddr}ramdisk.gz
MMC_BOOT=if MMC dev ${devnum};然后 setenv devtype MMC;运行 scan_dev_for_boot_part;fi
mmcboot=MMC dev ${mmcdev};setenv devnum ${mmcdev};setenv devtype MMC;如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadimage;然后测试${boot_fit}-eq 1;然后运行 loadfit;否则运行 mmcovados;fi;fi;
mmcdev=0
mmclosados=run args_mmc;如果测试${boot_FDT}= yes ||测试${boot_FDT}=试用;如果运行 loadfdt;则 bootz ${loadaddr}-${fdtaddr};否则测试${boot_FDT}=试用;然后 bootz;否则、回显警告:无法加载 bootz;否则;fi;
mmcrootfstype=ext4 rootwait
mtdds=nand0=nand.0
mtdparts=mtdparts=nand.0:128k (NAND.SPL)、128k (NAND.NANT.Backup1)、128k (NAND.NANT.Backup2)、128k (NAND.NANT.Backup3)、256k (NAND.u-boot-OS)、SPL (NAND.U-boot)、128k (NAND-Boot)、128m (NAND-Boot)、8m (NAND-1m (NAND-Boot)、ENU.v-v-boot)、128k (v-v-v-back1)、/v-kernel.enu.enu.enu.1
nandargs=setenv bootargs console=${console}${optargets}root=${nandroot}rootfstypy=${nandrootfstype}
nandboot=echo Booting from nand ...;运行 nandargs;nand read ${fdtaddr}nand.u-boot-spl-OS;nand read ${loadaddr}NAND.kernel;bootz ${loadaddr}-${fdtaddr}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system、2048
nandrootfstype=ubifs rootwait=1
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}
nfsopts=nolock
partitions=uuid_disk=${uid_gppt_disk};name=rootfs、start=2MiB、size=-、uid=${uid_gppt_rootfs}
pxefile_addr_r=0x80100000
ramargs=setenv bootargs console=${console}${optargets}root=${ramroot}rootfstypy=${ramrootfstype}
ramboot=echo 从 ramdisk 引导...;运行 ramargs;bootz ${loadaddr}${rdaddr}${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
读数地址= 0x88080000
rootpath=/export/rootfs
scan_dev_for_boot=echo 扫描${devtype}${devnum}:${distro_bootpart}...;用于${boot_drefix}中的前缀;运行 scan_dev_for_extlinux;运行 scan_dev_for_scripts;完成;运行 scan_dev_for_EFI;
scan_dev_for_boot_part=part list ${devtype}${devnum}-bootable devplist;env 存在 devplist || setenv devplist 1;对于${devplist}中的 DISTR_BOOTpart;如果 fstype ${devtype}${devfi}:${distro_bootpart}、则执行;然后针对 boot_bootn_bootnum 执行
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile};如果测试-z "${fdtfile}"-a -n "${soc}";然后设置 env efi_fdtfile ${soc}-${boardver}${dtv 文件前缀;fi_bootstro}${pedtb};如果已找到 EFI 文件、则为${prefix_dipot_boot_bootstart;${prefix ${prefix}/emi 文件${prefix:/edex}${prefix;/fue_bootstepi 文件${prefix;}ped/emi 文件:${ped/emi 文件;prefix 文件${prefixed/ed/ed/ed/emi 文件: fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype}${devnum}:${distro_bootpart}${prefix}extlinux/extlinux.conf;然后回显找到${prefix}extlinux/extlinux.conf;运行 boot_extlinux;回显脚本失败:继续...;fi
scan_dev_for_scripts=用于${boot_scripts}中的脚本;如果测试-e ${devtype}${devnum}:${distro_bootpart}${prefix}${script}、则执行;然后回显找到的 U-Boot 脚本${prefix}${prefix}${prefix}${prefix};运行 boot_a_script;回显脚本失败:继续...;完成
脚本地址=0x80000000
SoC=am33xx
args=setenv bootargs console=${console}${optargets}root=${spiroot}spifstypy=${rootrootfstype}
spiboot=echo Booting from SPI ...;运行 spiargs;SF 探测器${spibusno}:0;SF 读取${loadaddr}${spisrcadr}${spiimgsize};bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
rootspifstype=jffs2.
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=串行@44e09000
stdin =串行@44e09000
stdout=串行@44e09000
update_TO_fit=setenv loadaddr ${fit_loadaddr};setenv 引导文件${fit_bootfile}
USB_boot=USB start;如果 USB dev ${devnum};则 setenv devtype USB;运行 scan_dev_for_boot_part;fi
USBnet_devaddr=04:A3:16:fb:D5:bb
供应商= TI
ver = U-Boot 2017.01-00319-g7752743-sm脏(2017年8月22日- 15:20:04 +0700)
环境大小:9110/131068字节
有人能帮我吗、我真的需要你们的帮助、谢谢你们。