您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān) 如何進行PowerPC P2010 SylixOS啟動方式的分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
QorIQ P系列處理器基于Power Architecture e500系列內(nèi)核。其中P10xx系列、P2010和P2020基于e500v2內(nèi)核,P204x、P30xx和P40xx基于e500mc內(nèi)核,P50xx基于e5500內(nèi)核。
其中,P2系列專為網(wǎng)絡、電信、軍工等各種市場提供高品質(zhì)部件。P2010包含一個1.2GHz內(nèi)核,512KB二級高速緩存等等。
mkimage工具可以用來制作不壓縮或者壓縮的多種可啟動鏡像文件。
mkimage在制作鏡像文件的時候,是在原來的可執(zhí)行鏡像文件的前面加上一個64字節(jié)的頭,記錄參數(shù)所指定的信息,這樣uboot才能識別這個鏡像是針對哪個CPU體系結(jié)構(gòu)的,哪個OS的,哪種類型,加載內(nèi)存中的哪個位置,入口點在內(nèi)存的哪個位置以及鏡像名是什么等等。
mkimage工具用法如下:
-A:設定架構(gòu)類型;
-O:設定操作系統(tǒng)類型;
-T:鏡像類型;
-a:指定鏡像在內(nèi)存中的加載地址;
-e:指定鏡像運行的入口點地址;
-C:指定壓縮方式;
-n:指定鏡像名;
-d:指定制作鏡像的源文件。
P2010的BSP源碼中,使用命令
$(TOOLCHAIN_PREFIX)mkimage -A PowerPC -O linux -a 0x1000000 -e 0x1000000 -d $(OUTDIR)/bspp2010.bin -T kernel -C none -n "SylixOS" $(OUTDIR)/uImage
來制作鏡像文件uImage。
指定架構(gòu)類型為PowerPC,操作系統(tǒng)類型為linux,內(nèi)存加載地址為0x1000000,鏡像運行地址為0x1000000,無壓縮方式,鏡像類型為kernel,鏡像名為SylixOS,生成的文件名為uImage。
由于P2010使用了Linux的fdt,所以需要使用bootm命令加載kernel和fdt。
P2010使用命令tftp 0x2000000 uImage;bootm 0x2000000 - 0xefe80000引導內(nèi)核。通過tftp加載mkimage命令制作的鏡像文件uImage到內(nèi)存0x2000000地址處,然后通過bootm命令啟動系統(tǒng)。其中0x2000000為tftp下載到內(nèi)存中的鏡像的地址,-表示不讀取ramdisk,0xefe80000為fdt所在的內(nèi)存地址。
bootm命令解析鏡像文件格式,按Linux方式啟動系統(tǒng),獲取到fdt內(nèi)存地址。隨后將其獲取的fdt地址傳入SylixOS。
文件startup.s中,在SylixOS進入halPrimaryCpuMain函數(shù)之前,通過從FDT_REGISTER寄存器暫存dts內(nèi)存地址,如圖 4.1所示。
圖 4.1 暫存FDT
然后將暫存的dts內(nèi)存地址傳入啟動函數(shù),即halPrimaryCpuMain函數(shù)中,如圖 4.2所示,由此完成了uboot到SylixOS的fdt參數(shù)傳遞。
圖 4.2 讀取FDT
halPrimaryCpuMain函數(shù)根據(jù)獲取到的fdt地址,獲取設備信息,完成設備相關(guān)初始化工作。
以上就是 如何進行PowerPC P2010 SylixOS啟動方式的分析,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。