测试AM572X EVM时,用tftpboot [ip] [bootfile]操作了,正确操作为tftpboot[addr] [ip] [bootfile],但是命令也成功执行了,请问这里我没输入烧写地址是默认为0了吗?还有,请问uboot内存擦除命令是什么,找了一下似乎没有发现,TI wiki偶尔上不了,请问有离线版的库吗?
Steven Liu1:
没太懂你表达的意思。是想问TFTP的地址,原来那个地址上面是什么数据吗?这个地址原来上是有随机数据的,但是你down下去了就写成了你的数据。然后你直接向从这里启动或者烧录就可以了。然后现在的问题是什么?
如果只是想蚊怎么样把内存全写0或者全写1的话,你可以直接试试这个命令:
mw.b 0x82000000 0xFF 0x20000
内存地址 全1 偏移量(即写入的空间)
bin xu7:
回复 Steven Liu1:
我的意思是我用TFTP命令漏了写烧写地址,但还是把数据烧写成功了,请问我此时的烧写地址是多少?是0吗?
Steven Liu1:
回复 bin xu7:
不是,我们的memory map中DDR的起始地址是0x80000000。
你tftp的命令地址漏了,但是还是down下来了image这点,应该是download到了默认设置的环境变量地址中。
能发一下你在uboot中的环境变量吗?在uboot的环节中运行pri即可得到。然后运行tftp的结果也一并发一下。
bin xu7:
回复 Steven Liu1:
最近有其他任务要做,一直没回复,抱歉,下面是运行pri的结果:
arch=armargs_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}baudrate=115200board=am57xxboard_name=am57xx_evm_es2plusboard_rev=A.30board_serial=28164P550879bootcmd=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot …;setenv dofastboot 0; saveenv;echo Booting into fastboot …; fastboot;fi;run findfdt; run envboot; run mmcboot;setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot;bootdelay=1bootdir=/bootbootenvfile=uEnv.txtbootfile=zImagebootm_size=0x10000000bootpart=0:2bootscript=echo Running bootscript from mmc${mmcdev} …; source ${loadaddr}console=ttyO2,115200n8cpu=armv7dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x400;spl-os-args.raw raw 0x80 0x80;spl-os-image.raw raw 0x900 0x2000;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x400;spl-os-args.raw raw 0x80 0x80;spl-os-image.raw raw 0x900 0x2000;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1dfu_alt_info_qspi=MLO raw 0x0 0x010000;MLO.backup1 raw 0x010000 0x010000;MLO.backup2 raw 0x020000 0x010000;MLO.backup3 raw 0x030000 0x010000;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 0x800000dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000dfu_bufsiz=0x10000dofastboot=0envboot=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=a4:d5:78:c4:e1:51ethact=cpswethaddr=a4:d5:78:c4:e1:50fdt_addr_r=0x88000000fdtaddr=0x88000000fdtfile=undefinedfindfdt=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; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = beagle_x15_es2plus; then setenv fdtfile am57xx-beagle-x15-es2plus.dtb; fi;if test $board_name = am57xx_evm; then setenv fdtfile am57xx-evm.dtb; fi;if test $board_name = am57xx_evm_es2plus; then setenv fdtfile am57xx-evm-es2plus.dtb; fi;if test $board_name = am572x_idk; then setenv fdtfile am572x-idk.dtb; fi;if test $board_name = am571x_idk; then setenv fdtfile am571x-idk.dtb; fi;if test $board_name = am572x_idk_osd; then setenv fdtfile am572x-idk-lcd-osd.dtb; fi;if test $board_name = am571x_idk_osd; then setenv fdtfile am571x-idk-lcd-osd.dtb; fi;if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi; finduuid=part uuid mmc 0:2 uuidimportbootenv=echo Importing environment from mmc${mmcdev} …; env import -t ${loadaddr} ${filesize}kernel_addr_r=0x82000000loadaddr=0x82000000loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scrloadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}mmcboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then run loadfdt; echo Booting from mmc${mmcdev} …; run args_mmc; bootz ${loadaddr} – ${fdtaddr}; fi;fi;mmcdev=0mmcrootfstype=ext4 rootwaitnetargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcpnetboot=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}nfsopts=nolockpartitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}ramdisk_addr_r=0x88080000rdaddr=0x88080000rootpath=/export/rootfsscsidevs=0soc=omap5static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::offstderr=serialstdin=serialstdout=serialusbtty=cdc_acmvendor=tiver=U-Boot 2015.07 (Jan 28 2016 – 14:19:33 -0500)vram=16M
Environment size: 4631/65532 bytes
之前运行tftp命令是先临时设置server ip为我的虚拟机ip,ping通之后测试tftp命令,然后漏了地址也down下来了,你所指的tftp结果是让我再按照之前的运行一边吗?
Steven Liu1:
回复 bin xu7:
是的。
你可以查一下,你漏了地址测试TFTP的时候,他是不是down了zImage在0x82000000这个地址上面。
这里看到你的环境变量中有:
netloadimage=tftp ${loadaddr} ${bootfile}
loadaddr=0x82000000
bootfile=zImage
TI中文支持网