衡阳派盒市场营销有限公司

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

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

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

Zynq在非JTAG模式下的啟動(dòng)配置流程

ZYNQ ? 來源:ZYNQ ? 作者:ZYNQ ? 2022-10-19 09:11 ? 次閱讀

Zynq的JTAG配置過程

初學(xué) Zynq 的時(shí)候,我相信大家應(yīng)該和我一樣,都是按照慣例打開 Vivado 軟件,然后實(shí)現(xiàn) Zynq 可編程邏輯硬件部分PL的設(shè)置后,把硬件部署導(dǎo)出,再打開 SDK 進(jìn)行 ARM 核的軟件部分 PS 編程設(shè)計(jì),最后再將硬件比特流文件(.bit)和軟件的可執(zhí)行鏈接文件(.elf)下載到 Zynq 開發(fā)板中,這樣就可以對(duì)自己的軟硬件設(shè)計(jì)進(jìn)行調(diào)試和驗(yàn)證。這種設(shè)計(jì)方式可以用下面的圖很好的描述:

如上圖所示,這其實(shí)是剛接觸 Zynq 軟硬件設(shè)計(jì)時(shí)需要了解的最基本開發(fā)流程,也是PL和PS設(shè)計(jì)結(jié)合的完美體現(xiàn)。但是,上述開發(fā)的過程都有一個(gè)基本的前提,就是 Zynq 開發(fā)板是通過 JTAG 直接與電腦相連,然后實(shí)現(xiàn)程序的下載。從另一個(gè)角度來說,PL和PS的配置都可以認(rèn)為是電腦主機(jī)通過 JTAG 完成的。但是,在實(shí)際中,Zynq 開發(fā)板不可能實(shí)時(shí)與電腦連接,當(dāng) JTAG 不起作用時(shí),Zynq 芯片是怎樣實(shí)現(xiàn)對(duì)自己的配置?這也是本文將要和大家共同討論的問題。

Zynq的啟動(dòng)流程

在無 JTAG 的模式下,Zynq 是通過片上CPU完成對(duì)芯片的配置,也就是PS和PL的配置是通過 PS 處理器 ARM 核來實(shí)現(xiàn)的。需要注意的是,與傳統(tǒng)的 Xilinx 7 系列 FPGA 芯片不同,Zynq 是不支持從 PL 端進(jìn)行直接啟動(dòng)配置的,一定要通過 PS 部分來完成。

Zynq 的具體啟動(dòng)配置是分級(jí)進(jìn)行的,一共可以分為3個(gè)階段,可以用0~2來表示:

Stage 0:BootROM 階段

Stage 1:FSBL (First Stage Boot loader)階段

Stage 2:SSBL (Second Stage Boot loader)階段

熟悉 ARM 開發(fā)的小伙伴應(yīng)該對(duì)上面的啟動(dòng)過程感到很熟悉,但又有陌生的地方。不用急,下面對(duì)這三個(gè)階段進(jìn)行詳細(xì)的分析。

Zynq啟動(dòng)階段0——BootROM

階段0,又稱為 BootROM 階段。ROM 相信大家都知道,Read-Only Memory,只讀存儲(chǔ)器的意思;而 Boot 是引導(dǎo)的含義,所以 BootROM 從字面的意思來看,就是只能去讀取的引導(dǎo)存儲(chǔ)器。實(shí)際上,BootROM 的作用和它的字面意思完全一樣,就是指 ARM 核在上電之后,需要第一時(shí)間去讀取 BootROM 中固化的程序,完成對(duì)芯片的最初始化的配置。因?yàn)槭侵蛔x的,所以根據(jù) ROM 的性質(zhì),BootROM 中的程序是無法修改的。有的朋友會(huì)問BootROM 這一部分代碼主要完成了對(duì) Zynq 的哪些配置?

在具體說明 BootROM 進(jìn)行哪些配置之前,先要描述一下關(guān)于 Zynq 的啟動(dòng)引腳配置。Zynq 擁有5個(gè)可以進(jìn)行配置的 MIO 引腳,是 MIO[6:2],在硬件形式上就表現(xiàn)為5個(gè)跳線帽,可以分別接 GND 或 3V3 的高電平。它們的作用如下:

MIO[2] :選擇 JTAG 模式

MIO[5:3] :選擇啟動(dòng)方式,包括 SD 卡,QSPI Flash 等

MIO[6] :PLL 使能控制

通過不同的引腳作用說明可以發(fā)現(xiàn),當(dāng) JTAG 不起作用是,就需要通過改變 MIO[5:3] 的連接來實(shí)現(xiàn)從 SD 卡等不同的存儲(chǔ)介質(zhì)啟動(dòng)。

而 BootROM 最重要的作用就是通過讀取 MIO[6:2] 的引腳配置情況,決定從何種介質(zhì)中加載階段1需要使用的啟動(dòng)鏡像。當(dāng)然在加載之前,BootROM 會(huì)先完成對(duì) SD 卡,NAND,NOR,QSPI Flash 等的初始化,從而使得ARM 核能夠成功訪問并使用這些外設(shè)。BootROM 在完成以上任務(wù)的同時(shí),也會(huì)對(duì)安全模式等運(yùn)行模式進(jìn)行配置,這部分博主暫時(shí)不太了解,所以不做過多敘述。

BootROM 在從外部存儲(chǔ)設(shè)備讀取了啟動(dòng)鏡像后,通常會(huì)把它進(jìn)行加載到 OCM 中。OCM,On Chip Memory,是Zynq 中 ARM 內(nèi)核的片上存儲(chǔ)器,也叫片上內(nèi)存。自此之后,BootROM 階段的啟動(dòng)任務(wù)就算是圓滿結(jié)束了,接下來 BootROM 階段就把控制權(quán)轉(zhuǎn)移到了階段1手中。

注:BootROM 階段不對(duì) PL 進(jìn)行配置

Zynq啟動(dòng)階段1——FSBL

FSBL,(First Stage Boot Loader),就是 BootROM 加載到 OCM 中的啟動(dòng)鏡像。FSBL 完成的任務(wù)是 Zynq 啟動(dòng)過程中的關(guān)鍵一環(huán),可以分為以下4項(xiàng):

完成 PS 的初始化

加載 PL 的bit流文件,完成 PL 配置

加載 SSBL 引導(dǎo)程序或是ARM的裸跑程序到 DDR

跳轉(zhuǎn)執(zhí)行 SSBL 或裸跑程序

FSBL 的任務(wù)如上所示,整個(gè)思路還是非常清晰的。第1步就是對(duì) PS 端初始化,包括 DDR,MIO 等。第2步就是PL的配置,也就是傳統(tǒng)的 FPGA 下載 bit 流的過程,但要注意的是,在 Zynq 的非 JTAG 模式下,PL 是無法直接自行配置的。第3步是加載 SSBL 或裸跑程序到 DDR 內(nèi)存中,其中 SSBL,Second Stage Boot Loader,是在 Zynq 需要運(yùn)行操作系統(tǒng)時(shí)才進(jìn)行加載。而像我們?nèi)腴T學(xué)習(xí)時(shí)做的點(diǎn)亮 LED 燈實(shí)驗(yàn),就只是屬于裸跑程序。最后第4步,ARM 會(huì)跳轉(zhuǎn)到 DDR 中執(zhí)行所加載的程序。所以 FSBL 階段的運(yùn)行思路是很好理解的。

Zynq啟動(dòng)階段2——SSBL

SSBL 在 Zynq 的啟動(dòng)過程中是可選的一個(gè)階段,就像所提到的點(diǎn)亮 LED 實(shí)驗(yàn),包括一些其他的比較小型的程序,如果不需要用到操作系統(tǒng)的話,那么 Zynq 的啟動(dòng)流程到 FSBL 階段就足夠了。因此,SSBL 是面向于需要運(yùn)行操作系統(tǒng)的應(yīng)用場(chǎng)合。相信熟悉操作系統(tǒng)啟動(dòng)知識(shí)的朋友到這里應(yīng)該很清楚了,SSBL 就是操作系統(tǒng)在啟動(dòng)過程中的引導(dǎo)程序 boot loader。對(duì)于 Linux 而言,Zynq 的 SSBL 階段和 u-boot 的作用是相同的。具體來說,SSBL 的作用就是將 Zynq 所需要的操作系統(tǒng)加載到 DDR 內(nèi)存之中。

到此,Zynq 的啟動(dòng)與配置就算完成了。Zynq 啟動(dòng)過程其實(shí)與傳統(tǒng)的 ARM 開發(fā)過程類似,區(qū)別就在于它是PS + PL 的架構(gòu),所以在啟動(dòng)過程中,額外需要加載二進(jìn)制 bit 流文件。Xilinx 將 Zynq 的啟動(dòng)劃分為3個(gè)階段,從結(jié)構(gòu)上看也是科學(xué)合理的。

總結(jié)

本文主要與大家分享了 Zynq 在非 JTAG 模式下的啟動(dòng)配置流程,旨在讓大家對(duì) Zynq 的三階段啟動(dòng)模式有一個(gè)具體的認(rèn)識(shí),希望大家多多交流。

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

    關(guān)注

    6

    文章

    401

    瀏覽量

    71840
  • 存儲(chǔ)設(shè)備
    +關(guān)注

    關(guān)注

    0

    文章

    164

    瀏覽量

    18668
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    610

    瀏覽量

    47296

原文標(biāo)題:zynq配置成jtag模式,啟動(dòng)與配置過程詳解

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談ZYNQ的三種啟動(dòng)方式-JTAG、SD card、Flash

    是可以在線調(diào)試,缺點(diǎn)是斷電后程序就丟失了。為了解決程序丟失的問題,可以制作鏡像文件燒寫到sd卡或者flash中,上電即可加載程序。 ZYNQ有兩大類啟動(dòng)模式:從BootROM主動(dòng)啟動(dòng)
    的頭像 發(fā)表于 12-26 10:08 ?9172次閱讀
    淺談<b class='flag-5'>ZYNQ</b>的三種<b class='flag-5'>啟動(dòng)</b>方式-<b class='flag-5'>JTAG</b>、SD card、Flash

    詳解Zynq的兩種啟動(dòng)模式

    Zynq-7000AP SOC器件有效利用了片上CPU來幫忙配置,沒有外部JTAG的情況,處理系統(tǒng)(PS)與可編程邏輯(PL)都必須依靠
    發(fā)表于 08-02 09:33 ?1631次閱讀
    詳解<b class='flag-5'>Zynq</b>的兩種<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>模式</b>

    通過JTAG啟動(dòng)Linux的方法和腳本

    AMD SoC 器件(AMD Zynq 7000 SoC,AMD Zynq UltraScale+ MPSoC,AMD Versal Adaptive SoC),常見的啟動(dòng)方式是
    的頭像 發(fā)表于 12-22 10:27 ?1643次閱讀
    通過<b class='flag-5'>JTAG</b><b class='flag-5'>啟動(dòng)</b>Linux的方法和腳本

    【Z-turn Board試用體驗(yàn)】+Zynq7000啟動(dòng)流程介紹

    具體流程吧1.器件上電運(yùn)行后,處理器自動(dòng)開始Stage-0 Boot,也就是執(zhí)行片內(nèi)BootROM中的代碼2.BootROM會(huì)初始化CPU和一些外設(shè),以便讀取下一個(gè)啟動(dòng)階段所需的程
    發(fā)表于 07-22 20:42

    JTAG如何允許我在任何啟動(dòng)模式編程QSPI?

    任何人都可以幫助解決基于zynq的設(shè)備上的問題編程QSPI閃存問題。我們使用xc7z020 zynq設(shè)計(jì)了一塊電路板。我的第一塊板具有JTAG模式
    發(fā)表于 06-09 10:20

    ZynqJTAG模式啟動(dòng)配置流程

      本文主要與大家分享了 Zynq JTAG 模式
    發(fā)表于 01-08 16:33

    ZynqJTAG模式啟動(dòng)配置流程

    本文主要與大家分享了ZynqJTAG模式啟動(dòng)
    發(fā)表于 03-17 07:36

    詳細(xì)解讀Zynq的三種啟動(dòng)方式(JTAG,SD,QSPI)

    本文介紹zynq上三種方式啟動(dòng)文件的生成和注意事項(xiàng),包括只用片上RAM(OCM)和使用DDR3兩種情況。 JTAG方式 JTAG方式是調(diào)試中最常用的方式,
    發(fā)表于 11-10 14:49 ?1.4w次閱讀
    詳細(xì)解讀<b class='flag-5'>Zynq</b>的三種<b class='flag-5'>啟動(dòng)</b>方式(<b class='flag-5'>JTAG</b>,SD,QSPI)

    ZYNQ 7系列FSBL的啟動(dòng)過程與配置方法

    ZYNQ 7系列所有可編程器件均可以安全模式通過靜態(tài)存儲(chǔ)器配置或者
    發(fā)表于 11-17 10:25 ?2.5w次閱讀
    <b class='flag-5'>ZYNQ</b> 7系列FSBL的<b class='flag-5'>啟動(dòng)</b>過程與<b class='flag-5'>配置</b>方法

    ZYNQ啟動(dòng)原理和配置

    ps的控制,可以實(shí)現(xiàn)安全或安全的配置所有ps和pl。通過zynq提供的JTAG接口,用戶可
    的頭像 發(fā)表于 05-15 11:41 ?7834次閱讀
    <b class='flag-5'>ZYNQ</b>的<b class='flag-5'>啟動(dòng)</b>原理和<b class='flag-5'>配置</b>

    FPGA JTAG配置模式詳細(xì)說明

    賽靈思公司的FPGA芯片具有IEEE 1149.1/1532協(xié)議所規(guī)定的JTAG接口,只要FPGA上電,不論模式選擇管腳M[1:0] 的電平,都可用采用該配置模式。
    發(fā)表于 12-31 17:30 ?13次下載
    FPGA <b class='flag-5'>JTAG</b>的<b class='flag-5'>配置</b><b class='flag-5'>模式</b>詳細(xì)說明

    Zynq JTAG 模式啟動(dòng)配置流程

    初學(xué) Zynq 的時(shí)候,都是按照慣例打開 Vivado 軟件,然后實(shí)現(xiàn) Zynq 可編程邏輯硬件部分PL的設(shè)置后,把硬件部署導(dǎo)出,再打開 SDK 進(jìn)行 ARM 核的軟件部分 PS 編程設(shè)計(jì),最后再將
    的頭像 發(fā)表于 02-08 11:48 ?1428次閱讀
    <b class='flag-5'>Zynq</b> <b class='flag-5'>在</b><b class='flag-5'>非</b> <b class='flag-5'>JTAG</b> <b class='flag-5'>模式</b><b class='flag-5'>下</b>的<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>配置</b><b class='flag-5'>流程</b>

    ZYNQ啟動(dòng)流程

    ZYNQ7000 SOC 芯片可以從 FLASH 啟動(dòng),也可以從 SD 卡里啟動(dòng), 本節(jié)介紹程序 FLASH 啟動(dòng)的方法。Zynq7000
    的頭像 發(fā)表于 05-07 09:41 ?6727次閱讀

    ZYNQ啟動(dòng)流程介紹

    普通的 FPGA 一般是可以從 flash 啟動(dòng),或者被動(dòng)加載,但是ZYNQ不行,ZYNQ必須PS端參與
    的頭像 發(fā)表于 07-22 10:10 ?7631次閱讀

    使用JTAG仿真器查看ZYNQ當(dāng)前啟動(dòng)模式

    本文介紹使用Xilinx?SDK軟件查看當(dāng)前Zynq?SoC啟動(dòng)模式的步驟
    的頭像 發(fā)表于 07-07 14:15 ?2045次閱讀
    使用<b class='flag-5'>JTAG</b>仿真器查看<b class='flag-5'>ZYNQ</b>當(dāng)前<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>模式</b>
    百家乐官网赌经| 民勤县| 全讯网353788| 百家乐全部规| 百家乐论坛官网| 百家乐打鱼秘籍| 澳门百家乐单注下注| 百家乐娱乐网备用网址| 王子百家乐的玩法技巧和规则 | 新皇冠| 天祝| 百家乐官网永利娱乐城| 金博士娱乐城备用网址| 大发888舍出同线牌| 娱乐城注册送现金58| 皇冠赌球网| 二连浩特市| 百家乐官网怎样捉住长开| 希尔顿百家乐官网试玩| 捷豹百家乐官网的玩法技巧和规则| 沙龙百家乐官网代理| 百家乐庄家的胜率| 百家乐园选百利宫| 大发888客户端安装| 国际豪门娱乐| 百家乐官网怎么投注| 保单机百家乐官网破解方法| 百家乐官网正规站| 百家乐娱乐城怎么样| 休闲百家乐的玩法技巧和规则| 威尼斯人娱乐城官方地址| 太阳城网络博彩| 百家乐官网网络赌博地址| 丽都百家乐官网的玩法技巧和规则 | 呼玛县| 百家乐官网五种路单规| 百家乐的玩法视频| 威尼斯人娱乐场 老品牌值得您信赖| 湟中县| 哪家百家乐官网最好| 百家乐真钱路怎么看|