工具/软件:Linux
我使用 k2levm (TCI6630)。
我已下载 SDK-Linux (ti-processor-sdk-linux-K2L-evm-04.00.00.04)和内置 u-boot 和内核。
我成功使用了 tftp 和 u-boot。
我正在尝试在 u-boot 中将内核(zImage)下载到 nand。
但我不理解如何从 nand 闪存加载内核。
我将按照中的步骤进行操作:
processors.wiki.ti.com/.../Program_EVM_UG
processors.wiki.ti.com/.../Linux_Kernel_Users_Guide
u-boot 环境如下所示。
U-Boot SPL 2017.01-g9fd60700db (2017年6月28日- 18:48:37)
尝试从 SPI 引导
U-Boot 2017.01-g9fd60700db (2017年6月28日- 18:48:37 -0400)
CPU:66AK2Lx SR1.0
型号:德州仪器 Keystone 2 Lamarr EVM
I2C: 就绪
DRAM: DRAM:2 GiB
清除整个 DDR3内存以启用 ECC
2GiB
NAND: 2048 MIB
net: eth0:netcp@26000000
警告:netcp@slave-1 (eth1)使用随机 MAC 地址- ea:5b:95:5c:73:C7
,eth1:netcp@slave-1.
警告:netcp@slave-2 (eth2)使用随机 MAC 地址- 4e:14:8a:dc:5e:f0
,eth2:netcp@slave-2
警告:netcp@slave-3 (eth3)使用随机 MAC 地址- ce:28:10:14:0e:da
,eth3:netcp@slave-3
按任意键停止自动引导: 0
=>
=>印刷版
ADDR_LOAD_SEC_BM=0x0c08c000
Addr_mon=0x87000000
Addr_non_sec_mon=0x0c087fc0
Addr_sectiondb_key=0xc000000
ADDR_ubi=0x82000000
arch = ARM
args_all=setenv bootargs console=ttyS0、115200n8 rootwait=1
args_net=setenv bootargs ${bootargs}rootfstype=NFS root=/dev/nfs rw nfsroot=${serverip}:${nfs_root}、${nfs_options}ip=dhcp
args_ramfs=setenv bootargs ${bootargs}rdinit=/sbin/init rw root=/dev/ram0 initrd=0x8080000,80M
args_ubi=setenv bootargs ${bootargs}rootfstype=ubifs root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs、4096
波特率=115200
board=ks2_evm
board_name=ks2_EVM
boot=ubi
BOOT_FDT=尝试
bootcmd=run init_${boot};运行 get_mon_${boot}run_mon;运行 get_kern_${boot};运行 init_fw_rd_${boot};运行 get_FDT_${boot}; 运行 run_kern
BOOTDELAY=2
bootdir=/boot
BOOTM_SIZE=0x10000000
burn_ubi=n 和 erase.part ubifs;n 并写入${addr_ubi}ubifs ${filesize}
burn_uboot_nAND_AND = n 并擦除0 0x100000;n 并写入${loadaddr}0 ${filesize}
burn_uboot_SPI=SF 探测器;SF 擦除0 0x90000;SF 写入${loadaddr}0 ${filesize}
CPU=armv7
ethaddr=74:da:ea:33:B5:A8
FDT_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontrolladdr=fdee8fe0
get_FDT_net=DHCP ${fdtaddr}${tftp_root}/${name_FDT}
get_FDT_NFS=NFS ${fdtaddr}${nfs_root}/boot/${name_FDT}
get_FDT_ramfs=DHCP ${fdtaddr}${tftp_root}/${name_FDT}
get_FDT_ubi=ubifsload ${fdtaddr}${bootdir}/${name_FDT}
get_fit_mmc=load MMC ${bootpart}${fit_loadaddr}${bootdir}/${fit_bootfile}
get_fit_net=DHCP ${fit_loadaddr}${tftp_root}/${fit_bootfile}
get_fit_nfs=nfs ${fit_loadaddr}${nfs_root}/boot/${fit_bootfile}
get_fit_ramfs=DHCP ${fit_loadaddr}${tftp_root}/${fit_bootfile}
get_fit_ubi=ubifsload ${fit_loadaddr}${bootdir}/${fit_bootfile}
get_fs_ramfs=DHCP ${rdaddr}${tftp_root}/${name_fs}
get_kern_net=DHCP ${loadaddr}${tftp_root}/${name_kern}
get_kern_nfs=nfs ${loadaddr}${nfs_root}/boot/${name_kern}
get_kern_ramfs=DHCP ${loadaddr}${tftp_root}/${name_kern}
get_kern_ubi=ubifsload ${loadaddr}${bootdir}/${name_kern}
get_mon_net=DHCP ${addr_mon}${tftp_root}/${name_mon}
get_mon_nfs=nfs ${addr_mon}${nfs_root}/boot/${name_mon}
get_mon_ramfs=DHCP ${addr_mon}${tftp_root}/${name_mon}
get_mon_ubi=ubifsload ${addr_mon}${bootdir}/${name_mon}
get_ubi_net=DHCP ${addr_ubi}${tftp_root}/${name_ubi}
get_ubi_nfs=nfs ${addr_ubi}${nfs_root}/boot/${name_ubi}
get_uboot_net=DHCP ${loadaddr}${tftp_root}/${name_uboot}
get_uboot_nfs=nfs ${loadaddr}${nfs_root}/boot/${name_uboot}
init_fw_rd_net=DHCP ${rdaddr}${tftp_root}/${name_fw_rd};运行 set_rd_spec
init_fw_rd_nfs=nfs ${rdaddr}${nfs_root}/boot/${name_fw_rd};运行 set_rd_spec
init_fw_rd_ramfs=setenv rd_spec -
init_fw_rd_ubi=ubifsload ${rdaddr}${bootdir}/${name_fw_rd};运行 set_rd_spec
init_net=run args_all args_net
init_nfs=setenv 自动载入否;dhcp;运行 args_all args_net
init_ramfs=run args_all args_ramfs get_fs_ramfs
init_ubi=run args_all args_ubi;ubi 零件子项;ubifsmount ubi:rootfs;
ipaddr=192.168.56.24
kernel_addr_r=0x82000000
loadaddr=0x82000000
MEM_Lpae=1
mtdparts=mtdparts=Davinci_nand.0:1024k (引导加载程序) ro、512K (params) ro、-(ubifs)
NAME_FDT=KeyStone-K2L-EVM.dTB
NAME_FS=arago-console-image-k2l-evm.cpio.gz
NAME_FW_rd = k2-fw-initrd.cpio.gz
name_kern=zImage
name_mon=skern-k2l.bin
NAME_ubi=K2L-EVM-ubifs.ubi
NAME_uboot=u-boot-SPI-K2L-EVM.GPH
nfs_options=v3、tcp、rsize=4096、wsize=4096
nfs_root=/export
NO_POST=1
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
读数地址= 0x88080000
run_kern=bootz ${loadaddr}${rd_spec}${fdtaddr}
run_mon=mon_install ${addr_mon}
run_mon_hs=mon_install ${addr_non_sec_mon}${addr_load_sec_BM}
脚本地址=0x80000000
serverip=192.168.56.105
set_rd_spec=setenv rd_spec ${rdaddr}:${filesize}
SoC= KeyStone
stderr=串行@02530c00
stdin =串行@02530c00
stdout=串行@02530c00
TFTP_ROOT=/
供应商= TI
ver = U-Boot 2017.01-g9fd60700db (2017年6月28日- 18:48:37 -0400)
环境大小:3942/262140字节
=>
问题)
1.您为什么需要 name_mon (skern-K2L.bin)?
在0x82000000加载 zImage 后、写入 nand 的地址是什么?
3.在 nand flash 中加载内核的 bootcmd 是什么?