91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

使用TinyFPGA-Bootloader將比特流加載到FPGA

FPGA技術(shù)江湖 ? 來(lái)源:OpenFPGA ? 2025-12-19 15:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來(lái)源于OpenFPGA,作者碎碎思

TinyFPGA-Bootloader:FPGA 上的開(kāi)源 USB 引導(dǎo)加載器解決方案

在 FPGA 設(shè)計(jì)中,一個(gè)常見(jiàn)但略顯繁瑣的環(huán)節(jié)是:如何方便地將新的比特流加載到 FPGA。尤其是在沒(méi)有專(zhuān)用 USB-JTAG/編程芯片或者在低成本板卡中,傳統(tǒng)的編程方式可能需要額外硬件或較復(fù)雜流程。

而 TinyFPGA?Bootloader 項(xiàng)目正是為了解決這個(gè)痛點(diǎn)——它是一個(gè) 開(kāi)源的 USB 引導(dǎo)加載器(bootloader)IP,可直接在 FPGA 的可編程邏輯中實(shí)現(xiàn),從而以 USB 虛擬串口的形式向 SPI Flash 編程上傳比特流。

項(xiàng)目簡(jiǎn)介

名稱(chēng):TinyFPGA-Bootloader

開(kāi)源地址:GitHub(由 TinyFPGA 組織維護(hù))

https://github.com/tinyfpga/TinyFPGA-Bootloader

許可證:Apache-2.0

功能:通過(guò) USB 虛擬串口(USB CDC)將主機(jī)側(cè)的命令發(fā)送至 FPGA 內(nèi)部的 bootloader,再由 bootloader 內(nèi)部橋接至 SPI Flash,從而完成 FPGA 配置或用戶(hù)鏡像加載。

硬件需求示例:

35eadca0-d496-11f0-8c8f-92fbcf53809c.png

FPGA 板卡需具備 USB_P、USB_N 3.3 V 信號(hào)

364b201a-d496-11f0-8c8f-92fbcf53809c.png

板卡需有產(chǎn)生穩(wěn)定 48 MHz 時(shí)鐘振蕩器 + PLL。

FPGA 配置需來(lái)源于外部 SPI Flash。

USB_P 信號(hào)連接上拉電阻(1.5 kΩ)并建議通過(guò) usb_pu 信號(hào)控制。

36ac692e-d496-11f0-8c8f-92fbcf53809c.png

建議支持多鏡像啟動(dòng)(bootloader + 用戶(hù)鏡像)結(jié)構(gòu)。

核心特點(diǎn)

● 無(wú)需額外 USB 轉(zhuǎn) SPI 芯片

由于 bootloader 完全在 FPGA 內(nèi)部邏輯實(shí)現(xiàn),板卡可以省去專(zhuān)用 USB 編程芯片,從而降低成本、簡(jiǎn)化硬件設(shè)計(jì)。

● 使用熟悉的串口方式編程

主機(jī)將 FPGA 識(shí)別為“虛擬串口設(shè)備”,用戶(hù)通過(guò)簡(jiǎn)單的命令即可觸發(fā) bootloader 功能,降低入門(mén)門(mén)檻。

● 支持用戶(hù)鏡像 + bootloader 鏡像分區(qū)

該設(shè)計(jì)支持多鏡像結(jié)構(gòu):bootloader 位于 SPI Flash 的專(zhuān)用區(qū)域,用戶(hù)配置位于另一鏡像區(qū),bootloader 在啟動(dòng)后可跳轉(zhuǎn)至用戶(hù)鏡像,或執(zhí)行更新機(jī)制。

● 板卡元數(shù)據(jù)存儲(chǔ)機(jī)制

SPI Flash 的安全寄存器頁(yè)可用于存儲(chǔ)諸如板卡名稱(chēng)、FPGA 型號(hào)、硬件版本、序列號(hào)、地址映射等元數(shù)據(jù),便于通用軟件識(shí)別板卡并自動(dòng)執(zhí)行編程。元數(shù)據(jù)采用 JSON 格式,清晰易讀。

● SPI Flash 編程協(xié)議公開(kāi)

bootloader 支持通過(guò) “Access SPI” 命令在 USB 虛擬串口上執(zhí)行任意 SPI Flash 訪(fǎng)問(wèn)操作(寫(xiě)、讀、擦除等)。設(shè)計(jì)者可以查看 README 文檔中的完整協(xié)議描述。

例程

該項(xiàng)目中有幾款開(kāi)發(fā)板的例程,核心還是自家制作的Tiny系列開(kāi)發(fā)板:

370b15c8-d496-11f0-8c8f-92fbcf53809c.png

當(dāng)然也有針對(duì)Xilinx A7系列入門(mén)開(kāi)發(fā)板例程:

3764915c-d496-11f0-8c8f-92fbcf53809c.png

打開(kāi)后即可查看相關(guān)DEMO:

37be7c26-d496-11f0-8c8f-92fbcf53809c.png

注意:Vivado版本2017

適用場(chǎng)景

38194fb6-d496-11f0-8c8f-92fbcf53809c.png

低成本 FPGA板卡:希望減少外部編程芯片、簡(jiǎn)化 USB 接口設(shè)計(jì)。

FPGA 教學(xué) / 原型開(kāi)發(fā):快速將新鏡像下載至板卡,在實(shí)驗(yàn)室或教學(xué)環(huán)境中尤為便利。

可編程系統(tǒng) / 多鏡像方案:支持 bootloader + 用戶(hù)鏡像結(jié)構(gòu),適合需要遠(yuǎn)程更新或 EEPROM 風(fēng)格的機(jī)制。

硬件開(kāi)發(fā)者希望精簡(jiǎn)流程:將編程流程簡(jiǎn)化為“插 USB → 虛擬串口 → 下載鏡像”,提升工程效率。

使用建議 &注意事項(xiàng)

在使用前請(qǐng)確認(rèn)板卡 USB_P/N 信號(hào)設(shè)計(jì)正確、上拉電阻接入、“usb_pu”控制是否支持。

必須保證 FPGA 時(shí)鐘系統(tǒng)能產(chǎn)生準(zhǔn)確穩(wěn)定的 48 MHz 給 USB 棧,否則可能導(dǎo)致 USB 連接不可靠。

設(shè)計(jì) SPI Flash 容量時(shí)建議考慮“多鏡像 + 用戶(hù)數(shù)據(jù)”結(jié)構(gòu),需要預(yù)留足夠空間。

雖然 bootloader 功能強(qiáng)大,但安全機(jī)制(如加密鏡像、鏡像簽名、保護(hù)區(qū))需由用戶(hù)自行實(shí)現(xiàn)。

若需將該 bootloader 集成至大型 FPGA/SoC 項(xiàng)目,請(qǐng)?jiān)u估板卡資源占用、邏輯干擾和時(shí)序影響。

總結(jié)

TinyFPGA-Bootloader 是一個(gè)非常實(shí)用、工程友好、開(kāi)源可信的解決方案,適合在 FPGA 板卡設(shè)計(jì)中快速實(shí)現(xiàn) USB 引導(dǎo)加載功能。它不僅降低了硬件復(fù)雜性,也顯著簡(jiǎn)化了鏡像下載、更新與板卡上板流程。這對(duì)于教學(xué)、原型開(kāi)發(fā)、板卡小批量生產(chǎn)都是一個(gè)極佳選擇。

注意大bit流的下載時(shí)間~

倉(cāng)庫(kù)地址

https://github.com/tinyfpga/TinyFPGA-Bootloader

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

    關(guān)注

    1660

    文章

    22415

    瀏覽量

    636504
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    4209

    瀏覽量

    46163
  • 比特流
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    8403
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    488

    瀏覽量

    18681

原文標(biāo)題:不用 JTAG 也能刷 FPGA:TinyFPGA-Bootloader 讓比特流加載更簡(jiǎn)單

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    了解FPGA比特流結(jié)構(gòu)

    FPGA上電或隨后的FPGA重新配置期間,比特流從外部諸如閃存這樣的非易失性存儲(chǔ)器中讀取,通過(guò)FPGA配置控制器的處理,加載到內(nèi)部的配置SR
    發(fā)表于 11-30 10:59 ?1750次閱讀

    如何使用IMPACT在FPGA xilinx中下載比特流

    你好,請(qǐng)有人解釋我如何使用IMPACT在FPGA xilinx中下載比特流先謝謝你以上來(lái)自于谷歌翻譯以下為原文hello,please can someone explain me how
    發(fā)表于 01-15 10:08

    中途向ICAP中止寫(xiě)入部分比特流

    嗨,我正在嘗試部分自我重新配置。想法是通過(guò)介質(zhì)將部分比特流發(fā)送到FPGA。FPGA接收它(在多個(gè)塊中)并將比特流寫(xiě)入ICAP。當(dāng)連接發(fā)生時(shí),我的FP
    發(fā)表于 02-14 09:40

    怎么在我的比特流中攻擊BRAM

    嗨,我有一個(gè)應(yīng)用程序,我希望在下載到FPGA之前使用類(lèi)似于data2mem的工具來(lái)在FPGA比特流中破解塊內(nèi)存內(nèi)容。FPGA可以是Virte
    發(fā)表于 03-19 12:44

    如何集成Pynq FPGA教程或與Pynq通信?

    你好,我想使用Vivado HLS開(kāi)發(fā)FPGA比特流并將其加載到Pynqpython模塊中或使用Linux使用C ++進(jìn)行ARM加載。到目前為止,我能夠生成
    發(fā)表于 09-30 10:50

    無(wú)法在spi flash中加載比特流

    嗨我有一個(gè)問(wèn)題,我無(wú)法在我的spi flash中加載比特流,我在鏈中有兩個(gè)不同的FPGA。 Impact看到了單個(gè)FPGA及其Flash,但是我無(wú)法在
    發(fā)表于 03-23 08:47

    怎么將Microblaze processsor比特串文件下載到FPGA中?

    我在使用EDK 10.1中的微填充處理器在FPGA中下載比特流文件時(shí)遇到問(wèn)題。我只是將Microblaze processsor比特串文件下載到FP
    發(fā)表于 03-30 10:07

    怎么在Virtex-7 FPGA上下載比特流?

    你好我有一個(gè)在MIcroBlaze上運(yùn)行l(wèi)inux的設(shè)計(jì)要求。我能夠在我的Virtex-7 FPGA上下載比特流(在Vivado 2014.4中生成)。我使用Impact來(lái)編程我的FPGA。我因此
    發(fā)表于 04-02 10:05

    請(qǐng)問(wèn)如何在沒(méi)有靜態(tài)路由的情況下生成部分比特流?

    reconfig。模塊加載在可重新配置的插槽內(nèi),一個(gè)帶有移位 - 右側(cè)模塊加載在可重新配置的插槽內(nèi))。部分設(shè)計(jì)正常工作,我能夠通過(guò)PCAP接口加載FPGA中的部分
    發(fā)表于 06-04 08:52

    是否需要在flash上??切換黃金比特流和多重比特流的位置?

    嗨專(zhuān)家, 我正在使用spartan-6 FPGA進(jìn)行多重啟動(dòng)實(shí)驗(yàn)。我發(fā)現(xiàn)位文件位于ug380上,如下圖所示。黃金比特流位于閃存的下部塊上,多重引導(dǎo)比特流位于閃存的較高塊上。 因此,如果我想使用保護(hù)區(qū)
    發(fā)表于 06-09 17:43

    使用IMPACT(ISE)將比特流下載到Zynq設(shè)備中而無(wú)需啟動(dòng)ARM?

    大家好,有沒(méi)有一種簡(jiǎn)單的方法可以使用IMPACT(ISE)將比特流下載到Zynq設(shè)備中而無(wú)需啟動(dòng)ARM?我知道這可以用Vivado完成。TIA
    發(fā)表于 07-21 15:11

    Zynq開(kāi)發(fā)板FPGA比特流文件下載方式

    Zynq開(kāi)發(fā)板FPGA比特流文件可以通過(guò)三種途徑下載: 1. 利用SDK生成的FSBL.elf文件自動(dòng)加載FPGA比特流配置文件,
    發(fā)表于 02-08 15:20 ?1678次閱讀

    使用加密和身份驗(yàn)證來(lái)保護(hù)UltraScale/UltraScale+ FPGA比特流

    電子發(fā)燒友網(wǎng)站提供《使用加密和身份驗(yàn)證來(lái)保護(hù)UltraScale/UltraScale+ FPGA比特流.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 17:14 ?3次下載
    使用加密和身份驗(yàn)證來(lái)保護(hù)UltraScale/UltraScale+ <b class='flag-5'>FPGA</b><b class='flag-5'>比特流</b>

    使用加密保護(hù)7系列FPGA比特流

    電子發(fā)燒友網(wǎng)站提供《使用加密保護(hù)7系列FPGA比特流.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 15:31 ?0次下載
    使用加密保護(hù)7系列<b class='flag-5'>FPGA</b><b class='flag-5'>比特流</b>

    一文了解FPGA比特流的內(nèi)部結(jié)構(gòu)

    電或隨后的FPGA重新配置期間,比特流從外部諸如閃存這樣的非易失性存儲(chǔ)器中讀取,通過(guò)FPGA配置控制器的處理,加載到內(nèi)部的配置SRAM中。
    的頭像 發(fā)表于 07-16 18:02 ?2.2w次閱讀
    一文了解<b class='flag-5'>FPGA</b><b class='flag-5'>比特流</b>的內(nèi)部結(jié)構(gòu)