1、什么是fastboot

(1)fastboot是android使用的一種刷機(jī)方法。
因為Android、的底層是Linux
(2)fastboot使用usb作為物理傳輸
(3)fastboot是uboot中的一個命令
在uboot下輸入fastboot命令,就可以讓uboot進(jìn)入fastboot模式,刷機(jī)就是在fastboot模式下進(jìn)行刷機(jī)。
(4)fastboot需要主機(jī)端的fastboot軟件相配合
(5)fastboot在開發(fā)板和主機(jī)之間定義了一套協(xié)議
2、當(dāng)我們在uboot中輸入fastboot時,有時會出現(xiàn)不正常的現(xiàn)象,我們在uboot下輸入 fdisk -c 0 ,完了之后再輸入fastboot就好使了。因為我們SD/MMC設(shè)備第0扇區(qū)是空閑的,0扇區(qū)一般放的都是我們SD/MMC設(shè)備的分區(qū)信息的,所以這個扇區(qū)為空閑的,沒有用的話,fastboot命令執(zhí)行時,就讀取不到這個設(shè)備的分區(qū)信息,所以我們在uboot下輸入fdisk -c 0就是給我們SD/MMC的0扇區(qū)中,弄上分區(qū)信息的。
這時就進(jìn)入了fastboot模式,這時的uboot就相當(dāng)于了一個USB設(shè)備,和我們主機(jī)進(jìn)行通信了,在主機(jī)中的fastboot軟件中,文件就可以download到開發(fā)板中的inand或者其他。
3、uboot的fastboot命令將開發(fā)板偽裝了一個usb從設(shè)備(主機(jī)的usb是主設(shè)備,從設(shè)備是被主設(shè)備識別的),開發(fā)板本身不是usb設(shè)備,所以當(dāng)我們的開發(fā)板直接通過usb線和主機(jī)的usb接口連接時,主機(jī)是識別不到一個usb設(shè)備的。當(dāng)我們在uboot下輸入fastboot命令時,主機(jī)就會識別到一個usb設(shè)備,并且我們沒有驅(qū)動的話,還告訴我們裝驅(qū)動。所以uboot的fastboot命令將開發(fā)板偽裝成了一個usb從設(shè)備。所以主機(jī)中就會識別到一個android手機(jī)設(shè)備,因為當(dāng)初谷歌在做android的時候發(fā)明的fastboot,所以當(dāng)時主要是用來做手機(jī)的,所以會把這個fastboot模式下的設(shè)備當(dāng)成一個手機(jī)設(shè)備
4、uboot中只要輸入fastboot命令,進(jìn)入到fastboot模式就可以了,認(rèn)為協(xié)議都是規(guī)定好的,我們只需要在主機(jī)端運(yùn)行fastboot這個軟件,完了就可以和我們的開發(fā)板進(jìn)行通信了,主機(jī)可以通過fastboot命令與帶的參數(shù)和開發(fā)板進(jìn)行通信。比如fastboot flash kernel xxxx 就是fastboot命令攜帶的一些參數(shù)和開發(fā)板通過usb線的傳輸進(jìn)行通信了,會將這個xxxkernel燒錄到開發(fā)板的SD/MMC設(shè)備上的kernel分區(qū)中。
5.我們學(xué)習(xí)fastboot的思路就是,
在主機(jī)端的fastboot軟件,我們是不去做什么分析的
我們在開發(fā)板段去分析fastboot,看uboot是如何通過fastboot命令進(jìn)入到fastboot模式下的,是如何響應(yīng)主機(jī)通過usb線發(fā)送過來的命令的。
6、uboot中的fastboot代碼分析
(1)因為fastboot是uboot的一個命令,所以在uboot的源碼中找的時候,肯定是通過do_fastboot這函數(shù)去找。
(2)當(dāng)我們用fastboot命令燒錄鏡像等文件時,有時會出現(xiàn)燒錄錯誤,說文件太大了,那是因為我們從主機(jī)端通過usb線將要燒錄到開發(fā)板中的鏡像文件,先放到開發(fā)板的內(nèi)存中去緩沖,uboot在從這個內(nèi)存的緩沖區(qū)去將文件燒錄到SD/MMC設(shè)備中,在uboot的關(guān)于fastboot的操作中,會將給fastboot設(shè)置一個緩沖區(qū),因為向著寫download操作,fastboot會用到內(nèi)存的,在配置頭文件中有一個fastboot_transbuff_size類似的宏 ,這個宏就是來配置fastboot緩沖區(qū)的大小的。如果要燒錄的鏡像傳輸?shù)竭@個內(nèi)存區(qū)域后,如果鏡像太大了,就會出現(xiàn)p_w_picpath太大了的問題。所以要改動的話,要解決這個問題的話。就可以將這個fastboot的緩沖區(qū)的大小加大即可
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:S5PV210-uboot-fastboot原理-創(chuàng)新互聯(lián)
本文地址:http://www.chinadenli.net/article24/iepce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、微信小程序、App設(shè)計、Google、全網(wǎng)營銷推廣、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容