Other Parts Discussed in Thread:AM5728
=> pri arch=arm args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype} baudrate=115200 board=am57xx board_name=beagle_x15 boot_fdt=try boot_fit=0 bootargs=androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board bootcmd=run findfdt; run getuenv; setenv autoload no;dhcp ;tftp ${loadaddr} zImage-am57xx-evm.bin; tftp ${fdtaddr} ${fdtfile}; run netargs; bootz ${loadaddr} - ${fdtaddr} bootdelay=2 bootdir=/boot bootenvfile=uEnv.txt bootfile=zImage-am57xx-evm.bin bootm_size=0x10000000 bootpart=0:2 bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr} console=ttyS2,115200n8 cpu=armv7 dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1 dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1 dfu_alt_info_qspi=MLO raw 0x0 0x040000;u-boot.img raw 0x040000 0x0100000;u-boot-spl-os raw 0x140000 0x080000;u-boot-env raw 0x1C0000 0x010000;u-boot-env.backup raw 0x1D0000 0x010000;kernel raw 0x1E0000 0x800000 dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000 dfu_bufsiz=0x10000 dofastboot=0 emmc_android_boot=echo Trying to boot Android from eMMC ...; run update_to_fit; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv mmcdev 1; setenv machid fe6; mmc dev $mmcdev; mmc rescan; part start mmc ${mmcdev} boot boot_start; part size mmc ${mmcdev} boot boot_size; mmc read ${loadaddr} ${boot_start} ${boot_size}; bootm ${loadaddr}#${fdtfile}; emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot; 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; eth1addr=88:3f:4a:82:44:1b ethact=cpsw ethaddr=88:3f:4a:82:44:1a fastboot.cpu=DRA752 fastboot.secure=GP fdt_addr_r=0x88000000 fdtaddr=0x88000000 fdtcontroladdr=fdf220a8 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 = dra72x-revc; then setenv fdtfile dra72-evm-revc.dtb; fi;if test $board_name = dra72x; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = dra71x && test $boot_nand = 1; then setenv fdtfile dra71-evm-nand.dtb; fi;if test $board_name = dra71x && test $boot_nand = 0; then setenv fdtfile dra71-evm.dtb; fi;if test $board_name = dra76x_acd; then setenv fdtfile dra76-evm.dtb; fi;if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = beagle_x15_revb1; then setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;if test $board_name = beagle_x15_revc; then setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;if test $board_name = am5729_beagleboneai; then setenv fdtfile am5729-beagleboneai.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = no; then setenv fdtfile am572x-idk.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am572x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am574x_idk && test $idk_lcd = no; then setenv fdtfile am574x-idk.dtb; fi;if test $board_name = am574x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am574x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am57xx_evm; then setenv fdtfile am57xx-evm.dtb; fi;if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = no; then setenv fdtfile am571x-idk.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am571x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am571x-idk-lcd-osd101t2587.dtb; fi;if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi; finduuid=part uuid mmc ${bootpart} uuid fit_bootfile=fitImage fit_loadaddr=0x90000000 gatewayip=192.168.1.1 get_overlaystring=for overlay in $overlay_files;do;setenv overlaystring ${overlaystring}'#'${overlay};done; getuenv=mmc dev ${mmcdev}; if mmc rescan; then if run loadbootenv; then run importbootenv; fi; fi; idk_lcd=no importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize} ip_method=dhcp ipaddr=192.168.1.106 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; run run_fit; 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 netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr} netloadfdt=tftp ${fdtaddr} ${fdtfile} netloadimage=tftp ${loadaddr} ${bootfile} netmask=255.255.255.0 nfsopts=nolock,v3,tcp,rsize=4096,wsize=4096 partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs} partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=2048K,uuid=${uuid_gpt_bootloader};name=uboot-env,start=2432K,size=256K,uuid=${uuid_gpt_reserved};name=misc,size=128K,uuid=${uuid_gpt_misc};name=recovery,size=40M,uuid=${uuid_gpt_recovery};name=boot,size=10M,uuid=${uuid_gpt_boot};name=system,size=1024M,uuid=${uuid_gpt_system};name=vendor,size=256M,uuid=${uuid_gpt_vendor};name=userdata,size=-,uuid=${uuid_gpt_userdata} pxefile_addr_r=0x80100000 ramdisk_addr_r=0x88080000 rdaddr=0x88080000 rootpath=/d/sdk-am57xx-06.03.00.106/targetNFS run_fit=bootm ${fit_loadaddr}#${fdtfile}${overlaystring} scriptaddr=0x80000000 serial#=0f00d00248200322 serverip=192.168.1.105 setconsole=if $board_name=am5729_beaglebonai;then setenv console ttyS0,115200; fi;fdtfile=undefined soc=omap5 static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off stderr=serial@48020000 stdin=serial@48020000 stdout=serial@48020000 update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile} usbtty=cdc_acm vendor=ti ver=U-Boot 2019.01-g323d51410c-dirty (Jan 05 2021 - 17:35:03 +0800) vram=16M Environment size: 7735/131067 bytes =>
单板参照sdk-am57xx,芯片am5728,uboot的打印信息如附件。
可看出
board=am57xx
board_name=beagle_x15
这里beagle_x15是什么含义?是am5728的吗?
现在内核启动不成功,打印信息if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb;表明加载的设备树是am57xx-beagle-x15.dtb,这个设备树适合am57xx开发板吗?如果不适合,怎样修改使得设备树使用am57xx-evm.dtb,即执行if test $board_name = am57xx_evm; then setenv fdtfile am57xx-evm.dtb;
谢谢
Nancy Wang:
beagle_x15的处理器也是am5728。
https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_DSP_x15
请问是使用的最新版的SDK吗?最新的SDK中没有am57xx-evm.dtb,可以使用am57xx-beagle-x15.dtb,如果硬件上有不同,是需要修改的。
e2e.ti.com/…/3422083
内核打印信息贴出来看一下。
,
qingyulan:
8105.teraterm.log
用SDK版本是ti-processor-sdk-linux-am57xx-evm-06.03.00.106-Linux-x86-Install.bin。
直接编译uboot网口不通,无法tftp加载内核,修改uboot目录下./configs/am57xx_evm_defconfig文件里的CONFIG_DM_ETH=n后,网口通了,但内核没有启动成功。
附件是完整的log。
,
Nancy Wang:
抱歉再确认一下,请问有没有修改设备树中其它地方,包括uboot和kernel。
,
qingyulan:
我们的板子phy地址是0和1,只改了./board/ti/am57xx/board.c的如下地方,其它都没动
static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208,
.sliver_reg_ofs = 0xd80,
.phy_addr = 0,
},
{
.slave_reg_ofs = 0x308,
.sliver_reg_ofs = 0xdc0,
.phy_addr = 1,
},
};
,
qingyulan:
在uboot阶段设置 setenv bootfile zImage-am57xx-evm.bin
请问这里zImage-am57xx-evm.bin与zImage有什么区别?从tftp启动,那内核编译生成的zImage要放在主机的哪个目录下?
,
Nancy Wang:
是一样的,zImage-am57xx-evm.bin只是在prebuilt中重新命名,防止混淆。
放到 tftpboot 目录下。
前面内核启动的问题解决了吗?
,
qingyulan:
没有解决
,
qingyulan:
用bdinfo命令查看,内存大小识别为2G,但实际单板内存是1G的,与这有关系吗?
,
qingyulan:
4682.teraterm.log
通过修改设备树am57xx-beagle-x15-common.dtsi的如下
&davinci_mdio { phy0: ethernet-phy@1 { reg = <0>; };
phy1: ethernet-phy@2 { reg = <1>; };};
内核终于启动成功了,但是进入login后又崩溃了,附件是log
不知道与内存大小有关系没?我的单板内存是1G的。
修改设备树am57xx-beagle-x15-common.dtsi的如下地方
memory@0 { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x40000000>; };
uboot启动还是显示2G。请问如何修改uboot或内核使得系统识别为1G?谢谢
,
Nancy Wang:
以下两个链接中有关于内存修改的配置,参考看一下。
www.ti.com/…/spraca1.pdf
www.ti.com/…/sprac60.pdf
通过memtester测试一下内存看看。