姓名:高靜? ? ? ? ? ? 學(xué)號:19020100031? ? ?學(xué)院:電子工程學(xué)院
轉(zhuǎn)自:https://blog.csdn.net/u010299133/article/details/99879966
【嵌牛導(dǎo)讀】嵌入式linux系統(tǒng)快速啟動優(yōu)化的一些方法
【嵌牛鼻子】嵌入式? Linux系統(tǒng)
【嵌牛提問】嵌入式linux系統(tǒng)快速啟動優(yōu)化的方法有哪些斋配?
【嵌牛正文】
嵌入式linux快速啟動的一些優(yōu)化的方法烤宙,主要是要掌握嵌入式linux系統(tǒng)的啟動流程,以便能夠在優(yōu)化時有所指引疚膊。
下面是一些總結(jié):
嵌入式linux系統(tǒng)快速啟動的優(yōu)化主要是硬件和軟件仓蛆。
1硬件:
1.1因?yàn)樵谙到y(tǒng)啟動的時候,cpu需要從flash或者是emmc中讀取uboot,kernel和rootfs逾冬,以及app相關(guān)的代碼,并且寫入到內(nèi)存ddr中伐庭。所以flash或者emmc及ddr的讀寫速度粉渠,就會對系統(tǒng)上電后的啟動時間有所影響,所以在內(nèi)存和flash選型的時候需要注意芯片的讀寫時間圾另。
1.2一般的芯片上電的reset霸株,也就是por,都會分為內(nèi)部por和外部por集乔。例如海思的芯片去件,根據(jù)官方給出的資料顯示,使用外部por可以比內(nèi)部的por更加快速扰路,具體的時間和具體的芯片相關(guān)尤溜。缺點(diǎn)是會增加硬件成本。
2軟件:
2.1.縮減軟件鏡像的大小汗唱。包括boot宫莱,kernel和rootfs以及app,這些代碼在上電之前都是在flash或者是emmc中的哩罪。當(dāng)上電之后cpu會依次拷貝到ddr中并且解壓啟動授霸。因此,代碼鏡像本省的大小也會影響啟動的時間际插。
2.1.1boot
可以再boot中去掉命令的功能碘耳,以及去掉一些在boot階段使用的一些硬件驅(qū)動的初始化,例如:usb框弛,網(wǎng)口等辛辨。去掉調(diào)試信息的打印。保留基本的加載內(nèi)核鏡像以及引導(dǎo)內(nèi)核的啟動的基本功能瑟枫。
2.1.2kernel
在內(nèi)核的配置中去掉一些不必要的驅(qū)動模塊的編譯斗搞,這樣既可以減少kernel的鏡像大小也能夠在內(nèi)核鏡像啟動后減少加載內(nèi)核模塊的時間。去除打印信息慷妙,在bootargs中可以加上quiet的參數(shù)僻焚。由于boot將kernel鏡像加載到內(nèi)存中后,還需要解壓才能夠啟動景殷,所以最好是使用硬件解壓的方法溅呢。比如海思的芯片中指明澡屡,當(dāng)kernel鏡像使用的gzip壓縮的話,就會使用硬件解壓咐旧。解壓的時間會快很多驶鹉。
2.1.3rootfs
rootfs同樣的是在配置中去掉自己不需要使用到的命令,即少校了固件的大小铣墨,也加快了cpu讀取到內(nèi)存中的時間室埋。其次是文件系統(tǒng)本身也會對掛載時間有一定的影響。使用ufs和squashfs比其他的文件系統(tǒng)伊约,掛載的速度更快姚淆。
2.1.4app
去掉不必要的打印信息,這個尤為話費(fèi)時間屡律。涉及到視頻處理的ae腌逢,awb,這些最好是作為動態(tài)庫加載超埋。
————————————————
版權(quán)聲明:本文為CSDN博主「酸菜魚的魚」的原創(chuàng)文章搏讶,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明霍殴。
原文鏈接:https://blog.csdn.net/u010299133/article/details/99879966