0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AMD Artix 7 FPGA OTA在線升級的實現(xiàn)

OpenFPGA ? 來源:博客園-付漢杰 hankf ? 2023-05-17 10:39 ? 次閱讀

作者:付漢杰 hankf@amd.com

文章來源:博客園

測試環(huán)境

參考文檔

xtp226-ac701-multiboot-c-2015-1.pdf

ug470_7Series_Config.pdf

xapp1247-multiboot-spi.pdf

ug952-ac701-a7-eval-bd.pdf

ug1579-microblaze-embedded-design.pdf

Vitis Embedded Software Debugging Guide (UG1515)

測試單板

ac701

測試工具

Vivado 2022.2

Vitis 2022.2

Mutliboot

UG470 Reconfiguration and MultiBoot Overview

UG470中的介紹如下

The 7 series FPGAs MultiBoot and fallback features support updating systems in the field.
Bitstream images can be upgraded dynamically in the field. The FPGA MultiBoot feature enables
switching between images on the fly. When an error is detected during the MultiBoot configuration
process, the FPGA can trigger a fallback feature that ensures a known good design can be loaded
into the device.

AMD FPGA支持的MultiBoot特性,可以使FPGA先嘗試啟動最新的配置(bit)文件,后續(xù)稱為Update Bit。如果最新的配置文件出錯,再回退到安全的出廠版本的配置(bit)文件,后續(xù)稱為Golden Bit。

MultiBoot特性有兩種方式使能。第一種方式是在配置(bit)文件里嵌入IPROG命令,觸發(fā)MultiBoot特性。第二種方式是通過AXI HWICAP寫入IPROG命令,觸發(fā)MultiBoot特性。

配置(bit)文件嵌入IPROG命令

建議閱讀XAPP1247 的 “Table 1: MultiBoot Bitstream Properties”。

MultiBoot Bitstream Properties

在工程的約束文件中,加入下列設(shè)置,會自動在配置(bit)文件中插入IPROG命令。

set_property BITSTREAM.CONFIG.CONFIGFALLBACK Enable [current_design] 
set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 0x600000 [current_design] 
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]

上述約束的NEXT_CONFIG_ADDR,根據(jù)實際的Flash分配情況設(shè)置。

對于AC701單板,也建議添加下列約束。

set_property BITSTREAM.CONFIG.CONFIGRATE 50  [current_design] 
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4  [current_design] 
set_property BITSTREAM.CONFIG.EXTMASTERCCLK_EN div-1  [current_design] 
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE YES  [current_design] 

set_property CONFIG_MODE SPIx4  [current_design] 
set_property CONFIG_VOLTAGE 3.3 [current_design] 
set_property CFGBVS VCCO [current_design] 

通過AXI HWICAP寫入IPROG命令

AMD提供IP,支持通過AXI總線,訪問ICAPE。

xtp226 也提供了硬件、軟件設(shè)計,它支持通過AXI HWICAP寫入IPROG命令,觸發(fā)FPGA重新加載。

golden_iprog_spi中的golden.c, 通過讀取AXI GPIO 0的狀態(tài),決定FPGA重新加載時使用的bit文件。AXI GPIO 0對應(yīng)到AC701上的SW2。AXI GPIO 0的bit-0,也就是SW2的靠角落(DS23、SW4)的開關(guān)1在1的狀態(tài)(靠液晶屏、7A200T芯片側(cè)),則加載0x400000的bit文件。AXI GPIO 0的bit-0為0, bit-3為1(SW2的開關(guān)4)在1的狀態(tài),則加載0x800000的bit文件。

    status = GpioInputExample(XPAR_AXI_GPIO_0_DEVICE_ID, &DataRead);     
    if (status == 0) {
        xil_printf("GpioInput Read data:0x%X
", DataRead);
if ( (DataRead & 0x00000001) == 0x00000001 )
{
fpga_iprog(0x00400000); // IPROG to GOOD BITSTREAM ,must match address in .prm
}
if ( (DataRead & 0x00000008) == 0x00000008 )
{
fpga_iprog(0x00800000); // IPROG to cause configuration error
}
    }
    else {
        print("GpioInput FAILED.
");
    }

對比

第一種方式,通過配置(bit)文件嵌入IPROG命令,實現(xiàn)最簡單,占用資源也最少。但是只能支持一個Update Bit文件。

第二種方式,通過AXI HWICAP寫入IPROG命令,在下發(fā)IPROG命令前,可以任意指定Flash地址,非常靈活。但是需要嵌入MicroBlaze和AXI HWICAP,需要占用部分FPGA資源,也需要一點軟件開發(fā)。

Artix FPGA OTA 在線升級的流程

首先分配Flash的存儲空間。Flash里 0x0 地址存放Golden Bit;Flash里 0x400000 地址存放 Update Bit;其中0x400000需要根據(jù)壓縮后的bit文件大小修改。

因為生成Golden Bit時,使用了屬性“BITSTREAM.CONFIG.NEXT_CONFIG_ADDR”, Golden Bit啟動后會自動加載Update Bit。

因為生成Golden/Update Bit時,使用了屬性“BITSTREAM.CONFIG.CONFIGFALLBACK”, 任何Bit失敗后,都會自動加載Golden Bit。

Golden bit和 Update bit內(nèi)部都集成MicroBlaze、hwicap和Quad SPI Controller,都有在線升級bit的能力。


a. MicroBlaze通過Ethernet、PCIe、UART等,從外部獲得新的Update Bit。
b. MicroBlaze將新的Update Bit寫入Quad SPI的0x400000并校驗
c. MicroBlaze寫IProg命令到HWICAP,重啟動FPGA
d. FPGA使用新的Update Bit配置,之后Update Bit開始工作。

如果后來芯片斷電之后再上電,Update Bit能直接加載Update Bit。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603421
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5468

    瀏覽量

    134168
  • OTA
    OTA
    +關(guān)注

    關(guān)注

    7

    文章

    580

    瀏覽量

    35230
  • bit
    bit
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    32016
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66539

原文標題:【干貨分享】AMD Artix 7 FPGA OTA 在線升級的實現(xiàn)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Artix-7 50T FPGA試用體驗】xilxin Artix-7 系列FPGA相關(guān)特性

    性能的情況下,開發(fā)人員必須能夠擴展使用模式,以實現(xiàn)更高的處理帶寬、更高的可移植性以及更廣的應(yīng)用范圍,同時使功耗這一關(guān)鍵資源保持最低。賽靈思 Artix?-7 系列 FPGA 重新定義了
    發(fā)表于 11-01 15:52

    STM32 OTA升級如何實現(xiàn)

    上次談到OTA,有小伙伴私信我表示對升級的原理感興趣?;叵氘敵跞肼毧吹組CU在線升級的代碼流程時,同樣感到很神奇,畢竟學生時代我們在MCU上開發(fā)基本不需要
    發(fā)表于 11-10 07:30

    什么是在線OTA升級

    什么是在線OTA升級- OTA是Over-the-Air的簡寫,空中下載技術(shù)的意思。- OTA在線
    發(fā)表于 12-22 07:44

    請問如何實現(xiàn)ESP32固件的OTA在線升級更新?

    什么是OTA?ESP32的OTA升級有哪幾種方式?如何實現(xiàn)ESP32固件的OTA在線
    發(fā)表于 01-14 06:05

    Xilinx Artix-7系列FPGA教程資料及設(shè)計實例_Artix 7開發(fā)板電路圖和例程

    低成本 FPGA實現(xiàn)最佳性能/功耗組合、AMS 集成、以及收發(fā)器線速。此系列為各類成本功耗敏感型應(yīng)用提供最大價值,包括軟件定義無線電、機器視覺照相以及低端無線回傳。本專題匯集Artix-7
    發(fā)表于 08-04 09:23
    Xilinx <b class='flag-5'>Artix-7</b>系列<b class='flag-5'>FPGA</b>教程資料及設(shè)計實例_<b class='flag-5'>Artix</b> <b class='flag-5'>7</b>開發(fā)板電路圖和例程

    Artix-7 DSP性能演示

    Xilin新推出小型產(chǎn)品的Artix-7 FPGA,我們將向大家講解:Artix-7 DSP性能演示。
    的頭像 發(fā)表于 06-05 07:46 ?4330次閱讀

    Artix-7 功耗優(yōu)勢演示

    Xilinx推出新品小型產(chǎn)品的Artix-7 FPGA,我們將為大家講述:Artix-7 功耗優(yōu)勢演示。
    的頭像 發(fā)表于 06-04 13:47 ?4499次閱讀

    如何使用Artix-7 FPGA減少功耗

    在本視頻中,您將了解Artix-7 FPGA的整體系統(tǒng)功耗和成本。 我們將快速回顧一下Artix-7 FPGA架構(gòu),邏輯架構(gòu),第四代DSP48E1片,6.6 Gbps GTP收發(fā)器,
    的頭像 發(fā)表于 11-21 06:10 ?3834次閱讀

    Artix-7 ARTY FPGA評估套件的演示

    該視頻演示了基于Artix-7的低功耗ARTY FPGA評估套件,該套件采用-1LI Artix-7 FPGA。 對于演示,該套件的工作功率不到半瓦,運行真實設(shè)計,并配有軟處理器。
    的頭像 發(fā)表于 11-29 06:23 ?2878次閱讀

    digilent Nexys 4:Artix-7 FPGA訓練板介紹

    搭載Xilinx?最新Artix?-7 FPGA芯片的Nexys 4 Artix-7 FPGA訓練板是一個完整的,即用的數(shù)字電路開發(fā)平臺。相
    的頭像 發(fā)表于 11-14 16:33 ?8343次閱讀
    digilent Nexys 4:<b class='flag-5'>Artix-7</b> <b class='flag-5'>FPGA</b>訓練板介紹

    Artix-7 FPGA數(shù)據(jù)表下載

    Artix-7 FPGA數(shù)據(jù)表下載
    發(fā)表于 05-21 14:34 ?10次下載

    在線升級 | 物聯(lián)網(wǎng)中的OTA升級原理

    從最新的固件方式來看,可以分成以下幾類 0 1 OTA升級 1.1? 概念 OTA:Over-the-Air Technology,即空中下載技術(shù)。 OTA
    的頭像 發(fā)表于 02-03 02:40 ?1379次閱讀

    Artix 7 FPGA上使用Vivado的組合邏輯與順序邏輯

    電子發(fā)燒友網(wǎng)站提供《在Artix 7 FPGA上使用Vivado的組合邏輯與順序邏輯.zip》資料免費下載
    發(fā)表于 06-15 09:14 ?0次下載
    在<b class='flag-5'>Artix</b> <b class='flag-5'>7</b> <b class='flag-5'>FPGA</b>上使用Vivado的組合邏輯與順序邏輯

    在線升級 | 物聯(lián)網(wǎng)中的OTA升級原理

    從最新的固件方式來看,可以分成以下幾類01OTA升級1.1概念OTA:Over-the-AirTechnology,即空中下載技術(shù)。OTA升級
    的頭像 發(fā)表于 02-02 09:59 ?1528次閱讀
    <b class='flag-5'>在線</b><b class='flag-5'>升級</b> | 物聯(lián)網(wǎng)中的<b class='flag-5'>OTA</b><b class='flag-5'>升級</b>原理

    AT32 MCU如何使用OTA通過USART實現(xiàn)對固件的在線升級更新

    AT32 MCU如何使用OTA通過USART實現(xiàn)對固件的在線升級更新
    的頭像 發(fā)表于 10-26 17:09 ?2577次閱讀
    AT32 MCU如何使用<b class='flag-5'>OTA</b>通過USART<b class='flag-5'>實現(xiàn)</b>對固件的<b class='flag-5'>在線</b><b class='flag-5'>升級</b>更新