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

當前位置:首頁 > > ZYNQ
		


1,組成


ZYNQ上面移植Linux操作系統(tǒng)包括四個部分,uboot,devicetree,kernel,ramdisk.


其中uboot類似于bios,負責對設備進行簡單的初始化,devicetree以樹的形式對zynq相連的硬件設備進行描述,kernel是加載的操作系統(tǒng)內(nèi)核,ramdisk是操作系統(tǒng)啟動之后掛載的文件系統(tǒng)。




2,啟動過程



移植操作系統(tǒng)后zynq的啟動過程如下,首先加載bootrom(zynq中自帶,用戶無法修改),然后執(zhí)行fsbl(這個根據(jù)硬件在sdk中創(chuàng)建),然后執(zhí)行uboot,uboot會將kernel、devicetree和ramdisk載入ddr,跳轉(zhuǎn)到內(nèi)核入口處執(zhí)行,這樣linux就啟動了

對bootrom、fsbl和uboot詳細描述如下



3,uboot設置


uboot可以從xilinx 官方github上面下載,地址是?

主要修改下面幾個地方:http://xilinx.eetrend.com/content/2019/100018437.html


4,devicetree設置


devicetree源文件可以從xilinx官方下載,地址:https://github.com/Xilinx/device-tree-xlnx/releases


將dtsi,dts文件拷入linux系統(tǒng)下,使用dts工具制作devicetree.dtb文件。

如果需要修改devicetree文件。


可以通過dtc工具轉(zhuǎn)換為可讀文件dts,當對dts修改完成后,再次使用dtc工具編譯產(chǎn)生devicetree.dtb即可。


5, 文件系統(tǒng)配置


在文件系統(tǒng)中,如果需要添加用戶自定義的shell腳本或可執(zhí)行程序,可以放在/usr/bin目錄下。如果要設置系統(tǒng)自啟動項,可以在/etc/rc5.d中增加shell腳本。

這里進行了IP地址的配置 cd /home/root ;ifconfig eth0 192.168.x.x


6,內(nèi)核配置


內(nèi)核可以從xilinx官方git下載,地址:

目前l(fā)inux內(nèi)核中已經(jīng)集成了常見的驅(qū)動,驅(qū)動源碼位于drivers文件夾下。針對內(nèi)核的修改位于 arch\arm\configs\xilinx_zynq_defconfig文件中,該文件中定義了內(nèi)核所包含的驅(qū)動程序


7, 常見驅(qū)動


8,啟動文件制作


知識點


PetaLinux (UG1144).

PetaLinux工具集是一個嵌入式Linux系統(tǒng)開發(fā)工具包。它提供了一個多方面的Linux工具流,可以為Xilinx Zynq設備(包括Zynq UltraScale+設備)的Linux操作系統(tǒng)提供完整的配置、構(gòu)建和部署環(huán)境。

PetaLinux工具設計中心提供特定于PetaLinux工具的信息和文檔鏈接。


Bootgen


Xilinx®FPGA和片上系統(tǒng)(SoC)設備通常具有多個硬件和軟件二進制文件,用于引導它們按設計和預期工作。這些二進制文件可以包括FPGA比特流、固件映像、引導加載程序、操作系統(tǒng)和用戶選擇的應用程序,這些應用程序可以用非安全和安全的方法加載

Bootgen 是一個 Xilinx 工具,可以將二進制文件縫合在一起并生成設備引導映像。Bootgen 定義了多個屬性、屬性和參數(shù),這些屬性和參數(shù)是在創(chuàng)建用于 Xilinx 設備的引導映像時輸入的。(UG1283)


BootROM


Bootrom(或Boot ROM)是嵌入處理器芯片內(nèi)的一小塊掩模ROM或?qū)懕Wo閃存。它包含處理器在上電或復位時執(zhí)行的第一個代碼。根據(jù)某些帶式引腳或內(nèi)部保險絲的配置,它可以決定從哪里加載要執(zhí)行的代碼的下一部分以及如何或是否驗證其正確性或有效性。有時它可能包含其他功能,可能在引導期間或之后由用戶代碼使用。


引導程序


Bootloader 就是在操作系統(tǒng)內(nèi)核運行之前運行的一段程序,它類似于 PC機中的 BIOS 程序。通過這段程序,可以完成硬件設備的初始化,并建立內(nèi)存空間的映射圖的功能,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為最終調(diào)用系統(tǒng)內(nèi)核做好準備。通常,Bootloader 是嚴重地依賴于硬件實現(xiàn)的,特別是在嵌入式中。


Bootloader 的操作模式。大多數(shù)Bootloader 都包含兩種不同的操作模式:“啟動加載”模式和“下載”模式。


啟動加載模式:這種模式也稱為“自主”模式。也就是 Bootloader 從目標機上的某個固態(tài)存儲設備上將操作系統(tǒng)加載到 RAM 中運行,整個過程并沒有用戶的介入。這種模式是嵌入式產(chǎn)品發(fā)布時的通用模式。


下載模式:在這種模式下,目標機上的 Bootloader 將通過串口連接或網(wǎng)絡連接等通信手段從主機(Host)下載文件,比如:下載內(nèi)核映像和根文件系統(tǒng)映像等。從主機下載的文件通常首先被 Bootloader 保存到目標機的 RAM 中,然后再被 Bootloader 寫到目標機上的FLASH 類固態(tài)存儲設備中。Bootloader 的這種模系統(tǒng)是在更新時使用。工作于這種模式下的Bootloader 通常都會向它的終端用戶提供一個簡單的命令行接口。

Bootloader負責查找和加載應該在芯片上運行的最終操作系統(tǒng)或固件。與bootrom的一個主要區(qū)別是它通常在可寫閃存中,可以更換或升級。


有時bootrom可以執(zhí)行引導加載程序的工作。例如,OMAP的bootrom足夠復雜(它可以解析FAT32?。?,你可以加載它并直接啟動Linux內(nèi)核。


但是,在許多情況下,使用單獨的引導加載程序,或者因為bootrom不夠(或不存在),或者因為需要額外的靈活性。它可以非常簡單(從RAM中的固定閃存位置加載內(nèi)核并跳轉(zhuǎn)到它),或者可能更復雜。例如, 的U-Boot 就像一個迷你操作系統(tǒng)本身 - 它有一個控制臺,一些命令,允許你打破啟動過程,例如修改內(nèi)核命令行參數(shù),甚至從不同的位置(SD / MMC或USB)加載內(nèi)核,運行一些測試等等。


當您擁有或多或少復雜的操作系統(tǒng)時,通常會使用引導加載程序,在啟動之前可能需要進行一些設置。


在最簡單的芯片上可能根本沒有引導ROM或引導加載程序 - 它們只是嘗試從固定的啟動地址獲取和執(zhí)行指令。事實上,今天大多數(shù)x86芯片都是這樣工作的 - 他們只是開始在FFFFFFF0上執(zhí)行代碼,期望芯片組已經(jīng)映射了那里的BIOS閃存芯片。在這里,您可以說BIOS是引導加載程序(盡管它也為操作系統(tǒng)提供服務,類似于bootrom)。

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