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

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

3天內不再提示

Versal啟動(dòng)文件簡(jiǎn)述

jf_pJlTbmA9 ? 來(lái)源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-07 14:15 ? 次閱讀

Versal? 是由多個(gè)高度耦合的可配置塊組成的自適應計算加速平臺(ACAP)。這些塊包括NoC、AIE、PL和CIPS(CIPS本身包含不同的域:LPD和FPD)等,啟動(dòng)這些塊時(shí),需使用Vivado中的配置集進(jìn)行配置。
本篇博文是Versal“從零開(kāi)始”調試系列的首篇。
這么多互連塊乍看之下似乎很復雜...但實(shí)際不盡然。在本篇博文中,我們將探討這些啟動(dòng)文件及其使用方式。
這就切入正題...希望您不介意我用首字母縮寫(xiě)詞。
以下我準備的一個(gè)基礎設計,其中只有CIPS和NoC:

1671676694772420.png

Control, Interfaces, and Processing Subsystem (CIPS)是所有Versal設計的通用IP,包含所有Versal器件通用的硬化IP。
其中主要包含兩個(gè)域:LDP和FDP。低功耗域(LPD)包含可配置啟動(dòng)器件和I2C。全功耗域(FPD)則包含所有其它可配置IP,如GEM和USB等。此外還有AXI和調試接口,連接到PL、可配置NoC接口、時(shí)鐘、中斷和處理器子系統,全都可在Vivado IP integrator內根據您的設計需求進(jìn)行配置。
片上網(wǎng)絡(luò )(NoC)經(jīng)高度耦合,可連接到PL IP和/或AIE以及DDR存儲器控制器。
所有這些配置二進(jìn)制文件(CDO)都封裝到單一容器文件內,此文件稱(chēng)為PDI文件,PDI表示可編程定義文件(Programmable Definition File)。
PDI:
如上所述,PDI包含所有可配置二進(jìn)制文件。其中還包含用于執行這些二進(jìn)制文件的可執行文件。
并且,如果PL包含帶有存儲器映射存儲器控制器的MicroBlaze,那么PDI中還包含存儲器映射接口(MMI)文件。
此 PDI 文件將在實(shí)現期間創(chuàng )建,并且可包含在 XSA 文件內交付至 Vitis。來(lái)看看 impl_1 文件夾:

1671676753903113.png

此處值得注意的兩個(gè)文件是PDI文件和BIF文件。
啟動(dòng)鏡像格式:
啟動(dòng)鏡像格式(BIF)文件包含所有啟動(dòng)分區。
讓我們來(lái)一探究竟:

new_bif:
{
id_code=0x04ca8093
extended_id_code=0x01
id=0x2
image
{
name=WDI_FLAT
id=0x1c000000
partition
{
id=0x01
type=bootloader
file=gen_files/executable.elf
}
partition
{
id=0x09
type=pmcdata,load=0xf2000000
file=gen_files/pmc_data.cdo
}
partition
{
id=0x0C
type=cdo
file=gen_files/lpd_data.cdo
}
partition
{
id=0x0B
core=psm
file=static_files/psm_fw.elf
}
partition
{
id=0x03
type=cdo
file=design_1_wrapper.rcdo
}
partition
{
id=0x05
type=cdo
file=design_1_wrapper.rnpi
}
partition
{
id=0x08
type=cdo
file=gen_files/fpd_data.cdo
}
partition
{
id=0x0D
type=cdo
file=gen_files/subsystem.cdo
}
}
}

下表提取自《Versal 系統軟件開(kāi)發(fā)指南》,可用于描述其中每個(gè)分區:

PDI 組件 描述
PLM elf
(executable.elf)
Platform Loader and Manager。
PLM CDO
(pmc_data.cdo)
器件拓撲 - 固定配置
PMC 配置 - 寄存器寫(xiě)入/讀取
LPD CDO
(lpd_data.cdo)
PS LPD PM 初始化節點(diǎn)命令(SC、LBIST、BISR 和 MBIST)
LPD 配置 - 寄存器寫(xiě)入/讀取
PSM elf
(psm_fw.elf)
PSM ELF
CFI 數據
(.rcdo)
PM 初始化節點(diǎn)命令(清理 PL、HB SC 和 GT MBIST)
寄存器寫(xiě)入 CFU
適用于 CFI 數據的 DMA 鎖眼傳輸命令
寄存器寫(xiě)入/讀取 CFU
如無(wú) NPI:
全局信號 GMC_B、GRESTORE 和 GHIGH_B。- 寄存器寫(xiě)入/讀取
全局信號 - GWE、EOS、EN_GLOb - 寄存器寫(xiě)入/讀取
()
[此文件與以上 .rcdo 文件合并]
NPI CDO
(.rnpi)
PM 初始化節點(diǎn)命令(SC、BISR 和 MBIST)
NPI 數據加載 - DMA 寫(xiě)入/寄存器寫(xiě)入
如果 CFI 存在:
全局信號 GMC_B、GRESTORE 和 GHIGH_B。- 寄存器寫(xiě)入/讀取
NPI 序列 - 寄存器寫(xiě)入/讀取
如果 CFI 存在
全局信號 - GWE、EOS、EN_GLOb - 寄存器寫(xiě)入/讀取
隔離和 PL 復位命令
CPM CDO
(cpm_data.cdo)
PM 初始化節點(diǎn)命令(BISR 和 MBIST)
適用于 CPM 和 CPM PCSR 的寄存器寫(xiě)入
AIE NPI CDO
(ai_engine_data.cdo)
AIE scan clear,BISR - PM 命令
AIE PLL 配置 - 寄存器寫(xiě)入/PM 命令
AIE mem clear - PM 命令
FPD CDO
(fpd_data.cdo)
FPD 配置 - PM 初始化節點(diǎn)命令(SC、BISR 和 MBIST)
寄存器寫(xiě)入
子系統 CDO
(subsystem.cdo)
子系統 CDO
DONE 位由 PLM 斷言有效

轉儲PDI:
用戶(hù)可以在Vitis中使用Bootgen實(shí)用工具來(lái)轉儲和查看PDI中的內容:

bootgen-archversal-dump.pdi

用戶(hù)可以使用以下Bootgen命令從BIF創(chuàng )建PDI

bootgen-archversal-image.bif-w-o.pdi

Platform Loader and Manager:
PLM負責加載分區(如上所示)和執行平臺管理。所有CDO都加載到RAM中,然后執行。ELF文件直接加載到目標存儲器中,然后執行。不支持就地執行。
要調試潛在的PLM故障,可在此處的表 14 中找到錯誤代碼。
在某些情況下,用戶(hù)可能需要修改Vitis生成的PDI,下面提供了兩個(gè)常見(jiàn)用例。
調試PLM:
用戶(hù)可以覆蓋PDI中的PLM,如UG1283中的第 129 頁(yè)所述,也可以重新生成PDI并導出硬件以將修改后的PDI添加到XSA中。
BIF文件如下所示:

new_bif:
{
image
{
{type=bootimage,file=base.pdi}
{type=bootloader,file=plm_debug.elf}
}
}

隨后,重新生成PDI。請務(wù)必保留PDI文件名(與Vivado生成的文件名相同):

bootgen-archversal-image{filename.bif}-w-o{design_1_wrapper.pdi}

如果用戶(hù)隨后在Vivado中導出硬件,那么,修改后的PDI將被添加到XSA中。
瀏覽CDO/RNPI文件:
用戶(hù)可以使用XSCT中的cdoutil將二進(jìn)制文件轉換為可讀文本文件。以RNPI為例:

cdoutil-annotate-output-filedump.txt.rnpi

從上表中可以看到,rnpi文件包含PL復位命令。
我們可以在轉儲后的文本文件中查看這些命令:

1671677130549025.png

在《Versal 寄存器參考資料》中可以交叉引用這些命令:

1671677152794246.png

將定制CDO文件添加到PDI:
用戶(hù)還可以創(chuàng )建定制CDO文件,并將其添加到PDI中。
例如,我有一個(gè)IP,它在CIPS上受PS GPIO控制。
因此,我需要切換此PS GPIO:
首先創(chuàng )建一個(gè)txt文件,其中包含您希望在PDI內執行的寄存器寫(xiě)入操作:

version2.0
mask_write0xff0b00180x10x1
mask_write0xff0b02c40x10x1
mask_write0xff0b02c80x10x1
mask_write0xff0b004c0x10x1

隨后,使用以下命令將此轉換為CDO文件:

cdoutil-output-binary-be-output-filecustom.cdocustom.txt

下一步,導航到Vivado工程目錄內的 .runs_0/impl_1 文件夾,打開(kāi)BIF文件,并追加以下內容(在最后一個(gè) } 內):

image
{
name=custom_cdo
id=0x1234567
partition
{
id=0x12
type=cdo
file=custom.cdo
}
}

隨后,重新生成PDI并導出至硬件,更新后的PDI將添加到XSA:

bootgen-archversal-imagedesign_1_wrapper.bif-w-odesign_1_wrapper.pdi

依次單擊“File -> Export Hardware (Include Device Image)”(文件 > 導出硬件(包含器件鏡像))

運行Updatemem
如果Versal設計包含 MicroBlaze(含LMB存儲器),并且您要使用可執行ELF來(lái)更新LMB BRAM,那么同樣可以使用以上方法。例如:
瀏覽至 .runs/impl_0 文件夾,并運行Updatemem。例如,這里我創(chuàng )建了更新后的RCDO。但您也可以保留名稱(chēng)不變。否則,您需要更新BIF文件:

1671677288430804.png

隨后,重新生成PDI并導出至硬件,更新后的PDI將被添加到XSA中:

bootgen-archversal-imagedesign_1_wrapper.bif-w-odesign_1_wrapper.pdi

依次單擊“File -> Export Hardware (Include Device Image)”(文件 > 導出硬件(包含器件鏡像))

總結:
本篇博文并非Versal啟動(dòng)文件的完整指南。
所有這些信息都能在TRM和SSDG中找到。我希望本文能夠向用戶(hù)簡(jiǎn)要介紹 Versal 啟動(dòng)文件,供用戶(hù)以此作為起點(diǎn),按需進(jìn)一步深入調研。


后續內容
如何在 Vitis 中調試 Versal PLM
在這篇博文中,我們將探討如何在Vitis? 中調試Platform Loader Manager (PLM)。

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    36

    瀏覽量

    11688
  • Vivado
    +關(guān)注

    關(guān)注

    18

    文章

    791

    瀏覽量

    65418
  • 啟動(dòng)文件
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    2148
  • Versal
    +關(guān)注

    關(guān)注

    1

    文章

    151

    瀏覽量

    7553
收藏 人收藏

    評論

    相關(guān)推薦

    【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹(2)

    【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹,以及Versal 芯片開(kāi)發(fā)流程的簡(jiǎn)介。
    的頭像 發(fā)表于 03-07 16:03 ?421次閱讀
    【ALINX 技術(shù)分享】AMD <b class='flag-5'>Versal</b> AI Edge 自適應計算加速平臺之 <b class='flag-5'>Versal</b> 介紹(2)

    嵌入式系統與ARM啟動(dòng)流程簡(jiǎn)述

    Date:2019-5-131、嵌入式系統概述2、ARM啟動(dòng)流程簡(jiǎn)述2.1、Uboot執行流程2.2、Kernel執行流程
    發(fā)表于 12-14 06:04

    statup_stm32f40_41xxx.s啟動(dòng)文件簡(jiǎn)述

    新建工程文件簡(jiǎn)述目錄新建工程文件簡(jiǎn)述新建工程所需文件簡(jiǎn)述新建工程所需
    發(fā)表于 01-11 08:31

    ARM啟動(dòng)文件中的__main, 介紹了C啟動(dòng)函數的設計

    ARM啟動(dòng)文件中的__main, 介紹了C啟動(dòng)函數的設計
    發(fā)表于 09-20 09:34 ?9次下載
    ARM<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>文件</b>中的__main, 介紹了C<b class='flag-5'>啟動(dòng)</b>函數的設計

    BMP的文件組成和格式簡(jiǎn)述資料免費下載

    本文檔的主要內容詳細介紹的是BMP的文件組成和格式簡(jiǎn)述資料免費下載。
    發(fā)表于 08-12 08:00 ?11次下載

    DXP導出SMT坐標文件簡(jiǎn)述步驟詳細說(shuō)明

    坐標文件是和 SMT 工程師溝通的非常重要的文件。簡(jiǎn)述步驟如下:設置左下角為原點(diǎn); 文件 --》 制造輸出 --》 Gernerates pick and place files:
    發(fā)表于 10-17 17:16 ?0次下載
    DXP導出SMT坐標<b class='flag-5'>文件</b>的<b class='flag-5'>簡(jiǎn)述</b>步驟詳細說(shuō)明

    簡(jiǎn)述hex文件解析源碼

    簡(jiǎn)述hex文件解析源碼
    發(fā)表于 09-12 09:20 ?8次下載

    stm32啟動(dòng)文件分析

    stm32啟動(dòng)文件分析
    發(fā)表于 12-09 13:06 ?17次下載
    stm32<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>文件</b>分析

    STM32啟動(dòng)文件分析

    STM32啟動(dòng)文件分析前言啟動(dòng)文件解析首先進(jìn)行堆和棧的初始化接下來(lái)初始化中斷向量表復位中斷函數其余中斷函數啟動(dòng)
    發(fā)表于 12-22 19:05 ?9次下載
    STM32<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>文件</b>分析

    3-STM32啟動(dòng)文件詳解

    啟動(dòng)文件文章目錄啟動(dòng)文件啟動(dòng)文件簡(jiǎn)介1--初始化棧指針MSP=_initial_sp。2--初始
    發(fā)表于 12-27 18:41 ?13次下載
    3-STM32<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>文件</b>詳解

    STM32啟動(dòng)文件分享

    STM32啟動(dòng)文件分享
    發(fā)表于 09-28 11:20 ?9次下載

    使用QEMU啟動(dòng)Versal VCK190

    本篇博文涵蓋了有關(guān)使用 PetaLinux 命令行來(lái)對 Versal Adaptive SoC 的 PetaLinux BSP 運行 QEMU 的信息,并演示了 QEMU 支持的部分網(wǎng)絡(luò )選項。
    的頭像 發(fā)表于 04-20 10:40 ?507次閱讀

    Versal VCK190評估套件上使用器件固件升級(DFU)執行USB輔助啟動(dòng)模式測試

    本文將演示如何在 Versal AI Core 系列 VCK190 評估套件上從 USB 輔助啟動(dòng)模式啟動(dòng) Linux
    的頭像 發(fā)表于 07-10 17:09 ?652次閱讀
    在<b class='flag-5'>Versal</b> VCK190評估套件上使用器件固件升級(DFU)執行USB輔助<b class='flag-5'>啟動(dòng)</b>模式測試

    使用QEMU啟動(dòng)Versal VCK190 ACAP

    本文涵蓋了有關(guān)使用 PetaLinux 命令行來(lái)對 Versal? ACAP 的 PetaLinux BSP 運行 QEMU 的信息
    的頭像 發(fā)表于 07-07 14:14 ?407次閱讀

    STM32啟動(dòng)文件

    STM32啟動(dòng)文件
    發(fā)表于 08-21 10:27 ?2次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看