最近由於專案需要,接觸了比較多zedboard
1.純pl:同一般傳統的xilinx fpga開發流程一致。
2.純ps:同傳統的arm開發一樣。
3.ps + pl(裸跑):在arm核上裸跑程式(包括arm對於fpga的訪問)。
4.ps + pl(作業系統):配置作業系統,在作業系統上執行程式。為此需要boot.bin、裝置樹檔案(*.dtb)、作業系統核心映象(image)以及檔案系統
其中,嵌入式系統軟硬體協同設計往往使用第4種方式。下面以第4種模式為例,介紹zedboard的啟動流程。
1.階段0:在器件上電執行後,處理器會自動執行片內bootrom中的**,bootrom中的**是固化的,不可修改。bootrom初始化片上nand、nor、sd等基本外設控制器,同時將負責階段1啟動的(fsbl)載入到ocm,然後執行fsbl。
2.階段1:該階段執行fsbl**。可以直接使用xilinx的sdk軟體自動生成(也可根據需要進行修改)
主要工作:
1) 完成ps端的初始化(這一部分應該包括對ddr外設控制器的初始化)
2) 對pl進行配置(system.bit)
3) 載入階段2的**(ssbl)到記憶體空間(ddr上),並執行ssbl**
3. 階段2:該階段執行的是ssbl(u-boot.elf),完成linux核心啟動之前所必需的硬體初始化,例如串列埠、usb裝置等。並設定好啟動引數,然後將linux核心、裝置樹映象從sd卡載入到記憶體中。之後將控制權交給核心。
uboot啟動流程概述 uboot啟動流程
u boot系統啟動流程 大多數bootloader都分為stage1和stage2兩大部分,u boot也不例外。依賴於cpu體系結構的 如裝置初始化 等 通常都放在stage1,且可以用組合語言來實現,而stage2則通常用c語言來實現,這樣可以實現複雜的功能,而且有更好的可讀性和移植性。2.1...
activity啟動流程 App啟動流程三問
裡面涉及到哪些重要的成員呢?都分別負責了什麼,比如ams?啟動流程了解後,對我們開發有什麼幫助呢?1 比如啟動優化,分析啟動過程,其實可以優化啟動速度的地方有三個地方 activity的oncreate方法,同樣進行執行緒處理,懶載入。或者預建立activity,提前類載入等等。2 又比如外掛程式化...
Linux的啟動流程
首先介紹一下linux的啟動流程,分為四部 1.bios啟動 2.bootloader啟動 3.kernel啟動 4.init啟動 bios啟動主要工作如下 1.加電自檢硬體 2.選擇啟動裝置 硬碟,光碟機,軟碟機,u盤等 3.讀取啟動裝置的資訊,如硬碟的mbr資訊 bootloader主要工作如下...