1.一種快速有效的安卓Sparse格式鏡像下載方法,其特征在于,包括如下步驟:
S301:將Sparse格式的鏡像存儲(chǔ)在主機(jī)硬盤(pán)上;
S302:通過(guò)fastboot命令,將system鏡像分割為若干塊,分別命名為塊1、塊2、塊3、塊4……;
S303:將每個(gè)塊再次分割為若干個(gè)包,設(shè)塊1分割的包命名為包11、包12……,其他塊類似處理;
S304:將包11加載到主機(jī)內(nèi)存并通過(guò)USB傳輸?shù)皆O(shè)備端;
S305:設(shè)備端讀取包11數(shù)據(jù)并寫(xiě)入RAM;
S306:將包12加載到主機(jī)內(nèi)存并通過(guò)USB傳輸?shù)皆O(shè)備端;
S307:設(shè)備端讀取包12數(shù)據(jù)并寫(xiě)入RAM;塊1的其他包同樣處理;
S308:判斷塊1是否為Sparse格式,如果是的話,存入FIFO隊(duì)列;否則,不存入;
S309:開(kāi)始執(zhí)行寫(xiě)操作,將塊1寫(xiě)入EMMC;
S310:設(shè)備端發(fā)送ACK值給主機(jī);
S311:主機(jī)收到ACK值,重復(fù)步驟S303至S308,將塊2分包分別傳輸?shù)皆O(shè)備端、存入FIFO隊(duì)列;接著塊3、塊4……進(jìn)行同樣的操作,存入到FIFO隊(duì)列;
S312:設(shè)備端的主進(jìn)程監(jiān)測(cè)鏡像寫(xiě)入EMMC的進(jìn)度,并分別完成塊1、塊2、塊3、塊4……的寫(xiě)入;
S313:設(shè)備端的主進(jìn)程監(jiān)測(cè)到所有的鏡像塊都寫(xiě)入到EMMC后,發(fā)送“OK”ACK值反饋給主機(jī);
S314:主機(jī)收到“OK”ACK值后,結(jié)束下載。
2.根據(jù)權(quán)利要求1所述的一種快速有效的安卓Sparse格式鏡像下載方法,其特征在于,所述步驟S302中,若System鏡像的大小為1.0GBytes,可按照300M的大小分割System鏡像,分割的塊1、塊2、塊3、塊4的大小分別為288M、312M、294M、130M。
3.根據(jù)權(quán)利要求2所述的一種快速有效的安卓Sparse格式鏡像下載方法,其特征在于,所述步驟S303中,可按照160M將塊1分割得到包11、包12的大小為160M、128M;塊2分割得到的包21、包22的大小為160M、152M;塊3分割得到包31、包32的大小分別為150M和144M;塊4分割得到包41、包42的大小分別為70M和60M。
4.根據(jù)權(quán)利要求1所述的一種快速有效的安卓Sparse格式鏡像下載方法,其特征在于,還包括所有分割的包在內(nèi)存中存放的地址可通過(guò)軟件明確定義,下載完成后,對(duì)應(yīng)的指令指針指向鏡像存放的起始地址。
5.根據(jù)權(quán)利要求1所述的一種快速有效的安卓Sparse格式鏡像下載方法,其特征在于,還包括所有分割的包從主機(jī)內(nèi)存?zhèn)鬏數(shù)皆O(shè)備端時(shí),數(shù)據(jù)包傳輸?shù)母袷桨ㄐr?yàn)位和數(shù)據(jù)位。