本發(fā)明涉及移動終端領(lǐng)域,尤其涉及的是一種移動終端及其emmc命令檢驗處理方法、及存儲介質(zhì)。
背景技術(shù):
為了擴大移動終端的存儲容量,目前移動終端普遍使用emmc(embeddedmulti-mediacard);emmc主要是針對手機、平板電腦等可移動電子設(shè)備的內(nèi)嵌式存儲器,emmc的一個明顯優(yōu)勢是在其高度集成化,從而減少大容量存儲器在移動終端中占用的空間,使得移動終端廠商降低成本以及產(chǎn)品的重量。由于移動終端采用emmc作為其存儲器,移動終端的大部分存儲器操作均是指向emmc的。emmc的操作均是命令式的,即任何一種emmc操作均有相關(guān)的命令序列,當(dāng)要進(jìn)行某種emmc操作時先發(fā)送該操作對應(yīng)的命令序列;例如,需要讀取emmc的id號,需先由主控制器向emmc發(fā)送讀取emmc的id號對應(yīng)的命令序列,然后emmc會根據(jù)該命令將其id號反饋給主控制器。
在一般情況下,上述操作均沒有問題;但考慮到當(dāng)前移動終端系統(tǒng)復(fù)雜,并且都是采用多線程操作,當(dāng)有多個線程同時需要進(jìn)行emmc操作時,可能會出現(xiàn)命令序列之間的交叉,導(dǎo)致命令序列發(fā)送失敗。譬如,有兩個操作同時指向emmc,比如第一個操作對應(yīng)的命令序列包含命令:命令1、命令2、命令8、命令4;第二個操作對應(yīng)的命令序列包含命令:命令2、命令2、命令8、命令7;此時如果兩個命令在發(fā)送時出現(xiàn)交叉,則兩個命令均會執(zhí)行失敗,最終主控制器需要重發(fā)兩個命令造成emmc操作效率低。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種移動終端及其emmc命令檢驗處理方法、及存儲介質(zhì)。旨在最終發(fā)送emmc命令時進(jìn)行命令序列的檢驗,當(dāng)出現(xiàn)命令序列異常時,停止繼續(xù)發(fā)送命令,與現(xiàn)有技術(shù)相比能提早發(fā)現(xiàn)命令序列異常,提高emmc命令序列的執(zhí)行效率。
本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下:
一種移動終端emmc命令檢驗處理方法,其中,包括:
a、預(yù)先定義所有正常執(zhí)行的命令序列;
b、將發(fā)送到emmc的命令先按時間先后順序放入緩存中;
c、獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為是,則發(fā)送本條命令;
如果為否,則判定為出現(xiàn)命令序列異常,停止繼續(xù)發(fā)送命令,并提示命令執(zhí)行失敗。
所述移動終端emmc命令檢驗處理方法,其中,所述步驟a包括:
a1、將所有需要執(zhí)行的命令,定義為正常執(zhí)行的命令序列存儲在移動終端中;
a2、獲取這些正常執(zhí)行的命令序列的方法為從emmc供應(yīng)商獲取并將其存儲在移動終端中。
所述移動終端emmc命令檢驗處理方法,其中,所述步驟b之前還包括:
b1、預(yù)先設(shè)定一個緩存用于存放待發(fā)送的emmc命令;
所述移動終端emmc命令檢驗處理方法,其中,所述步驟b包括:
b2、當(dāng)有emmc命令要發(fā)送時,將發(fā)送到emmc的命令先按時間先后順序放入預(yù)先設(shè)置的緩存中。
所述移動終端emmc命令檢驗處理方法,其中,所述步驟c包括:
c1,獲取當(dāng)前要發(fā)送的命令;
c2,檢測當(dāng)前要發(fā)送的命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列;如果為是則進(jìn)入c3,否則進(jìn)入c4;
c3,發(fā)送本條命令;
c4,則判定為出現(xiàn)命令序列異常,停止繼續(xù)發(fā)送命令,并提示命令執(zhí)行失敗。
所述移動終端emmc命令檢驗處理方法,其中,所述步驟c包括:
c1獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為是,則發(fā)送本條命令。
所述移動終端emmc命令檢驗處理方法,其中,所述步驟c包括
c2、獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為否,則判定為出現(xiàn)命令序列異常,停止繼續(xù)發(fā)送命令,并提示命令執(zhí)行失敗,并清空緩存。
一種移動終端,其中,包括處理器,以及與所述處理器連接的存儲器,
所述存儲器存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述任一項所述移動終端emmc命令檢驗處理方法的步驟;
所述處理器用于調(diào)用所述存儲器中的程序指令,以執(zhí)行上述任一項所述移動終端emmc命令檢驗處理方法的步驟。
一種存儲介質(zhì),其中,所述存儲介質(zhì)存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述任一項所述移動終端emmc命令檢驗處理方法的步驟。
本發(fā)明所提供的移動終端及其emmc命令檢驗處理方法、及存儲介質(zhì),所述方法通過預(yù)先定義所有正常執(zhí)行的命令序列;將發(fā)送到emmc的命令先按時間先后順序放入緩存中;獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為是,則發(fā)送本條命令。在最終發(fā)送emmc命令時進(jìn)行命令序列的檢驗,當(dāng)出現(xiàn)命令序列異常時,停止繼續(xù)發(fā)送命令,與現(xiàn)有技術(shù)相比能提早發(fā)現(xiàn)命令序列異常,提高emmc命令序列的執(zhí)行效率。
附圖說明
圖1是本發(fā)明移動終端emmc命令檢驗處理方法的較佳實施例的流程圖。
圖2是本發(fā)明實施例移動終端功能原理框圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參見圖1,圖1是本發(fā)明移動終端emmc命令檢驗處理方法的較佳實施例的流程圖。一種移動終端emmc命令檢驗處理方法,其中,包括:
步驟s100、預(yù)先定義所有正常執(zhí)行的命令序列。
本發(fā)明實施例中將所有需要執(zhí)行的命令,定義為正常執(zhí)行的命令序列,并將正常執(zhí)行的命令序列存儲在移動終端中;獲取這些正常執(zhí)行的命令序列的方法為從emmc供應(yīng)商獲取并將其存儲在移動終端中。
本發(fā)明具體實施時,將所有可能的正常執(zhí)行的命令序列存儲在移動終端中;獲取這些可能的正常執(zhí)行的命令序列的方法為由emmc供應(yīng)商提供給移動終端廠商,移動終端廠商將其存儲在移動終端中;譬如,某款emmc供應(yīng)商其生產(chǎn)的emmc包含如下的命令:
命令1,命令2,命令5,命令6,命令7,命令8;
然后在執(zhí)行所有可能操作中必然只包含以下命令序列:
命令1,命令2,命令5,命令6;
命令1,命令7,命令8;
命令1,命令5,命令8;
則本步驟中,移動終端廠商在其生產(chǎn)的移動終端中預(yù)先存儲如上的命令序列。
步驟s200、將發(fā)送到emmc的命令先按時間先后順序放入緩存中。
本步驟中在實施前需要預(yù)先設(shè)定一個緩存用于存放待發(fā)送的emmc命令;當(dāng)有emmc命令要發(fā)送時,將發(fā)送到emmc的命令先按時間先后順序放入預(yù)先設(shè)置的緩存中。
具體地,例如預(yù)先設(shè)定一個緩存用于存放待發(fā)送的emmc命令;當(dāng)有emmc命令要發(fā)送時將命令先放入緩存中。進(jìn)一步地,有emmc命令要發(fā)送時將命令先放入緩存中,譬如,當(dāng)前要發(fā)送命令2,則先將命令2存到緩存中。
步驟s300、獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為是,則發(fā)送本條命令;
如果為否,則判定為出現(xiàn)命令序列異常,停止繼續(xù)發(fā)送命令,并提示命令執(zhí)行失敗。
具體地,所述步驟s300,包括:
s1,獲取當(dāng)前要發(fā)送的命令;
s2,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列;如果為是則進(jìn)入s3,否則進(jìn)入s4;
s3,發(fā)送本條命令;
s4,提示命令執(zhí)行失敗,并清空緩存。
譬如,當(dāng)前要發(fā)送命令2,則先將命令2放入緩存(步驟s1);
然后檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,也就是說獲取其之前的命令與之后的命令,來判斷所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列(步驟s2)。
例如,本例中的要發(fā)送命令2,然后在預(yù)先定義的正常執(zhí)行的命令序列中發(fā)現(xiàn)有一條序列包含命令2:該序列為:命令1,命令2,命令5,命令6;因為在此序列中本次要發(fā)送的命令2排在第二位,則獲取本次要發(fā)送的命令之前的一條命令,如果存在命令1則本條命令發(fā)送(步驟s3),否則本條命令有問題不發(fā)送(步驟s4)
即本發(fā)明實施例中采用獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為是,則發(fā)送本條命令。
而當(dāng)獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為否,則判定為出現(xiàn)命令序列異常,停止繼續(xù)發(fā)送命令,并提示命令執(zhí)行失敗,并清空緩存。
當(dāng)然,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)硬件(如處理器,控制器等)來完成,所述的程序可存儲于一計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時可包括如上述各方法實施例的流程。其中所述的存儲介質(zhì)可為存儲器、磁碟、光盤等。
實施例二
本發(fā)明實施例還提供了一種移動終端,如圖2所示,所述移動終端包括處理器10,以及與所述處理器10連接的存儲器20,
所述存儲器20存儲有計算機程序,該計算機程序被處理器10執(zhí)行時實現(xiàn)如上任一項實施例所述移動終端emmc命令檢驗處理方法的步驟;
所述處理器10用于調(diào)用所述存儲器中的程序指令,以執(zhí)行上述任一項實施例所述移動終端emmc命令檢驗處理方法的步驟。
實施例三
本發(fā)明實施例一種存儲介質(zhì),其中,所述存儲介質(zhì)存儲有計算機程序,該計算機程序被處理器10執(zhí)行時實現(xiàn)上述任一項實施例所述移動終端emmc命令檢驗處理方法的步驟。
綜上所述,本發(fā)明所提供的移動終端及其emmc命令檢驗處理方法、及存儲介質(zhì),所述方法通過預(yù)先定義所有正常執(zhí)行的命令序列;將發(fā)送到emmc的命令先按時間先后順序放入緩存中;獲取當(dāng)前要發(fā)送的命令,檢測該命令及其先后相關(guān)聯(lián)命令所組成的序列是否為預(yù)先定義的正常執(zhí)行的命令序列,如果為是,則發(fā)送本條命令。在最終發(fā)送emmc命令時進(jìn)行命令序列的檢驗,當(dāng)出現(xiàn)命令序列異常時,停止繼續(xù)發(fā)送命令,與現(xiàn)有技術(shù)相比能提早發(fā)現(xiàn)命令序列異常,提高emmc命令序列的執(zhí)行效率。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。