本發(fā)明涉及電子
技術(shù)領(lǐng)域:
:,特別是涉及一種開啟emmc后門調(diào)試的方法和一種開啟emmc后門調(diào)試的裝置。
背景技術(shù):
::目前,emmc(embeddedmulti-mediacard,由一個嵌入式存儲解決方案組成,帶有mmc(multi-mediacard,多媒體卡)接口、快閃存儲器設(shè)備及主控制器)固件都符合相關(guān)產(chǎn)品規(guī)范,emmc掛載在用戶平臺上且沒有外部調(diào)試端口,通常工程師在實驗室中用廠商命令進行emmc調(diào)試,用戶平臺不能本地支持廠商命令。因此,當emmc出現(xiàn)壞片時,除非將emmc壞片從用戶平臺拆除帶回實驗室進行調(diào)試和分析,否則工程師很難獲得用于分析emmc故障原因的足夠信息,而拆除壞片的過程中卻極可能會破壞emmc壞片中故障數(shù)據(jù)。技術(shù)實現(xiàn)要素:鑒于上述問題,本發(fā)明實施例提供了克服上述問題的一種開啟emmc后門調(diào)試的方法和一種開啟emmc后門調(diào)試的裝置,以解決相關(guān)技術(shù)中當emmc出現(xiàn)壞片時,必須將emmc壞片從用戶平臺拆除,導(dǎo)致破壞emmc壞片中故障數(shù)據(jù)的問題。為了解決上述問題,本發(fā)明實施例公開了一種開啟emmc后門調(diào)試的方法,所述emmc與主機相連,所述開啟emmc后門調(diào)試的方法包括以下步驟:通過所述emmc接收所述主機發(fā)送的第一寫命令;所述第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型;對所述第一鍵值和所述第二鍵值進行邏輯處理,并當所述信息驗證碼與邏輯處理結(jié)果相等且所述識別碼與預(yù)設(shè)識別碼相等時,判斷所述請求類型是否為進入調(diào)試模式請求;如果是,控制所述emmc進入調(diào) 試模式。具體地,在所述emmc進入調(diào)試模式之后,開啟emmc后門調(diào)試的方法還包括:通過所述emmc接收所述主機發(fā)送的第二寫命令;所述第二寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀還包括寫起始地址、待寫數(shù)據(jù)和所述待寫數(shù)據(jù)的大?。慌袛嗨稣埱箢愋褪欠駷閷憯?shù)據(jù)請求;如果是,根據(jù)所述寫起始地址和所述待寫數(shù)據(jù)的大小將所述待寫數(shù)據(jù)寫入所述emmc中。具體地,在所述emmc進入調(diào)試模式之后,開啟emmc后門調(diào)試的方法還包括:通過所述emmc接收所述主機發(fā)送的第三寫命令;所述第三寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀還包括讀起始地址和待讀數(shù)據(jù)的大??;判斷所述請求類型是否為讀數(shù)據(jù)請求;如果是,根據(jù)所述讀起始地址和所述待讀數(shù)據(jù)的大小從所述emmc中讀出所述待讀數(shù)據(jù)。具體地,在所述emmc進入調(diào)試模式之后,開啟emmc后門調(diào)試的方法還包括:通過所述emmc接收所述主機發(fā)送的第四寫命令;所述第四寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀還包括擦除起始地址和待擦除數(shù)據(jù)的大小;判斷所述請求類型是否為擦除數(shù)據(jù)請求;如果是,根據(jù)所述擦除起始地址和所述待擦除數(shù)據(jù)的大小從所述emmc中擦除待擦除數(shù)據(jù)。具體地,在所述emmc進入調(diào)試模式之后,開啟emmc后門調(diào)試的方法還包括:通過所述emmc接收所述主機發(fā)送的第五寫命令;所述第五寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀;判斷所述請求類型是否為退出調(diào)試模式請求;如果是,控制所述emmc退出所述調(diào)試模式。具體地,所述對所述第一鍵值和所述第二鍵值進行邏輯處理包括:對所述第一鍵值和所述第二鍵值進行異或邏輯處理。為了解決上述問題,本發(fā)明實施例還公開了一種開啟emmc后門調(diào)試的裝置,所述emmc與主機相連,所述開啟emmc后門調(diào)試的裝置包括:第一接收模塊,通過所述emmc接收所述主機發(fā)送的第一寫命令;所述第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型;第一判斷模塊,用于對所述第一鍵值和所述第二鍵值進行邏輯處理,并當所述信息驗證碼與邏輯處理結(jié)果相等且所述識別 碼與預(yù)設(shè)識別碼相等時,判斷所述請求類型是否為進入調(diào)試模式請求;第一控制模塊,用于當所述請求類型為進入調(diào)試模式請求時,控制所述emmc進入調(diào)試模式。具體地,在所述第一控制模塊之后,開啟emmc后門調(diào)試的裝置還包括:第二接收模塊,用于通過所述emmc接收所述主機發(fā)送的第二寫命令;所述第二寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀還包括寫起始地址、待寫數(shù)據(jù)和所述待寫數(shù)據(jù)的大?。坏诙袛嗄K,用于判斷所述請求類型是否為寫數(shù)據(jù)請求;寫數(shù)據(jù)模塊,用于當所述請求類型為寫數(shù)據(jù)請求時,根據(jù)所述寫起始地址和所述待寫數(shù)據(jù)的大小將所述待寫數(shù)據(jù)寫入所述emmc中。具體地,在所述第一控制模塊之后,開啟emmc后門調(diào)試的裝置還包括:第三接收模塊,用于通過所述emmc接收所述主機發(fā)送的第三寫命令;所述第三寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀還包括讀起始地址和待讀數(shù)據(jù)的大?。坏谌袛嗄K,用于判斷所述請求類型是否為讀數(shù)據(jù)請求;讀數(shù)據(jù)模塊,用于當所述請求類型為讀數(shù)據(jù)請求時,根據(jù)所述讀起始地址和所述待讀數(shù)據(jù)的大小從所述emmc中讀出所述待讀數(shù)據(jù)。具體地,在所述第一控制模塊之后,開啟emmc后門調(diào)試的裝置還包括:第四接收模塊,用于通過所述emmc接收所述主機發(fā)送的第四寫命令;所述第四寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀,所述預(yù)設(shè)數(shù)據(jù)幀還包括擦除起始地址和待擦除數(shù)據(jù)的大?。坏谒呐袛嗄K,用于判斷所述請求類型是否為擦除數(shù)據(jù)請求;數(shù)據(jù)擦除模塊,用于當所述請求類型為擦除數(shù)據(jù)請求時,根據(jù)所述擦除起始地址和所述待擦除數(shù)據(jù)的大小從所述emmc中擦除待擦除數(shù)據(jù)。具體地,在所述第一控制模塊之后,開啟emmc后門調(diào)試的裝置還包括:第五接收模塊,用于通過所述emmc接收所述主機發(fā)送的第五寫命令;所述第五寫命令包括所述預(yù)設(shè)數(shù)據(jù)幀;第五判斷模塊,用于判斷所述請求類型是否為退出調(diào)試模式請求;第二控制模塊,用于當所述請求類型為退出調(diào)試模式請求時,控制所述emmc退出所述調(diào)試模式。具體地,所述第一判斷模塊包括:異或邏輯處理單元,用于對所述第一鍵值和所述第二鍵值進行異或邏輯處理。本發(fā)明實施例的開啟emmc后門調(diào)試的方法和裝置包括以下優(yōu)點:在emmc與主機相連后,通過emmc接收主機發(fā)送的第一寫命令,其中,第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型,進而對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求,以及當請求類型為進入調(diào)試模式請求時,控制emmc進入調(diào)試模式。從而實現(xiàn)允許調(diào)試者使用通用寫命令在用戶平臺上開啟后臺調(diào)試模式,并允許調(diào)試者使用通用讀寫命令在用戶平臺上進行寫/讀/擦除數(shù)據(jù)等,實現(xiàn)對emmc的壞片信息進行分析,而無需拆除emmc,有效避免了emmc拆除過程中對emmc中故障數(shù)據(jù)的破壞。附圖說明圖1是本發(fā)明的一種開啟emmc后門調(diào)試的方法實施例的步驟流程圖;圖2是本發(fā)明的另一種開啟emmc后門調(diào)試的方法實施例的步驟流程圖;圖3是本發(fā)明的一種開啟emmc后門調(diào)試的方法實施例中預(yù)設(shè)數(shù)據(jù)幀的示意圖;圖4是本發(fā)明的一種開啟emmc后門調(diào)試的方法實施例中第一寫命令中預(yù)設(shè)數(shù)據(jù)幀的示意圖;圖5是本發(fā)明的一種開啟emmc后門調(diào)試的方法實施例中第二寫命令中預(yù)設(shè)數(shù)據(jù)幀的示意圖;圖6是本發(fā)明的一種開啟emmc后門調(diào)試的方法實施例中第五寫命令中預(yù)設(shè)數(shù)據(jù)幀的示意圖;圖7是本發(fā)明的一種開啟emmc后門調(diào)試的裝置實施例的結(jié)構(gòu)框圖;圖8是本發(fā)明的另一種開啟emmc后門調(diào)試的裝置實施例的結(jié)構(gòu)框圖。具體實施方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。實施例一參照圖1,示出了本發(fā)明的一種開啟emmc后門調(diào)試的方法實施例的步驟流程圖,emmc與主機相連,開啟emmc后門調(diào)試的方法可以包括以下步驟:s1,通過emmc接收主機發(fā)送的第一寫命令;第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型。具體地,調(diào)試者可以根據(jù)調(diào)試需求,通過dd命令(linux操作系統(tǒng)/unix操作系統(tǒng)下的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉(zhuǎn)換)或uboot(一種系統(tǒng)啟動軟件)或其它應(yīng)用程序控制主機發(fā)送第一寫命令。其中,第一寫命令為通用寫命令,預(yù)設(shè)數(shù)據(jù)幀為第一寫命令在數(shù)據(jù)傳輸線路上傳輸時的第一幀數(shù)據(jù),識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)可以根據(jù)實際應(yīng)用需要進行設(shè)置。具體地,識別碼可以為emmc固件代碼中定義的預(yù)設(shè)值,第一鍵值和第二鍵值分別為兩個隨機值,信息驗證碼可以根據(jù)第一鍵值和第二鍵值進行設(shè)置,請求類型用于設(shè)置第一寫命令請求的功能,因此,調(diào)試者可以通過設(shè)置請求類型的值,使得第一寫命令的請求的功能不同,例如寫數(shù)據(jù)請求、讀數(shù)據(jù)請求、擦除數(shù)據(jù)請求、讀p/ec(program/erasecount,編程/擦除數(shù)目)請求、讀mappingtable(映射表)請求、讀flashid(閃存識別碼)請求、讀dbt(defectblocktable,壞塊表)請求等等。需要說明的是,預(yù)設(shè)數(shù)據(jù)幀除包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型等參數(shù)外,還可以包括其他參數(shù)。s2,對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求。其中,當信息驗證碼與邏輯處理結(jié)果不相等,或識別碼與預(yù)設(shè)識別碼不 相等時,步驟s2判斷第一寫命令為普通寫命令,步驟s2不繼續(xù)判斷請求類型是否為進入調(diào)試模式請求;當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,步驟s2判斷第一寫命令為調(diào)試模式寫命令。需要說明的是,步驟s2結(jié)合識別碼和信息驗證碼等,可以避免將普通寫命令錯誤判斷為調(diào)試模式寫命令。具體地,步驟s2中可以通過判斷請求類型的值與進入調(diào)試模式請求的值是否相等,來判斷請求類型是否為進入調(diào)試模式請求,并當請求類型的值與進入調(diào)試模式請求的值相等時,判斷請求類型為進入調(diào)試模式請求。進入步驟s3。s3,如果是,控制emmc進入調(diào)試模式。具體地,步驟s3控制emmc進入調(diào)試模式可以為開啟emmc固件的后門。根據(jù)本發(fā)明實施例一,在emmc與主機相連后,通過emmc接收主機發(fā)送的第一寫命令,其中,第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型,進而對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求,以及當請求類型為進入調(diào)試模式請求時,控制emmc進入調(diào)試模式。從而實現(xiàn)允許調(diào)試者使用通用寫命令在用戶平臺上開啟后臺調(diào)試,而無需拆除emmc,有效避免了emmc拆除過程中對emmc中故障數(shù)據(jù)的破壞。實施例二參照圖2,示出了本發(fā)明的另一種開啟emmc后門調(diào)試的方法實施例的步驟流程圖,emmc與主機相連,開啟emmc后門調(diào)試的方法可以包括以下步驟:s21,通過emmc接收主機發(fā)送的第一寫命令;第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型。其中,第一寫命令為通用寫命令,預(yù)設(shè)數(shù)據(jù)幀為第一寫命令在數(shù)據(jù)傳輸線路上傳輸時的第一幀數(shù)據(jù),識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)可以根據(jù)實際應(yīng)用需要進行設(shè)置。具體地,識別碼可以為emmc固件代碼中定義的預(yù)設(shè)值,第一鍵值和第二鍵值分別為兩個隨機值,信息驗證碼可以根據(jù)第一鍵值和第二鍵值進行設(shè)置,請求類型用于設(shè)置第一寫命令請求的功能,因此,調(diào)試者可以通過設(shè)置請求類型的值,使得第一寫命令的請求的功能不同,例如寫數(shù)據(jù)請求、讀數(shù)據(jù)請求、擦除數(shù)據(jù)請求、讀p/ec請求、讀mappingtable請求、讀flashid請求、讀dbt請求等等。需要說明的是,預(yù)設(shè)數(shù)據(jù)幀除包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型等參數(shù)外,還可以包括其他參數(shù)。s22,對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求;其中,對第一鍵值和第二鍵值進行邏輯處理可以包括:s221,對第一鍵值和第二鍵值進行異或邏輯處理。其中,當信息驗證碼與邏輯處理結(jié)果不相等,或識別碼與預(yù)設(shè)識別碼不相等時,步驟s22判斷第一寫命令為普通寫命令,步驟s22不繼續(xù)判斷請求類型是否為進入調(diào)試模式請求;當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,步驟s22判斷第一寫命令為調(diào)試模式寫命令。需要說明的是,步驟s22結(jié)合識別碼和信息驗證碼等,可以避免將普通寫命令錯誤判斷為調(diào)試模式寫命令。需要說明的是,步驟s22對第一鍵值和第二鍵值進行邏輯處理包括但不僅限于步驟s221的異或邏輯處理,還可以為與邏輯處理、或邏輯處理、或同或邏輯處理等邏輯處理方式。具體地,步驟s22中可以通過判斷請求類型的值與進入調(diào)試模式請求的值是否相等,來判斷請求類型是否為進入調(diào)試模式請求,并當請求類型的值與進入調(diào)試模式請求的值相等時,判斷請求類型為進入調(diào)試模式請求。進入步驟s23。s23,如果是,控制emmc進入調(diào)試模式。具體地,步驟s23控制emmc進入調(diào)試模式可以為開啟emmc固件的后門。其中,在步驟s23控制emmc進入調(diào)試模式后,可以進入步驟s24、步驟s27或步驟s210。s24,通過emmc接收主機發(fā)送的第二寫命令;第二寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀還包括寫起始地址、待寫數(shù)據(jù)和待寫數(shù)據(jù)的大小。其中,第二寫命令為通用寫命令,預(yù)設(shè)數(shù)據(jù)幀為第二寫命令在數(shù)據(jù)傳輸線路上傳輸時的第一幀數(shù)據(jù),寫起始地址、待寫數(shù)據(jù)和待寫數(shù)據(jù)的大小在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)可以根據(jù)實際應(yīng)用需要進行設(shè)置,待寫數(shù)據(jù)的大小可以以字節(jié)為單位。s25,判斷請求類型是否為寫數(shù)據(jù)請求。具體地,步驟s25中可以通過判斷請求類型的值與寫數(shù)據(jù)請求的值是否相等,來判斷請求類型是否為寫數(shù)據(jù)請求,并當請求類型的值與寫數(shù)據(jù)請求的值相等時,判斷請求類型為寫數(shù)據(jù)請求。進入步驟s26。s26,如果是,根據(jù)寫起始地址和待寫數(shù)據(jù)的大小將待寫數(shù)據(jù)寫入emmc中。其中,步驟s26將待寫數(shù)據(jù)寫入emmc中由寫起始地址和待寫數(shù)據(jù)的大小確定的存儲空間中。s27,通過emmc接收主機發(fā)送的第三寫命令;第三寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀還包括讀起始地址和待讀數(shù)據(jù)的大小。其中,第三寫命令為通用寫命令,預(yù)設(shè)數(shù)據(jù)幀為第三寫命令在數(shù)據(jù)傳輸線路上傳輸時的第一幀數(shù)據(jù),讀起始地址和待讀數(shù)據(jù)的大小在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)可以根據(jù)實際應(yīng)用需要進行設(shè)置,待讀數(shù)據(jù)的大小可以以字節(jié)為單位。s28,判斷請求類型是否為讀數(shù)據(jù)請求。具體地,步驟s28中可以通過判斷請求類型的值與讀數(shù)據(jù)請求的值是否相等,來判斷請求類型是否為讀數(shù)據(jù)請求,并當請求類型的值與讀數(shù)據(jù)請求的值相等時,判斷請求類型為讀數(shù)據(jù)請求。進入步驟s29。s29,如果是,根據(jù)讀起始地址和待讀數(shù)據(jù)的大小從emmc中讀出待讀 數(shù)據(jù)。其中,待讀數(shù)據(jù)為emmc中由讀起始地址和待讀數(shù)據(jù)的大小確定的存儲空間中的數(shù)據(jù)。s210,通過emmc接收主機發(fā)送的第四寫命令;第四寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀還包括擦除起始地址和待擦除數(shù)據(jù)的大小。其中,第四寫命令為通用寫命令,預(yù)設(shè)數(shù)據(jù)幀為第四寫命令在數(shù)據(jù)傳輸線路上傳輸時的第一幀數(shù)據(jù),擦除起始地址和待擦除數(shù)據(jù)的大小在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)可以根據(jù)實際應(yīng)用需要進行設(shè)置,待擦除數(shù)據(jù)的大小可以以字節(jié)為單位。s211,判斷請求類型是否為擦除數(shù)據(jù)請求。具體地,步驟s211中可以通過判斷請求類型的值與擦除數(shù)據(jù)請求的值是否相等,來判斷請求類型是否為擦除數(shù)據(jù)請求,并當請求類型的值與擦除數(shù)據(jù)請求的值相等時,判斷請求類型為擦除數(shù)據(jù)請求。進入步驟s212。s212,如果是,根據(jù)擦除起始地址和待擦除數(shù)據(jù)的大小從emmc中擦除待擦除數(shù)據(jù)。其中,待擦除數(shù)據(jù)為emmc中由擦除起始地址和待擦除數(shù)據(jù)的大小確定的存儲空間中的數(shù)據(jù)。s213,通過emmc接收主機發(fā)送的第五寫命令;第五寫命令包括預(yù)設(shè)數(shù)據(jù)幀。其中,第五寫命令為通用寫命令,預(yù)設(shè)數(shù)據(jù)幀為第五寫命令在數(shù)據(jù)傳輸線路上傳輸時的第一幀數(shù)據(jù)。s214,判斷請求類型是否為退出調(diào)試模式請求。具體地,步驟s214中可以通過判斷請求類型的值與退出調(diào)試模式請求的值是否相等,來判斷請求類型是否為退出調(diào)試模式請求,并當請求類型的值與退出調(diào)試模式請求的值相等時,判斷請求類型為退出調(diào)試模式請求。進入步驟s215。s215,控制emmc退出調(diào)試模式。具體地,步驟s215控制emmc退出調(diào)試模式可以為關(guān)閉emmc固件的 后門。具體地,調(diào)試者可以根據(jù)調(diào)試需求,通過dd命令或uboot或其它應(yīng)用程序控制主機發(fā)送相應(yīng)的寫命令。其中,若調(diào)試需求為進入調(diào)試模式,則控制主機發(fā)送第一寫命令;若調(diào)試需求為寫數(shù)據(jù),則控制主機發(fā)送第二寫命令;若調(diào)試需求為讀數(shù)據(jù),則控制主機發(fā)送第三寫命令;若調(diào)試需求為擦除數(shù)據(jù),則控制主機發(fā)送第四寫命令;若調(diào)試需求為退出調(diào)試模式,則控制主機發(fā)送第五寫命令。另外,若調(diào)試需求為讀p/ec請求、讀mappingtable請求、讀flashid請求、讀dbt請求等,調(diào)試者同樣只需控制主機發(fā)送相應(yīng)的寫命令。在本發(fā)明的一個具體實施例中,預(yù)設(shè)數(shù)據(jù)幀如圖3所示,預(yù)設(shè)數(shù)據(jù)幀的參數(shù)依次包括識別碼、第一鍵值、第二鍵值、信息驗證碼、請求類型、讀/寫/擦除起始地址、待讀/寫/擦除數(shù)據(jù)的大小、待寫數(shù)據(jù)和填充字節(jié)。其中,識別碼、第一鍵值、第二鍵值、信息驗證碼、請求類型、讀/寫起始地址和待/讀寫數(shù)據(jù)的大小在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)分別為4字節(jié),待寫數(shù)據(jù)在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)為256字節(jié),填充字節(jié)在預(yù)設(shè)數(shù)據(jù)幀中的字節(jié)數(shù)為228字節(jié),填充字節(jié)允許預(yù)設(shè)數(shù)據(jù)幀可以增加新的參數(shù),從而擴展預(yù)設(shè)數(shù)據(jù)幀的使用范圍。當調(diào)試需求為進入調(diào)試模式,步驟s21通過主機發(fā)送的第一寫命令中預(yù)設(shè)數(shù)據(jù)幀可以如圖4所示。其中,識別碼為0x06020507、第一鍵值為0x5a5a5a5a、第二鍵值為0xffffffff、信息驗證碼為0xa5a5a5a5、請求類型為0x00000055。首先,步驟s22判斷識別碼是否等于預(yù)設(shè)識別碼,若識別碼不等于預(yù)設(shè)識別碼,步驟s22判斷第一寫命令為普通寫命令。若識別碼等于預(yù)設(shè)識別碼,步驟s22對第一鍵值和第二鍵值進行異或邏輯處理,并判斷異或邏輯處理結(jié)果是否與信息驗證碼相等,若異或邏輯處理結(jié)果與信息驗證碼不相等,步驟s22判斷第一寫命令為普通寫命令。若異或邏輯處理結(jié)果與信息驗證碼相等,步驟s22判斷第一寫命令為調(diào)試模式寫命令。進而步驟s22判斷進入調(diào)試模式請求的值是否為0x00000055,如果是,步驟s23控制emmc進入調(diào)試模式。在調(diào)試模式下,若調(diào)試需求為寫數(shù)據(jù)至emmc中的 ram(random-accessmemory,隨機存取存儲器)地址0xfff20000處,則進入步驟s24,步驟s24通過主機發(fā)送的第二寫命令中預(yù)設(shè)數(shù)據(jù)幀可以如圖5所示。其中,請求類型為0x00000001,寫起始地址為0xfff20000、待寫數(shù)據(jù)的大小為0x00000100字節(jié),待寫數(shù)據(jù)為0x00……0029,步驟s25判斷寫數(shù)據(jù)請求的值是否為0x00000001,如果是,步驟s26將0x00……0029寫入emmc中由寫起始地址和待寫數(shù)據(jù)的大小確定的存儲空間中。在調(diào)試模式下,若調(diào)試需求為退出調(diào)試模式則進入步驟s213。步驟s213通過主機發(fā)送的第五寫命令中預(yù)設(shè)數(shù)據(jù)幀可以如圖6所示。其中,請求類型為0x000000aa,步驟s214判斷退出調(diào)試模式請求的值是否為0x000000aa,如果是,步驟s215將控制emmc退出調(diào)試模式。根據(jù)本發(fā)明實施例二,在emmc與主機相連后,通過emmc接收主機發(fā)送的第一寫命令,其中,第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型,進而對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求,以及當請求類型為進入調(diào)試模式請求時,控制emmc進入調(diào)試模式,進而根據(jù)emmc接收到的主機發(fā)送的第二寫命令寫數(shù)據(jù)至emmc,或根據(jù)emmc接收到的主機發(fā)送的第三寫命令從emmc讀數(shù)據(jù),或根據(jù)emmc接收到的主機發(fā)送的第四寫命令擦除emmc中相應(yīng)的數(shù)據(jù),或根據(jù)emmc接收到的主機發(fā)送的第五寫命令控制emmc退出調(diào)試模式等。從而實現(xiàn)允許調(diào)試者使用通用寫命令在用戶平臺上后臺開啟調(diào)試模式和退出調(diào)試模式,并允許調(diào)試者使用通用讀寫命令在用戶平臺上進行寫/讀/擦除數(shù)據(jù)等,實現(xiàn)對emmc的壞片信息進行分析,而無需拆除emmc,有效避免了emmc拆除過程中對emmc中故障數(shù)據(jù)的破壞。需要說明的是,本發(fā)明實施例的開啟emmc后門調(diào)試的方法不僅可以應(yīng)用于emmc的固件,還可以應(yīng)用于sd(securedigitalmemorycard,安全數(shù)碼卡)卡、ssd(solidstatedrive,固態(tài)硬盤)、ufs(universalflash storage,通用閃存記憶體)等存儲設(shè)備的固件。需要進一步說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。實施例三參照圖7,示出了本發(fā)明的一種開啟emmc后門調(diào)試的裝置實施例的結(jié)構(gòu)框圖,emmc與主機相連,開啟emmc后門調(diào)試的裝置可以包括以下模塊:第一接收模塊1,用于通過emmc接收主機發(fā)送的第一寫命令;第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型。第一判斷模塊2,用于對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求。第一控制模塊3,用于當請求類型為進入調(diào)試模式請求時,控制emmc進入調(diào)試模式。根據(jù)本發(fā)明實施例三,在emmc與主機相連后,第一接收模塊通過emmc接收主機發(fā)送的第一寫命令,其中,第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型,進而第一判斷模塊對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求,以及當請求類型為進入調(diào)試模式請求時,第一控制模塊控制emmc進入調(diào)試模式。從而實現(xiàn)允許調(diào)試者使用通用寫命令在用戶平臺上開啟后臺調(diào)試,而無需拆除emmc,有效避免了emmc拆除過程中對emmc 中故障數(shù)據(jù)的破壞。實施例四參照圖8,示出了本發(fā)明的另一種開啟emmc后門調(diào)試的裝置實施例的結(jié)構(gòu)框圖,emmc與主機相連,開啟emmc后門調(diào)試的裝置具體可以包括如下模塊:第一接收模塊81,用于通過emmc接收主機發(fā)送的第一寫命令;第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型。第一判斷模塊82,用于對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求;可以包括:異或邏輯處理單元821,用于對第一鍵值和第二鍵值進行異或邏輯處理。第一控制模塊83,用于當請求類型為進入調(diào)試模式請求時,控制emmc進入調(diào)試模式。第二接收模塊84,用于通過emmc接收主機發(fā)送的第二寫命令;第二寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀還包括寫起始地址、待寫數(shù)據(jù)和待寫數(shù)據(jù)的大小。第二判斷模塊85,用于判斷請求類型是否為寫數(shù)據(jù)請求。寫數(shù)據(jù)模塊86,用于當請求類型為寫數(shù)據(jù)請求時,根據(jù)寫起始地址和待寫數(shù)據(jù)的大小將待寫數(shù)據(jù)寫入emmc中。第三接收模塊87,用于通過emmc接收主機發(fā)送的第三寫命令;第三寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀還包括讀起始地址和待讀數(shù)據(jù)的大小。第三判斷模塊88,用于判斷請求類型是否為讀數(shù)據(jù)請求。讀數(shù)據(jù)模塊89,用于當請求類型為讀數(shù)據(jù)請求時,根據(jù)讀起始地址和待讀數(shù)據(jù)的大小從emmc中讀出待讀數(shù)據(jù)。第四接收模塊810,用于通過emmc接收主機發(fā)送的第四寫命令;第四寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀還包括擦除起始地址和待擦除數(shù)據(jù)的大 小。第四判斷模塊811,用于判斷請求類型是否為擦除數(shù)據(jù)請求。數(shù)據(jù)擦除模塊812,用于當請求類型為擦除數(shù)據(jù)請求時,根據(jù)擦除起始地址和待擦除數(shù)據(jù)的大小從emmc中擦除待擦除數(shù)據(jù)。第五接收模塊813,用于通過emmc接收主機發(fā)送的第五寫命令;第五寫命令包括預(yù)設(shè)數(shù)據(jù)幀。第五判斷模塊814,用于判斷請求類型是否為退出調(diào)試模式請求。第二控制模塊815,用于當請求類型為退出調(diào)試模式請求時,控制emmc退出調(diào)試模式。根據(jù)本發(fā)明實施例四,在emmc與主機相連后,第一接收模塊通過emmc接收主機發(fā)送的第一寫命令,其中,第一寫命令包括預(yù)設(shè)數(shù)據(jù)幀,預(yù)設(shè)數(shù)據(jù)幀包括識別碼、第一鍵值、第二鍵值、信息驗證碼和請求類型,進而第一判斷模塊對第一鍵值和第二鍵值進行邏輯處理,并當信息驗證碼與邏輯處理結(jié)果相等且識別碼與預(yù)設(shè)識別碼相等時,判斷請求類型是否為進入調(diào)試模式請求,以及當請求類型為進入調(diào)試模式請求時,第一控制模塊控制emmc進入調(diào)試模式,進而寫數(shù)據(jù)模塊根據(jù)emmc接收到的主機發(fā)送的第二寫命令寫數(shù)據(jù)至emmc,或讀數(shù)據(jù)模塊根據(jù)emmc接收到的主機發(fā)送的第三寫命令從emmc讀數(shù)據(jù),或數(shù)據(jù)擦除模塊根據(jù)emmc接收到的主機發(fā)送的第四寫命令擦除emmc中相應(yīng)的數(shù)據(jù),或第二控制模塊根據(jù)emmc接收到的主機發(fā)送的第五寫命令控制emmc退出調(diào)試模式等。從而實現(xiàn)允許調(diào)試者使用通用寫命令在用戶平臺上后臺開啟調(diào)試模式和退出調(diào)試模式,并允許調(diào)試者使用通用讀寫命令在用戶平臺上進行寫/讀/擦除數(shù)據(jù)等,實現(xiàn)對emmc的壞片信息進行分析,而無需拆除emmc,有效避免了emmc拆除過程中對emmc中故障數(shù)據(jù)的破壞。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明 的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所 有變更和修改。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。以上對本發(fā)明所提供的一種開啟emmc后門調(diào)試的方法和一種開啟emmc后門調(diào)試的裝置,進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。當前第1頁12當前第1頁12