|
u-boot-debug.bin
u-boot-debug.bin 是 u-boot.bin 的另外一个版本,它开启了u-boot 3秒倒计时,并在u-boot部分初始化网络等调试功能,目前仅 MYD-SAM9X5 区分了u-boot.bin 和 u-boot-debug.bin 两个文件,烧写时通过修改.tcl文件来指定两个文件中的一个:
[mw_shl_code=bash,true]
set ubootFile "u-boot.bin" #将u-boot.bin 改为 u-boot-debug.bin 可烧写带调试功能的 u-boot
[/mw_shl_code]
ubootEnvtFileNandFlash.bin
ubootEnvtFileNandFlash.bin 文件是 uboot 运行环境的配置脚本文件,一般由.tcl文件生成,如下是SAM9G45的TCL文件生成 ubootEnvtFileNandFlash.bin 脚本内容:
[mw_shl_code=bash,true]################################################################################
# proc uboot_env: Convert u-boot variables in a string ready to be flashed
# in the region reserved for environment variables
################################################################################
proc set_uboot_env {nameOfLstOfVar} {
upvar $nameOfLstOfVar lstOfVar
# sector size is the size defined in u-boot CFG_ENV_SIZE
set sectorSize [expr 0x20000 - 5]
set strEnv [join $lstOfVar "\0"]
while {[string length $strEnv] < $sectorSize} {
append strEnv "\0"
}
# \0 between crc and strEnv is the flag value for redundant environment
set strCrc [binary format i [::vfs::crc $strEnv]]
return "$strCrc\0$strEnv"
}
lappend u_boot_variables \
"ethaddr=3a:1f:34:08:54:54" \
"bootdelay=3" \
"baudrate=115200" \
"stdin=serial" \
"stdout=serial" \
"stderr=serial" \
"ipaddr=192.168.2.15" \
"serverip=192.168.2.110" \
"bootargs=mem=128M console=ttyS0,115200 mtdparts=atmel_nand:5M(bootstrap/uboot/kernel)ro,64M(rootfs),-(data) root=/dev/mtdblock1 rw rootfstype=jffs2" \
"bootcmd=nand read.i $kernelLoadAddr $kernelUbootAddr $kernelSize; bootm $kernelLoadAddr"
puts "-I- === Load the u-boot environment variables ==="
set fh [open "$ubootEnvFile" w]
fconfigure $fh -translation binary
puts -nonewline $fh [set_uboot_env u_boot_variables]
close $fh
send_file {NandFlash} "$ubootEnvFile" $ubootEnvAddr 0
[/mw_shl_code]
SAM9X5 和 SAMA5D3X 的 tcl文件中没有该部分代码,出厂时已经直接提供,如果修改 u-boot 运行变量,可以参考如上 9G45 的tcl文件部分。最后,
附上MYS-SAM9G45 tcl镜像文件:
at91sam9g45ekes_demo_linux_nandflash.tcl
(4.29 KB, 下载次数: 12687)
|
|