Fast Development Kit(FDK)-固件部署與升級

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
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章