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