1、scripts文件夹里面的make_qspi_image.sh、deploy_qspi_images.sh 到/mnt/workspace/osrc/scripts
2、在linux控制台 执行如下步骤先修改几个地方,
打开settings64.sh
打开include/configs/zynq-common.h 文件
修改完成后,需要重新编译
输入
cd /mnt/workspace/osrc/scripts
source settings64.sh
cfg_uboot.sh
make_uboot.sh
make_qspi_image.sh
给开发板通电,插入下载器,并把下载器链接到LINUX虚拟机(LINUX真实机也可以)
开发板上的模式开关切换到 QSPI模式(2017.4开始 烧写FLASH会出问题,7035和7100后面给出从SD卡复制程序到QSPI)
输入
deploy_qspi_images.sh
烧写完成后.打开串口观察串口输出,可以看到中间有一段输出了我们修改的地址空间。
这一节课中采用的芯片是7020的芯片观察其,开发板采用16MB或者32MB的FLASH
bit+fsbl+uboot有4MB大小因此给出0~0x500000的大小够用
uimage 是内核大小大概4MB 0x500000~0xA00000的大小够用
devicetree大小10KB 因此0xA00000~0xA20000的大小够用
ramdisk大概3MB最后剩余空间放ramdisk
注意:初学者一定要去看批处理文件,比如include/configs/zynq-common.h 文件 make_qspi_image.sh里面以下这段代码特别注意。
# 3. Das U-Boot boot loader
echo " ${ZN_TARGET_DIR}/u-boot.elf" >>${BIF_FILE}
# 4. Linux kernel with modified header for U-Boot
echo " [offset = 0x500000]${ZN_TARGET_DIR}/uImage.bin" >>${BIF_FILE}
# 5. Device tree blob
echo " [offset = 0xA00000]${ZN_TARGET_DIR}/devicetree.dtb" >>${BIF_FILE}
# 6. Root filesystem
echo " [offset = 0xA20000]${ZN_TARGET_DIR}/uramdisk.image.gz" >>${BIF_FILE}
这段代码是设置 所有的文件的地址偏移的,不同的ZYNQ芯片不同的设备树,大小都不一样,地址空间一定不能重叠,冲突。
|