Fast Development Kit(FDK)-固件部署与升级

2019-07-13 03:20发布

class="markdown_views prism-dracula"> Fast Development Kit(FDK)是本人实践中总结的一套开发工具,包括了常用的工具集,已经制作好发布在根文件系统中,目前支持Xilinx zynq,Xilinx zynqmp,NXP t2080。

参考

Fast Development Kit(FDK)-嵌入式Linux开发包

固件部署

启动板卡有很多配置项,这些固件如何部署到板卡上,
  1. zynq平台由于MIO数量不足,emmc放在PL EMIO上,所以PL的配置文件只能放在qspi flash中,
  2. 对于zynq/zynqmp+FPGA或者t2080+FPGA上,FPGA一般有自己的配置flash,当然也可以动态下载进去,但是我们的项目没采用这种方式,添加FPGA作为一个可选的配置项,
  3. boot对于zynq/zynqmp,是由xilinx的bootgen工具生成的,包括fsbl+uboot/fsbl+pmu+atf+uboot,对于t2080就是uboot,
  4. 对于t2080,有独有的rcw和fman需要配置,
固件/平台 Xilinx zynq Xilinx zynqmp NXP t2080 app emmc-ext4(path: /home/root) emmc-ext4(path: /home/root) nor flash-ubifs(path: /home/root) boot qspi flash(mtd label: boot) qspi flash(mtd label: boot) nor flash(mtd label: boot) pl qspi flash(mtd label: fpga) emmc-ext4 no kernel emmc-ext4(path: /boot) emmc-ext4(path: /boot) nor flash-ubifs(path: /boot) dtb emmc-ext4(path: /boot) emmc-ext4(path: /boot) nor flash-ubifs(path: /boot) rootfs emmc-ext4(path: /) emmc-ext4(path: /) nor flash-ubifs(path: /) FPGA(selected) qspi/nor flash(mtd label: xxx) qspi/nor flash(mtd label: xxx) qspi/nor flash(mtd label: xxx) rcw no no nor flash(mtd label: rcw) fman no no nor flash(mtd label: fman) 出厂时的固件首先由下载器部署uboot,然后使用uboot完成其余固件下载。

固件升级

根据上面的固件部署特点,设计一个配置文件,用于在操作系统下进行固件升级,下面是一个模板,可增加或删减配置文件,升级时,利用上位机将升级包上传到板卡,板卡固件升级程序根据配置文件,执行升级动作。 # zynq_fw.config name device fs label/path file boot mtd no boot boot.bin pl mtd no fpga download.bit kernel emmc yes /boot uImage dtb emmc yes /boot system.dtb v7 mtd no v7bin v7.bin # zynqmp_fw.config name device fs label/path file boot mtd no boot boot.bin pl emmc yes /boot download.bit kernel emmc yes /boot Image dtb emmc yes /boot system.dtb v7 mtd no v7bin v7.bin # t2080_fw.config name device fs label/path file boot mtd no boot u-boot.bin kernel emmc yes /boot uImage dtb emmc yes /boot system.dtb v7 mtd no v7bin v7.bin rcw mtd no rcw PBL.bin fman mtd no fman fsl_fman_ucode_t2080_r1.1_106_4_18.bin 比如,
(1)获取升级文件,比如内核文件为mwm193_uImage,设备树文件system_mwm193.dtb
(2)编写配置文件,mwm193_uImage对应的name为kernel,kernel emmc yes /boot mwm193_uImage
system_mwm193.dtb对应name为dtb,dtb emmc yes /boot system_mwm193.dtb,最终的配置文件为, name device fs label/path file kernel emmc yes /boot mwm193_uImage dtb emmc yes /boot system_mwm193.dtb