基于XIP技術(shù)的ARM Linux系統(tǒng)的研究與移植
6 系統(tǒng)與性能測(cè)試
6.1 系統(tǒng)啟動(dòng)
完成整個(gè)系統(tǒng)的制作并逐步調(diào)整后,使用 Jflash 燒寫B(tài)ootloader,然后利用Bootloader的tftp 工具,從宿主機(jī)下載內(nèi)核映像和根文件系統(tǒng)映像并燒寫到閃存上,最后啟動(dòng)開發(fā)板,引導(dǎo)系統(tǒng)。從串口輸出系統(tǒng)中的啟動(dòng)信息可以看出,系統(tǒng)依次進(jìn)行CPU 片級(jí)初始化、板級(jí)初始化和一些子系統(tǒng)初始化、并加載根文件系統(tǒng),進(jìn)入Busybox 的Shell 命令行,說明系統(tǒng)啟動(dòng)成功。
6.2 系統(tǒng)啟動(dòng)時(shí)間測(cè)試
本文采用開發(fā)板上 OSCR 寄存器測(cè)量?jī)?nèi)核映像解壓所節(jié)省的時(shí)間,使用內(nèi)核全局變量jiffies 測(cè)量啟動(dòng)過程各個(gè)部分的時(shí)間,測(cè)量所得時(shí)間數(shù)據(jù)如表2 所示:
從表中可以看出, Bootloader 啟動(dòng)時(shí)間與內(nèi)核映像無關(guān),當(dāng)Bootloader 引導(dǎo)非壓縮的Image 時(shí),把內(nèi)核映像拷貝到主存RAM 中需要耗費(fèi)拷貝的時(shí)間。對(duì)于zImage,解壓縮過程需要耗費(fèi)545ms,而xipImage 則不需要。在xipImage 執(zhí)行過程中,需要額外拷貝內(nèi)核映像中可讀寫的數(shù)據(jù)段部分,因而內(nèi)核啟動(dòng)時(shí)間要比zImage 要略長(zhǎng)一下,但綜合整體時(shí)間,使用Kernel XIP 執(zhí)行方式的系統(tǒng)能有效的縮短系統(tǒng)啟動(dòng)時(shí)間。
6.3 系統(tǒng)內(nèi)存使用測(cè)試
本文利用 RAMUST 和free 工具,測(cè)量系統(tǒng)使用的主存情況如表3 所示:
從表中可以看出,采用 Kernel XIP 的xipImage 內(nèi)核映像通過增加對(duì)Flash 的使用需求,可以顯著減少主存SDRAM 的使用量,F(xiàn)lash 上的內(nèi)核代碼的執(zhí)行,不需要持續(xù)間斷的動(dòng)態(tài)刷新,從而降低了系統(tǒng)的整體功耗和成本。
總結(jié):本文在通用Linux 2.6.12 內(nèi)核基礎(chǔ)上,以深圳億道公司的XSBase255 開發(fā)板為硬件平臺(tái),研究并實(shí)現(xiàn)了以Kernel XIP 方式運(yùn)行的ARM Linux 系統(tǒng)的移植,通過系統(tǒng)與性能測(cè)試,取得了較為理想的效果。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論