参考文章
128MB | 0x800_0000 |
256MB | 0x1000_0000 |
512MB | 0x2000_0000 |
1G | 0x4000_0000 |
4G | 0x1_0000_0000 |
128MB |
板卡参数
条目 | 说明 |
---|---|
DDR | MT41K128M16JT-125 2Gb=256MB=0x1000_0000B |
引脚配置
设置网络
setenv serverip 192.168.0.106
setenv ipaddr 192.168.0.99
测试网络
ping 192.168.0.106
下载文件到DDR
tftpboot 0x100000 allrootfs.new
nand erase 0x2a20000 0x4000000
nand write 0x100000 0x2a20000 0x4000000
FPGA在线更新
/dev/xdevcfg
bitstream_image=system.bit.bin
boot_image=BOOT.bin
boot_size=0xF00000
bootcmd=run $modeboot
bootenv=uEnv.txt
devicetree_image=devicetree.dtb
devicetree_load_address=0x2000000
devicetree_size=0x20000
dfu_mmc=run dfu_mmc_info && dfu 0 mmc 0
dfu_mmc_info=set dfu_alt_info ${kernel_image} fat 0 1\\;${devicetree_image} fat 0 1\\;${ramdisk_image} fat 0 1
dfu_ram=run dfu_ram_info && dfu 0 ram 0
dfu_ram_info=set dfu_alt_info ${kernel_image} ram 0x3000000 0x500000\\;${devicetree_image} ram 0x2A00000 0x20000\\;${ramdisk_image} ram 0x2000000 0x600000
ethact=Gem.e000b000
ethaddr=00:0a:35:00:01:22
fdt_high=0x20000000
gatewayip=192.168.0.1
importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
initrd_high=0x20000000
ipaddr=192.168.0.115
jtagboot=echo TFTPing Linux to RAM... && tftpboot ${kernel_load_address} ${kernel_image} && tftpboot ${devicetree_load_address} ${devicetree_image} && tftpboot ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
kernel_image=uImage
kernel_load_address=0x2080000
kernel_size=0x500000
loadbit_addr=0x100000
loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
loadbootenv_addr=0x2000000
mmc_loadbit=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo && load mmc 0 ${loadbit_addr} ${bitstream_image} && fpga loadb 0 ${loadbit_addr} ${filesize}
modeboot=nandboot
nandboot=
echo Copying Linux from NAND flash to RAM... &&
nand info &&
run nandroot;
nand read 0x100000 0x2220000 0x300000 &&
fpga loadb 0 0x100000 0x300000 &&
nand read ${kernel_load_address} 0x300000 ${kernel_size} &&
nand read ${devicetree_load_address} 0x800000 ${devicetree_size} &&
bootm ${kernel_load_address} - ${devicetree_load_address}
nandboot0=echo Copying Linux from NAND flash to RAM... && nand read ${kernel_load_address} 0x300000 ${kernel_size} && nand read ${devicetree_load_address} 0x800000 ${devicetree_size} && echo Copying ramdisk... && nand read ${ramdisk_load_address} 0x820000 ${ramdisk_size} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
nandroot=setenv bootargs 'console=ttyPS0,115200 root=/dev/mtdblock6 rootfstype=jffs2 noinitrd rw rootwait'
----------------------------------------------
norboot=
echo Copying Linux from NOR flash to RAM... &&
cp.b 0xE2100000 ${kernel_load_address} ${kernel_size} &&
cp.b 0xE2600000 ${devicetree_load_address} ${devicetree_size} &&
echo Copying ramdisk... &&
cp.b 0xE2620000 ${ramdisk_load_address} ${ramdisk_size} &&
bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
----------------------------------------------------------------------------------
preboot=
if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test; then
if env run loadbootenv; then
env run importbootenv;
fi;
fi;
----------------------------------------------------------------
qspiboot=
echo Copying Linux from QSPI flash to RAM... &&
sf probe 0 0 0 && sf read ${kernel_load_address} 0x100000 ${kernel_size} &&
sf read ${devicetree_load_address} 0x600000 ${devicetree_size} &&
echo Copying ramdisk... &&
sf read ${ramdisk_load_address} 0x620000 ${ramdisk_size} &&
bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
--------------------------------------------------------------------------------------
ramdisk_image=uramdisk.image.gz
ramdisk_load_address=0x4000000
ramdisk_size=0xA00000
rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b 0xE2100000 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
rsa_sdboot=echo Copying Image from SD to RAM... && load mmc 0 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
---------------------------------------------------------
sdboot=
if mmcinfo; then
run uenvboot;
echo Copying Linux from SD to RAM... &&
load mmc 0 ${kernel_load_address} ${kernel_image} &&
load mmc 0 ${devicetree_load_address} ${devicetree_image} &&
load mmc 0 ${ramdisk_load_address} ${ramdisk_image} &&
bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address};
fi
serverip=192.168.0.104
stderr=serial
stdin=serial
stdout=serial
thor_mmc=run dfu_mmc_info && thordown 0 mmc 0
thor_ram=run dfu_ram_info && thordown 0 ram 0
uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && load usb 0 ${kernel_load_address} ${kernel_image} && load usb 0 ${devicetree_load_address} ${devicetree_image} && load usb 0 ${ramdisk_load_address} ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}; fi
Environment size: 5314/131068 bytes