国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

教你如何在板載的QSPI Flash中存儲比特流配置文件和應用程序

YCqV_FPGA_EETre ? 來源:未知 ? 作者:佚名 ? 2017-12-24 10:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如何從Flash啟動嵌入式系統

以Arty A7開發板為例手把手教你實現

在諸多關于MicroBlaze軟核處理器的例程中,往往都是使用JTAG下載然后借助SDK執行程序代碼。然而無論是在項目展示還是實際應用中,我們都希望我們的設計可以即插即用,免去重復燒寫的麻煩和必須使用SDK運行程序的限制。

事實上,為了部署一個真實的系統,需要在沒有任何人為操作的情況下從非易失性存儲器中啟動MicroBlaze處理器并加載程序代碼。

本篇文章,我們就圍繞這個話題,以Digilent Arty Artix-7開發板為例,教你如何在板載的QSPI Flash中存儲比特流配置文件和應用程序。

QSPI有兩個主要作用:

配置Artix FPGA

存儲應用軟件

對于第一個功能,我們在Vivado設計中不需要包含QSPI接口。我們只需要在Vivado配置中更新對QSPI的設置,提供QSPI Flash存儲器與FPGA配置管腳的連接。然而,一旦FPGA配置完成并調用MicroBlaze軟核處理器,我們則需要在設計中引入與QSPI Flash通信的接口。這個新添加的接口允許引導程序(bootloader)從QSPI Flash存儲器中復制應用程序到Arty實際執行的DDR SDRAM存儲介質中。

當然,這會引起一個問題,即MicroBlaze bootloader(引導程序)從何而來?

開發bootloader(引導程序)的流程圖如下所示:

我們的目標是創建一個MCS鏡像,它包含了FPGA比特流和應用軟件文件,我們要將它燒寫到QSPI Flash中。為了實現這個方案我們需要在Vivado和SDK中執行以下步驟:

在已經存在的Vivado MicroBlaze設計中引入(添加)一個QSPI接口。

在Vivado中編輯器件設置,使用Master SPI_4來配置器件,并且將bit文件壓縮,構建完成后將應用導出到SDK。

在SDK中,基于導出的硬件設計創建一個新的應用工程。在工程創建對話框,選擇SREC SPI Bootloader模板。這個選擇會創建一個SREC bootloader應用,它會從QSPI Flash中加載主應用程序代碼。在構建bootloader ELF之前,我們首先要為應用軟件定義對于QSPI基址的地址偏移,在這個示例中為0x600000。我們在blconfig.h中定義這個偏移量。我們還需要更新SREC Bootloader BSP來鑒別正確的串口Flash存儲器件。因此重新配置BSP。使用的系列標識號在BSP libsrc目錄下的xilisf.h中定義。對于這個應用我們選擇類型5,因為Arty板卡使用Micron QSPI器件,它的標識號即為類型5。

現在我們在SDK中創建第二個應用工程。這也是我們將使用bootloader加載的應用程序。在這個應用中我們創建了一個簡單的“hello world”工程,確保在linker文件中這個程序從DDR SDRAM開始運行。為了創建MCS文件,我們需要應用程序為S-record格式。這個格式以ASCII格式存儲二進制信息。(這個格式已經有40年的歷史,最初是為8位Motorola 6800微處理器而開發的。)我們可以使用SDK將生成的ELF轉換為S-record格式。為了在SDK中生成S-record文件,我們打開bash shell窗口,切換到ELF所在的目錄然后輸入如下命令:

cmd /c mb-objcopy -O srec .elf .srec

創建好bootloader ELF文件后,現在我們要在Vivado內將比特流(bitstream)文件與bootloader ELF文件合并。這個步驟允許bootloader被加載到MicroBlaze處理器的本地存儲空間,并且按照配置運行。因為這個存儲空間很小,所以bootloader應用也需要很小才可以。如果你正遇到減小軟件應用大小的問題,不妨在增加本地存儲內存之前考慮使用編譯器優化。

創建好bit文件和S-record文件后,我們使用Vivado硬件管理器來增加配置存儲器。

最后一步是生成統一的MCS文件,包含合并的bitstream(比特流)文件和應用軟件。當生成這個文件時,我們需要記住加載應用程序時使用與SREC bootloader相同的偏移量。

一旦這個文件構建完成并燒寫到QSPI存儲中,我們就可以進行測試查看MCS文件的工作情況。將Arty板卡與PC終端建立連接然后按下板卡上的復位(reset)按鈕。幾秒鐘后你就會看到Arty板卡上的“done”LED燈亮起,然后在終端窗口中看到SREC bootloader的執行結果。報告應該顯示S-record文件在程序執行前已經從QSPI加載到DDR SDRAM中了。

到這里,我們就有了一個可以部署到我們設計中的MicroBlaze工作系統了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3747

    瀏覽量

    133622
  • artya7
    +關注

    關注

    0

    文章

    1

    瀏覽量

    2532

原文標題:以Arty A7為例,教你如何從Flash啟動MicroBlaze軟核

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Vivado+Vitis將程序固化的Flash的操作流程

    ZYNQ 的程序固化是指將程序代碼永久存儲到非易失性存儲,使系統上電后能自動加載運行的過程。主要固化方式:
    的頭像 發表于 01-20 16:17 ?358次閱讀
    Vivado+Vitis將<b class='flag-5'>程序</b>固化的<b class='flag-5'>Flash</b>的操作流程

    LAT1198+通過 KEIL 制作 QSPI 接口的外部 Flash 下載算法應用筆記

    隨著用戶的應用越來越復雜以及 GUI 等需要大存儲空間的需求越來越多,很多時候我們需要將代碼或數據放在外擴的 Flash 存儲空間。但是這樣存在一個外部 Flash 燒寫的問題,尤其是
    發表于 01-11 17:25 ?0次下載

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

    在 FPGA 設計,一個常見但略顯繁瑣的環節是:如何方便地將新的比特流加載到 FPGA。尤其是在沒有專用 USB-JTAG/編程芯片或者在低成本板卡,傳統的編程方式可能需要額外硬件或較復雜流程。
    的頭像 發表于 12-19 15:20 ?4962次閱讀
    使用TinyFPGA-Bootloader將<b class='flag-5'>比特流</b>加載到FPGA

    配置文件損壞可能會帶來哪些安全風險?

    配置文件損壞不僅會導致電能質量在線監測裝置功能異常,還可能引發 數據安全、運維安全、設備安全、合規安全 四大類安全風險,尤其在電力系統、工業配電等關鍵場景,風險可能傳導至電網或生產系統,造成
    的頭像 發表于 12-10 16:37 ?421次閱讀
    <b class='flag-5'>配置文件</b>損壞可能會帶來哪些安全風險?

    Windows系統下用vivado將電路燒寫到MCU200T板載FLASH的方法

    在Windows操作系統下使用vivado將設計的電路燒寫到MCU200T開發板上的FLASH的方法。通過將硬件電路的比特流文件燒寫到板載
    發表于 10-29 08:21

    Vivado向FPGA的Flash燒錄e203的方法

    首先導入、并配置好項目,完成項目的綜合(SYNTHESIS)與實現(IMPLEMENTATION),查看有無錯誤與或警告信息,調整完成后,右鍵比特流生成(Generate Bitstream),選擇
    發表于 10-23 08:28

    NucleiStudio下載程序到FPGA的E203上

    隊伍編號:CICC1304 系統:win10/Ubuntu20.02 NucleiStudio:2022.12 FPGA:AX7050B 在將E203的比特流下載到FPGA上后,我們
    發表于 10-20 09:24

    ART-Pi啟用外部flash是在哪里配置qspi的引腳呢?

    。由于我是按照以芯片建立工程,并沒有使用ART-PI的工程。 2、我目前了解到在ART-PI工程中會有這個下載算法。 在這個鏈接文件配置地址 3、于是我有個好奇的點是在工程沒看到有QS
    發表于 10-10 06:09

    ZYNQ UltraScalePlus RFSOC QSPI Flash固化常見問題說明

    璞致 ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常見問題說明
    發表于 08-08 15:49 ?0次下載

    如何才能知道英飛凌Bluetooth?產品支持哪種Bluetooth?配置文件和版本?

    如何才能知道英飛凌Bluetooth?產品支持哪種Bluetooth?配置文件和版本? A2DP、AVRCP、HSP、HFP 等 是否有一個網頁或文檔解釋每個設備支持哪些配置文件和版本? 目前我想了解以下設備特別支持的配置文件
    發表于 06-27 06:04

    配置文件的差異介紹

    配置文件的差異 FA模型應用在config.json文件描述應用的基本信息,一個應用工程可以創建多個Module,每個Module中都有一份config.json
    發表于 06-05 06:50

    為什么在SDK 1.3.5創建的配置文件是在SDK 1.3.4創建的 打不開?

    為什么在 SDK 1.3.5 創建的配置文件是在 SDK 1.3.4 創建的 打不開?
    發表于 05-13 07:22

    何在Linux配置DNS服務器

    本文詳細介紹了如何在Linux配置DNS服務器,包括DNS工作原理、本地緩存、DNS查詢過程,以及正向和反向查詢的配置。步驟包括服務器配置
    的頭像 發表于 05-09 13:38 ?2601次閱讀
    如<b class='flag-5'>何在</b>Linux<b class='flag-5'>中</b><b class='flag-5'>配置</b>DNS服務器

    如何不使用配置實用程序對SX3進行編程?

    我們正在探索不使用配置實用程序對 SX3 進行編程的可能性。 我知道有一個 HID 示例應用程序,但它要求 SX3 已經打開 HID 接口,對嗎? (順便說一句,我無法找到如何在
    發表于 05-06 06:33

    Profibus DP主站轉Modbus TCP網關配置文件制作

    Profibus DP主站轉Modbus TCP網關配置文件制作
    的頭像 發表于 04-02 13:06 ?752次閱讀
    Profibus DP主站轉Modbus TCP網關<b class='flag-5'>配置文件</b>制作