This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TCI6630K2L:在 K2L EVM 板上加载内核

Guru**** 2551110 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/615689/linux-tci6630k2l-load-kernel-on-k2l-evm-board

器件型号:TCI6630K2L

工具/软件: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 是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将此信息转发给软件专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev