硬件平台:XCZ7020 CLG484-1
开发环境:Widows下Vivado 2016.2 、 SDK2016.2 、 Ubuntu 16.04
工具:kermit
所需材料:编译好的u-boot.elf、uImage、devicetree.dtb、uramdisk、硬件平台的bitstream
思路:先通过SDK生成BOOT.bin(不包含bitstream),并使用SDK将BOOT.bin下载到QspiFlash中,配置板卡从QspiFlash启动。Uboot执行之后通过Uboot使用串口将uImage、devicetree.dtb、uramdisk、bitstream下载到QspiFlash中,并将各个文件的地址传给Uboot。配置完Uboot后即完成。
STEP1:
首先:下载kermit工具,并配置kermit。
通过串口将文件下载到QspiFlash中使用的是kermit协议,而常用的minicom不支持kermit协议,所以需要安装kermit。
# apt-get install ckermit
安装完后配置kermit,将下面代码添加到/etc/kermit/kermrc中。注意:需要改变kermrc文件权限。
set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
Kermit模式切换:
# kermit 即可启动kermit
C-Kermit>connect 连接串口进入到超级终端模式
同时按下 Ctrl + \ 再按c切换到kermit命令模式
SETP2:
下载文件到QspiFlash中。我的硬件平台上的QspiFlash大小为32MB,空间分配如下所示:
起始 SIZE
BOOT.bin 0X000000 0X100000
uImage 0X100000 0X600000
devicetree 0X700000 0X100000
uramdisk 0X800000