国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

關(guān)于FPGA遠程更新bpi flash中multiboot的實現(xiàn)

這篇具有很好參考價值的文章主要介紹了關(guān)于FPGA遠程更新bpi flash中multiboot的實現(xiàn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

關(guān)于FPGA遠程更新bpi flash中multiboot的實現(xiàn)

  • 關(guān)鍵詞: 遠程固化、flash固化、multiboot實現(xiàn)、bpi flash
一.什么叫multiboot ?

multiboot 即 flash多重啟動加載方式,常用于遠程加載場景中,當(dāng)遠程加載失敗時,flash會啟動應(yīng)急預(yù)案,將另一塊地址的備用程序拿來作為加載FPGA的程序,防止由遠程固化失敗導(dǎo)致的FPGA啟動不了的情況。

二.multiboot 實現(xiàn)的基本流程

基本流程為: 將FLASH按照地址劃分為兩段,分別叫Golden Image和MultiBoot Image,使用時,需要在Golden Image和MultiBoot Image固化的程序文件中加入特定的約束。上電后,F(xiàn)PGA會先從Address 0開始加載程序,此時,特定的協(xié)議會告知FPGA從Upper Address加載程序。若MultiBoot Image中有配置完整的程序文件,F(xiàn)PGA將加載程序并運行,否則FPGA將會再次跳轉(zhuǎn)到Golden Image,直接從Address 0加載程序文件并運行。
bpi flash,fpga開發(fā),verilog,經(jīng)驗分享,multiboot,bpi flash

三、FPGA生成Golden Image和MultiBoot Image固化程序文件
(1)Golden Image的bit文件

在生成所需的bit流文件時,需要額外加入以下約束:

set_property BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT ENABLE [current_design]
set_property BITSTREAM.CONFIG.TIMER_CFG  0x00010000 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design] 
set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 0x00800000 [current_design]                
(2)MultiBoot Image的bit文件

在生成所需的bit流文件時,需要額外加入以下約束

set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design]  
set_property BITSTREAM.GENERAL.COMPRESS true [current_design] 
(3)一個工程同時生成兩種bit文件的方法(注:等于(1)+(2))
 
 set boot_bitfile_name "FPGA_boot.bit" ;
set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 1 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR Yes [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]               
set_property BITSTREAM.CONFIG.NEXT_CONFIG_ADDR 0x00800000 [current_design]
set_property BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT ENABLE [current_design]    
set_property BITSTREAM.CONFIG.TIMER_CFG  0x00010000 [current_design]


set path_curr_tcl [file dirname [info script]]; #獲取當(dāng)前腳本所在路徑

set OutPath "$path_curr_tcl/../../out";  #腳本路徑返回2級后的out文件夾 "/../"表示上一級路徑

#如果不存在此路徑,則新建
if { ![file exists $OutPath] } {
    file mkdir $OutPath ;
}

write_bitstream -force -bin_file [file join $OutPath $boot_bitfile_name];  #在指定路徑上生成bit文件

#到此結(jié)束是生成第一個bit和bin文件
#此處開始生成第二個bit和bin文件
set_property BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT DISABLE [current_design]
set_property BITSTREAM.CONFIG.CONFIGFALLBACK ENABLE [current_design]   
set_property BITSTREAM.CONFIG.TIMER_CFG  0x00000000 [current_design]
write_bitstream -force -bin_file [current_design]

并將如上約束復(fù)制到txt文件中,并將后綴改為tcl文件,并將tcl文件添加至比特流設(shè)置的 tcl pre 中,可在工程的out文件夾中的生成Golden Image的bit文件
bpi flash,fpga開發(fā),verilog,經(jīng)驗分享,multiboot,bpi flash

(4)將bit文件轉(zhuǎn)化為bin文件

如下圖,因為BPI 的bin文件需要進行swapping操作,因此bin文件需要使用如下方法生成。

bpi flash,fpga開發(fā),verilog,經(jīng)驗分享,multiboot,bpi flash

bpi flash,fpga開發(fā),verilog,經(jīng)驗分享,multiboot,bpi flash
如上需要選擇 對應(yīng)的flash芯片

四、遠程下載上板驗證
(1)生成合成的mcs文件

可以通過如下方式生成multiboot的合并mcs文件,第一個方框里是本文使用的bpi flash ,第二個方框中是multiboot的flash地址,注意,這里的地址與前面golden image 的約束是一致的,且這里的0x0800000地址,因為這里使用的是bpi x16的數(shù)據(jù)模塊,因此0x0800000對應(yīng)的數(shù)據(jù)位置其實是16M,這點我們在實現(xiàn)該功能的時候走了彎路,需要留意。
bpi flash,fpga開發(fā),verilog,經(jīng)驗分享,multiboot,bpi flash

(2)將mcs文件固化到flash中,重啟設(shè)置
(3)如何確定目前是multiboot image 還是 golden image的程序?

bpi flash,fpga開發(fā),verilog,經(jīng)驗分享,multiboot,bpi flash
如上點擊當(dāng)前的fpga芯片,可以找到boot status 寄存器,當(dāng)寄存器中的 BIT0_0_BACK為0 時候,表示這時候跑的是multiboot image的程序,如果BIT0_0_BACK為1 時候,表示這時候跑的是golden image的程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-608579.html

到了這里,關(guān)于關(guān)于FPGA遠程更新bpi flash中multiboot的實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Xilinx(AMD) 7系列FPGA——主BPI配置模式

    主BPI配置模式用于對啟動加載時間有要求的情況下使用,因為BPI模式為并行加載,加載時間較短,適用于需要快速加載的場景;主BPI模式,M[2:0] = 3’b010。主BPI模式進行讀寫操作時,分為同步與異步兩種,對于同步讀取,F(xiàn)PGA的CCLK管腳輸出必須連接到Flash的CLK引腳;對于異步讀

    2024年03月17日
    瀏覽(92)
  • FPGA vitis實現(xiàn)固化程序到flash

    FPGA vitis實現(xiàn)固化程序到flash

    之前有實現(xiàn)PL端的數(shù)據(jù)固化,僅對A、K系列的板子有效。需要的可以參考 FPGA VIVADO 實現(xiàn)FLASH固化操作步驟_fpga固化程序-CSDN博客 再者ZYNQ的開發(fā)板上一般都是要通過SDK固化的,所以本期講解一下vitis怎么固化程序。 由于ZYNQ有好幾種固化方式,我們先講一下最簡單的固化到flash,以

    2024年04月10日
    瀏覽(298)
  • FPGA VIVADO 實現(xiàn)FLASH固化操作步驟

    FPGA VIVADO 實現(xiàn)FLASH固化操作步驟

    2.1? 按順序選擇ToolsGenerate Memory Configuration File? ? 2.2 生成MCS ?2.3 對選擇的spi總線進行約束 默認是spi x1,如果在上一步選擇了其他的模式,可以直接在xdc文件中直接添加約束語句(舉例spi x4如下:選擇了其他spi總線只需更改第五句代碼中的總線數(shù)。 或者直接在vivado中選擇 ?

    2024年02月05日
    瀏覽(24)
  • FPGA遠程更新/遠程調(diào)試的一種簡單方法

    FPGA遠程更新/遠程調(diào)試的一種簡單方法

    之前介紹過一種遠程(無線)更新的方式,詳見《起飛!通過無線WIFI下載調(diào)試FPGA》,這種方式缺點有兩個:一是速度較慢;二是我們的設(shè)備中需要增加一個無線設(shè)備,增加成本的同時增加了暴露的風(fēng)險。這兩點即無法在調(diào)試的時候使用也沒辦法在實際設(shè)備中使用。今天我們

    2024年02月09日
    瀏覽(17)
  • 用于FPGA遠程更新的QuickBoot方法

    用于FPGA遠程更新的QuickBoot方法

    下圖為具有FPGA遠程更新功能的系統(tǒng)架構(gòu): 在FPGA設(shè)計中,F(xiàn)PGA固件主要燒錄到flash中。 QuickBoot遠程更新方案是一種用于FPGA固件遠程更新的解決方案; 該方案對固件更新過程的編程算法進行簡單調(diào)整,將 編程錯誤/中斷復(fù)的責(zé)任置于編程操作上 下圖展示了QuickBoot的系統(tǒng)架構(gòu)框圖

    2024年02月08日
    瀏覽(21)
  • 關(guān)于xilinx fpga flash燒錄失敗報錯cannot set write enable bit or block(s) protected

    關(guān)于xilinx fpga flash燒錄失敗報錯cannot set write enable bit or block(s) protected

    最近買了塊新板子,固化程序一次就燒錄不了,報錯ERROR: [Labtools 27-3347] Flash Programming Unsuccessful: cannot set write enable bit or block(s) protected 記錄一下如何解決的吧。 字面意思,flash寫保護了。用的開發(fā)板上的flash是MX25L25645G,先看手冊status register。 如圖保護是bit5到bit0。 讀一下該

    2024年02月08日
    瀏覽(31)
  • FPGA實現(xiàn)基于SPI協(xié)議的Flash驅(qū)動控制(全擦除、頁擦除、讀數(shù)據(jù)、頁寫、連續(xù)寫—地址寫)

    FPGA實現(xiàn)基于SPI協(xié)議的Flash驅(qū)動控制(全擦除、頁擦除、讀數(shù)據(jù)、頁寫、連續(xù)寫—地址寫)

    本論文使用Verilog HDL硬件描述語言,結(jié)合野火可以FPGA征途Pro開發(fā)板,實現(xiàn)了SPI通信協(xié)議的全擦除,扇區(qū)擦除,讀數(shù)據(jù),頁寫,連續(xù)寫的驅(qū)動設(shè)計。在 Altera Cyclone Ⅳ 芯片上采用“自頂向下”的模塊化設(shè)計思想及 Verilog HDL 硬件描述語言,設(shè)計并實現(xiàn)串行外設(shè)接口(SPI)。在 Qu

    2024年02月12日
    瀏覽(24)
  • 【FPGA】SPI讀寫flash

    【FPGA】SPI讀寫flash

    SPI是同步全雙工通信,通信原理以主從方式工作,通常有一個主設(shè)備和一個或多個從設(shè)備,需要4根線連接:MISO(主設(shè)備數(shù)據(jù)輸入)、MOSI(主設(shè)備輸出)、SCLK(時鐘)、CS(片選)。通常拉低對應(yīng)從機的片選來收發(fā)數(shù)據(jù)。 MISO:主設(shè)備輸入,從設(shè)備輸出 MOSI:主設(shè)備輸出,從設(shè)備輸入 SCLK:時

    2024年02月05日
    瀏覽(19)
  • FPGA 固化 燒寫進Flash!

    1、Generate Programming File? 生成bit 流文件; 2、生成.msc文件: 雙擊Manage Configuration Project,彈出燒程序界面(同RAM); 雙擊Create PROM File (PROM File……),彈出新界面,分3個步驟; 根據(jù)芯片型號進行配置: 選擇Xilinx Flash/PROM類型的設(shè)備 選擇PROM family (為platform Flash);選擇具體型

    2024年02月07日
    瀏覽(22)
  • 【FPGA】SPI讀寫FLASH閃存

    【FPGA】SPI讀寫FLASH閃存

    通信原理 SPI也是以主從方式工作,通常需要四根線來完成數(shù)據(jù)的傳輸,分別是MISO MOSI CS SCLK。以下是這四根線代表的含義: MISO:主設(shè)備輸入,從設(shè)備輸出 MOSI:主設(shè)備輸出,從設(shè)備輸入 CS :片選信號,選擇進行通信的從設(shè)備 SCLK:時鐘線,由主設(shè)備產(chǎn)生給到從設(shè)備 SPI通信的

    2024年02月16日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包