一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Xilinx FPGA從spi flash啟動(dòng)配置數(shù)據(jù)時(shí)的地址問題

OpenFPGA ? 來源: 瓜大三哥 ? 2023-11-29 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA上電(Master)

fpga 上電時(shí),默認(rèn)是從 flash 的 0x00 地址開始讀數(shù)據(jù)。如 UG470 文檔 page144 描述

6cfa7f00-8e4f-11ee-939d-92fbcf53809c.png

fpga 會(huì)從 0 開始讀,地址不斷自增,直到讀取到有效的同步字 sync word(0xAA995566),才認(rèn)為接下來的內(nèi)容是一個(gè)有效的 bin 文件內(nèi)容的開始。讀到有效 sync word 后不會(huì)再繼續(xù)讀搜尋其他的 bin 文件。如 UG470 文檔 page81 描述:

6d146406-8e4f-11ee-939d-92fbcf53809c.png

幾種情況

只有一個(gè) bit 文件,使用如下命令將該 bit 文件寫出轉(zhuǎn)換為 mcs 文件,并燒入 spi flash 中。

write_cfgmem-formatmcs-interfacespix4-size8-loadbit{up
0x400000./soc_top.bit}-filesoc_top_0x400000.mcs-force

該 bit 文件在 flash 中存放的起始地址是 0x400000 ,上電 fpga 能正常啟動(dòng),因?yàn)榍安糠值牡刂?0x000000-0x400000 之間都是無效數(shù)據(jù), fpga 從 0x000000 地址開始讀,沒有有效的 sync word ,讀地址不斷增加,直到 0x400000 地址才會(huì)讀到同步字,然后就能正常的從 0x400000 開始配置。

有兩個(gè) bit 文件,使用該命令轉(zhuǎn)換為一個(gè) mcs 文件

write_cfgmem-formatmcs-interfacespix4-size8-loadbit{up0x000000./design1.bit
up0x400000./design2.bit}-filemixed.mcs-force

第一個(gè) bit 文件放在 0x000000 地址,第二個(gè)放在 0x400000 地址,燒寫 flash ,上電后 fpga 從 deign1.bit
啟動(dòng),因?yàn)榈谝粋€(gè) bit 在前面, fpga 上電后從 0x000000 地址開始讀,會(huì)先讀到 deign1.bit ,然后成功地從deign1.bit 初始化。

若把 mcs 文件中關(guān)于 deign1.bit 的 FDRI data 的內(nèi)容手動(dòng)改為其他值,使得配置的時(shí)候會(huì)出現(xiàn) CRC 校驗(yàn)錯(cuò)誤, deign2.bit 相關(guān)的內(nèi)容不變,燒寫進(jìn)flash,上電, FPGA 無法正常配置數(shù)據(jù),既不會(huì)從deign1.bit啟動(dòng),也不能從deign2.bit 啟動(dòng),這是因?yàn)榈谝粋€(gè)bit在前面, fpga 上電后從 0x000000 地址開始讀,會(huì)先讀到 deign1.bit ,然后從 deign1.bit 開始初始化,但是會(huì)發(fā)生CRC錯(cuò)誤,然后又fallback 回 0 地址讀,依然是讀到 design1.bit 的數(shù)據(jù),還是 CRC 錯(cuò)誤,最后發(fā)生配置失敗。

若只把 mcs 文件中關(guān)于 deign1.bit 的 sync word 的內(nèi)容手動(dòng)改為其他值,比如 0xAA997866 ,deign2.bit 相關(guān)的內(nèi)容不變,燒寫進(jìn) flash 上電, FPGA 成功從 deign2.bit 啟動(dòng)。這是因?yàn)榈谝粋€(gè) bit 在前面, fpga 上電后從0x000000 地址開始讀,讀到 deign1.bit 的 sync word 為 0xAA997866 時(shí),發(fā)現(xiàn)不是有效的 sync word ,不會(huì)判斷接下來的內(nèi)容是屬于一個(gè)有效的配置文件,于是繼續(xù)自增地址往上讀,直到讀到 0x400000 地址后面,成功讀到 design2.bit 的 sync word ,發(fā)現(xiàn)有效,然后從 deign2.bit 開始初始化。這樣就跳過了前面 deign1.bit 的內(nèi)容。

bitstream 約束

對(duì)bit流進(jìn)行壓縮

set_propertyBITSTREAM.GENERAL.COMPRESSTRUE[current_design]

打開看門狗功能

set_propertyBITSTREAM.CONFIG.CONFIGFALLBACKENABLE[current_design]

如果加載 Update_Image 配置文件失敗后,沒有返回加載 Golden_Image ,則會(huì)根據(jù)指定的時(shí)間啟動(dòng)看門狗,強(qiáng)制返回加載 Golden_Image 。

生成 bit 文件的頭部添加 IPROG 命令和設(shè)置 WBSTAR 的命令

set_propertyBITSTREAM.CONFIG.NEXT_CONFIG_ADDR0x0400000[current_design]

配置時(shí)執(zhí)行到 IPROG 命令后,會(huì)直接跳轉(zhuǎn)到指定的地址中繼續(xù)執(zhí)行配置。可用于 Golden_Image 中設(shè)置為跳轉(zhuǎn)到 Update_Image 啟動(dòng)。其實(shí)加不加這個(gè)約束,生成的bit流中的頭部,都會(huì)有 IPROG 和設(shè)置 WBSTAR 的相關(guān)命令的占位空間,只是不加該約束時(shí), IPROG 的位置會(huì)由 000000 替代, NOP 指令,只是空的占位符;而寫 WBSTAR 寄存器的指令依然存在,但是寫 WBSTAR 的值卻是 0 。

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618472
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1679

    瀏覽量

    151832
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2185

    瀏覽量

    125343
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    579

    瀏覽量

    25372
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    737

    瀏覽量

    22880

原文標(biāo)題:Xilinx FPGA 從spi flash啟動(dòng)配置數(shù)據(jù)時(shí)的地址問題

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于SPI FLASHFPGA多重配置

    通過FPGA的多重配置可以有效地精簡控制結(jié)構(gòu)的設(shè)計(jì),同時(shí)可以用邏輯資源較少的FPGA器件實(shí)現(xiàn)需要很大資源才能實(shí)現(xiàn)的程序。以Virtex5系列開發(fā)板和配置存儲(chǔ)器
    發(fā)表于 01-24 14:17 ?1.6w次閱讀
    基于<b class='flag-5'>SPI</b> <b class='flag-5'>FLASH</b>的<b class='flag-5'>FPGA</b>多重<b class='flag-5'>配置</b>

    解析FPGASPI Flash啟動(dòng)配置數(shù)據(jù)時(shí)的地址問題

    fpga 上電時(shí),默認(rèn)是 flash 的 0x00 地址開始讀數(shù)據(jù)。
    發(fā)表于 07-15 09:03 ?4467次閱讀
    解析<b class='flag-5'>FPGA</b><b class='flag-5'>從</b><b class='flag-5'>SPI</b> <b class='flag-5'>Flash</b><b class='flag-5'>啟動(dòng)</b><b class='flag-5'>配置</b><b class='flag-5'>數(shù)據(jù)</b>時(shí)的<b class='flag-5'>地址</b>問題

    怎樣SPI FLASH加載FPGA程序

    二進(jìn)制碼通過I2C存儲(chǔ)到FPGA中?2.通過SPI總線SPI FLASH中讀取程序后,FPGA
    發(fā)表于 04-29 14:46

    FX3SPI啟動(dòng)配置FPGA如何分離SPI閃存

    我想在同一個(gè)SPI閃存中存儲(chǔ)多個(gè)FX3固件和一個(gè)FPGA比特流。我想選擇哪個(gè)固件要加載。FX3應(yīng)該SPI引導(dǎo),然后允許FPGA
    發(fā)表于 11-29 11:50

    怎么使用SPI閃存啟動(dòng)選項(xiàng)實(shí)現(xiàn)FPGA配置文件的故障安全升級(jí)?

    Flash來存儲(chǔ)我的FPGA配置數(shù)據(jù)。XAPP058中描述的方法是否可以用于故障安全升級(jí),因?yàn)閄CF32P只允許XC6SLX100的一個(gè)配置
    發(fā)表于 05-30 10:05

    FX3SPI啟動(dòng)配置FPGA

    您好!我想把FX3固件和FPGA比特流存儲(chǔ)在同一個(gè)SPI閃存中。然后,F(xiàn)X3應(yīng)該SPI啟動(dòng),然后允許F
    發(fā)表于 06-19 11:50

    在BPI快速模式下配置FPGA無法Flash啟動(dòng)的解決辦法?

    和CFGBVS參數(shù)并向Bank14添加一個(gè)IOSTANDARD聲明。將MCS文件編程到FlashFPGA無法Flash啟動(dòng)。使用.bit
    發(fā)表于 06-04 12:45

    如何確定SPI FlashFPGA配置的大小

    伙計(jì)們,我的電路板提供了在FPGA處于硬復(fù)位狀態(tài)時(shí)讀取SPI閃存的能力(這種能力獨(dú)立于FPGA;可以說是“側(cè)讀”)。假設(shè)我有一個(gè)具有有效FPGA配置
    發(fā)表于 06-09 13:28

    可以Virtex 6控制Xilinx Platform Flash XL?

    可以使用Impact實(shí)際編寫與Virtex 6的FlashAG JTAG連接。閃存加載的設(shè)計(jì)在電源啟動(dòng)時(shí)可以正常工作。但是我們的問題是在配置完成后
    發(fā)表于 06-16 16:52

    使用高速SPI Nor FlashFPGA配置

    NOR閃存廣泛用作FPGA配置設(shè)備。FPGA在工業(yè)和通信及汽車ADAS應(yīng)用中的使用取決于NOR Flash的低延遲和高數(shù)據(jù)吞吐量特性。快速
    發(fā)表于 09-18 15:18

    SPI方式FPGA配置SPI flash編程

    SPI方式FPGA配置SPI flash編程
    發(fā)表于 05-16 18:01 ?165次下載
    <b class='flag-5'>SPI</b>方式<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>和<b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>編程

    Xilinx7系列基于PCIe的設(shè)計(jì)如何滿足PCIe啟動(dòng)時(shí)間的要求

    /SlaveSerial是Xilinx早期的FPGA兩類配置模式,SPI配置模式為SPI接口允許
    發(fā)表于 02-07 20:55 ?3998次閱讀
    <b class='flag-5'>Xilinx</b>7系列基于PCIe的設(shè)計(jì)如何滿足PCIe<b class='flag-5'>啟動(dòng)</b>時(shí)間的要求

    FPGA配置– 使用JTAG是如何燒寫SPI/BPI Flash的?

    Xilinx的JTAG電纜可以通過FPGA“直接”燒寫SPI/BPI。很多對(duì)xilinx開發(fā)環(huán)境不熟悉的用戶,如果第一次接觸這種燒寫模式可能會(huì)有疑惑,
    發(fā)表于 02-08 02:40 ?9767次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>– 使用JTAG是如何燒寫<b class='flag-5'>SPI</b>/BPI <b class='flag-5'>Flash</b>的?

    基于FPGASPI Flash 控制器設(shè)計(jì)及驗(yàn)證

    現(xiàn)場可編程門陣列FPGA 常常進(jìn)行大數(shù)據(jù)量的處理,數(shù)據(jù)的存儲(chǔ)便成了問題,利用SPI Flash 大容量、讀寫速度快、成本低廉以及
    發(fā)表于 11-22 08:47 ?1.4w次閱讀
    基于<b class='flag-5'>FPGA</b> 的<b class='flag-5'>SPI</b> <b class='flag-5'>Flash</b> 控制器設(shè)計(jì)及驗(yàn)證

    采用Xilinx FPGA的AFE79xx SPI啟動(dòng)指南

    電子發(fā)燒友網(wǎng)站提供《采用Xilinx FPGA的AFE79xx SPI啟動(dòng)指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-15 15:28 ?0次下載
    采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx <b class='flag-5'>SPI</b><b class='flag-5'>啟動(dòng)</b>指南