日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > ZYNQ


Zynq-7000AP SOC器件有效利用了片上CPU來幫忙配置,在沒有外部JTAG的情況下,處理系統(tǒng)(PS)與可編程邏輯(PL)都必須依靠PS來完成芯片的初始化配置。 ZYNQ的兩種啟動模式:從BootROM主動啟動,從JTAG被動啟動。

ZYNQ的啟動配置分多級進行的。配置至少需要兩步,但通常按如下三個階段進行:

階段0:
該階段簡稱為BootROM,控制著整個芯片的初始化過程。放在BootROM中的代碼是固化的,不可修改的,處理器核在上電或者熱啟動時自動執(zhí)行這部分代碼。
階段1:該階段的啟動加載器(FSBL)也可以由用戶代碼控制。

階段2:
這階段通??梢允怯脩舻腜S端的設計代碼,當然也可以是第二階段的啟動加載器(SSBL),這個階段可以完全由用戶控制,是可選的。

ZYNQ外部啟動條件:
1、 電源要求:在階段0 BootROM狀態(tài)時,PS與PL的電源要求如表所示:

 

在階段1 FSBL時,PS與PL都是必須上電的,因為PL將在這個階段進行配置,而PS將負責配置的過程。 2、 時鐘要求:必須滿足時鐘 .3、 復位要求:主要有兩個外部復位源將影響B(tài)ootROM的執(zhí)行。(電源復位信號,系統(tǒng)復位信號) 4、 啟動引腳設置:需要配置好引腳才能正確啟動平臺。

BootROM 1、 BootROM的作用:上電復位以后,PS端即開始進行配置。在不使用JTAG的情況下,ARM將在片上的BootROM中開始執(zhí)行代碼。BootROM中的代碼對NAND、NOR、Quad-SPI、SD與PCAP的基本外設控制器進行初始化,使得ARM核可以訪問、使用這些外設。
而DDR等其他外設將在階段1或者之后進行初始化。BootROM中的代碼還負責加載階段1的啟動鏡像。 PS的啟動源是由外部模式引腳的高低電平來選擇的,也就是指BootROM將根據(jù)外部配置引腳的設置來從不同的外部存儲中加載階段1的啟動鏡像,當然也支持在線性Flash上直接運行。 需要注意的是PL的配置并不在BootROM中完成,BootROM只為配置PL做好準備。
FSBL1、 FSBL是在BootROM之后啟動的引導程序。由BootROM加載到OCM或者直接在線性Flash上運行。FSBL主要完成以下工作:
1) 根據(jù)XPS中的配置,完成PS端的初始化。2) 使用比特流文件對PL進行配置 .3) 加載第二階段引導程序(SSBL)或者裸跑程序(直接在ARM上運行無操作系統(tǒng)程序)到內存空間。 4) 跳轉執(zhí)行SSBL或者裸跑程序。 注意:FSBL在跳轉到SSBL或者裸跑程序前,并不使能MMU。這是因為許多操作系統(tǒng),例如linux假設MMU在啟動時是禁用的。 FSBL啟動流程:
需要注意的是在FSBL階段PL的配置不是必須的,可以將zynq平臺當做兩個ARM核使用。另外需要注意的是:PL的比特流文件、SSBL、裸跑的應用程序等都必須組織成Flash分區(qū)鏡像。FSBL將會遍歷分區(qū)頭表來尋找比特流文件、SSBL、裸跑程序所在的位置,然后進行加載或配置。SDK提供了生成flash分區(qū)鏡像的工具。
SSBL 第二階段的啟動加載(SSBL)是可選的。 SSBL的引導程序稱為BootLoader。對于運行在zynq平臺的linux系統(tǒng)而言,U-Boot就是SSBL。在zynq平臺中,F(xiàn)SBL幫助我們加載U-Boot到ARM來運行。U-Boot擁有非常強大的功能,提供了許多用戶指令、讀寫內存、flash、USB設備。U-Boot會幫助我們完成linux內核啟動之前所必須的硬件初始化,例如串口、DDR控制器等。
Linux啟動過程: 嵌入式linux從軟件層面考慮可以分為以下四個部分:引導程序(BootLoader)、linux內核、文件系統(tǒng)、應用程序。 Zynq平臺中的嵌入式linux就是U-Boot,F(xiàn)SBL幫助我們引導U-Boot到內存中。
U-Boot將為linux內核初始化內存和必要的外設,設置好啟動參數(shù)。在zynq平臺中,采用設備樹來傳遞驅動部分的參數(shù),所以U-Boot還將為內核拷貝設備樹鏡像文件到內存中。由U-Boot傳遞給內核的啟動參數(shù)中通常包含了設備樹的地址,文件系統(tǒng)的類型、地址等信息。而后U-Boot將把系統(tǒng)控制權交給linux內核。
當linux內核擁有系統(tǒng)的控制權后,將先進行初始化,建議起內核的運行環(huán)境。Linux內核在完成了虛擬地址到物理地址映射后,還有就是驅動設備初始化與掛載。在zynq平臺中,采用設備樹的方式傳遞設備驅動的信息,如果有為PL中的IP核編寫了驅動程序,也可以使用模塊化的方式,待linux啟動后再進行掛載。
Linux內核將根據(jù)U-Boot傳遞過來的參數(shù)信息選擇掛載文件系統(tǒng)的格式與掛載點。最后linux內核將運行init()函數(shù),這是內核引導的終點,也是系統(tǒng)所有進程的起點。 應用程序都是放在文件系統(tǒng)中。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
關閉