嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明涉及一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法及裝置,所述執(zhí)行代碼存放在同一存儲(chǔ)芯片上,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu);該方法包括如下步驟,步驟11,第一處理器接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令,如果支持,則執(zhí)行步驟12;步驟12,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器;步驟13,使第二處理器進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令;步驟14,當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。本發(fā)明多處理器共用同一代碼存儲(chǔ)芯片,可以節(jié)省產(chǎn)品的設(shè)計(jì)成本。
【專(zhuān)利說(shuō)明】嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法及裝置。
【背景技術(shù)】
[0002]隨著電子技術(shù)的飛速發(fā)展,嵌入式設(shè)計(jì)在電子設(shè)備及裝置中得到了相應(yīng)的發(fā)展,各種各樣以基于嵌入式設(shè)備的電子產(chǎn)品層出不窮,然后由于嵌入式技術(shù)的普及,電子設(shè)備的功能靈活性和成本競(jìng)爭(zhēng)變得越來(lái)越強(qiáng)烈。
[0003]現(xiàn)有的嵌入式技術(shù)方案一般都是一個(gè)處理器完成一個(gè)或多個(gè)功能,這樣一個(gè)代碼存儲(chǔ)芯片(比如NAND FLASH, NOR FLASH, EEPROM等)就能完成,也有的是多個(gè)處理器協(xié)同完成一個(gè)或多個(gè)功能,這樣不同的處理器有不同的代碼,就需要多個(gè)代碼存儲(chǔ)芯片來(lái)存儲(chǔ)不同的代碼。每個(gè)處理器在啟動(dòng)的時(shí)候,自動(dòng)加載連結(jié)到自己IO接口上的存儲(chǔ)芯片上的代碼來(lái)執(zhí)行以實(shí)現(xiàn)特定的功能或功能組,而且程序代碼一旦燒寫(xiě)到存儲(chǔ)芯片上,它的功能就固定了,不能再實(shí)時(shí)根據(jù)不能的應(yīng)用改更其功能。
[0004]因此有必要提供一種新的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法及裝置,以克服上述缺陷。
【發(fā)明內(nèi)容】
[0005]基于此,本發(fā)明提供了一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法及裝置,實(shí)現(xiàn)了在同一個(gè)存儲(chǔ)芯片上,將不同的功能的代碼,或不同處理器的代碼存放在不同的地方,以文件系統(tǒng)的訪問(wèn)方式,實(shí)現(xiàn)一個(gè)處理器為另一個(gè)處理器運(yùn)行時(shí)加載代碼,并讓其執(zhí)行,不同的功能加載不同的實(shí)現(xiàn)代碼。
[0006]本發(fā)明提供了一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法,所述執(zhí)行代碼存放在同一存儲(chǔ)芯片上,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件加入數(shù)據(jù)結(jié)構(gòu);
[0007]該方法包括如下步驟,
[0008]步驟11,第一處理器接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令,如果支持,則執(zhí)行步驟12 ;
[0009]步驟12,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器;
[0010]步驟13,使第二處理器進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令;
[0011]步驟14,當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。
[0012]優(yōu)選的,為執(zhí)行代碼文件加入數(shù)據(jù)結(jié)構(gòu)后,對(duì)執(zhí)行代碼文件進(jìn)行加密,
[0013]步驟12還包括如下步驟,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件后,解密所述執(zhí)行代碼文件,然后將解密后的所述相應(yīng)的代碼文件復(fù)制到第二處理器。
[0014]優(yōu)選的,該方法在步驟13和步驟14之間還包括如下步驟:[0015]步驟13a,在第二處理器執(zhí)行用戶(hù)的命令的過(guò)程中,判斷是否接收到終止命令,如果接收到終止命令,則第二處理器終止運(yùn)行。
[0016]本發(fā)明還提供了一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)裝置,
[0017]該裝置包括存儲(chǔ)芯片,用于存放所述執(zhí)行代碼,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu);
[0018]第一處理器,用于接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令;如果支持,則第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器;
[0019]第二處理器,用于接收所述相應(yīng)的代碼文件,并進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令;當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。
[0020]優(yōu)選的,該裝置的
[0021]存儲(chǔ)芯片還用于執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu)后,對(duì)執(zhí)行代碼文件進(jìn)行加密;
[0022]第一處理器還用于從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件后,解密所述執(zhí)行代碼文件,然后將解密后的所述相應(yīng)的代碼文件復(fù)制到第二處理器。
[0023]優(yōu)選的,在第二處理器還用于在執(zhí)行用戶(hù)的命令的過(guò)程中,判斷是否接收到終止命令,如果接收到終止命令,則第二處理器終止運(yùn)行。
[0024]本發(fā)明的有益效果在于:
[0025]1.多處理器共用同一代碼存儲(chǔ)芯片,可以節(jié)省產(chǎn)品的設(shè)計(jì)成本;
[0026]2.將多種功能代碼文件放在一起,并能動(dòng)態(tài)根據(jù)不同的預(yù)實(shí)現(xiàn)功能執(zhí)行不能的代碼,增加產(chǎn)品的功能,并能實(shí)現(xiàn)多功能間的靈活切換;
[0027]3.如此多功能的廣品,可以大大提聞?dòng)脩?hù)的體驗(yàn)度。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0028]圖1是本發(fā)明提供的方法的流程圖。
【具體實(shí)施方式】
[0029]下面結(jié)合具體的實(shí)施例及附圖對(duì)的技術(shù)方案進(jìn)行詳細(xì)的描述,以使其更加清楚。以下實(shí)施例僅為了描述本發(fā)明所列舉的較為詳細(xì)的實(shí)施例,并不作為對(duì)本發(fā)明的限定。
[0030]本發(fā)明提供的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法,所述執(zhí)行代碼存放在同一存儲(chǔ)芯片上,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件加入數(shù)據(jù)結(jié)構(gòu);
[0031]該方法包括如下步驟,
[0032]步驟11,第一處理器接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令,如果支持,則執(zhí)行步驟12 ;
[0033]步驟12,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器;
[0034]步驟13,使第二處理器進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令;
[0035]步驟14,當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。
[0036]為執(zhí)行代碼文件加入數(shù)據(jù)結(jié)構(gòu)后,對(duì)執(zhí)行代碼文件進(jìn)行加密,[0037]步驟12還包括如下步驟,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件后,解密所述執(zhí)行代碼文件,然后將解密后的所述相應(yīng)的代碼文件復(fù)制到第
二處理器。
[0038]該方法在步驟13和步驟14之間還包括如下步驟:
[0039]步驟13a,在第二處理器執(zhí)行用戶(hù)的命令的過(guò)程中,判斷是否接收到終止命令,如果接收到終止命令,則第二處理器終止運(yùn)行。
[0040]本發(fā)明還提供了一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)裝置,
[0041]該裝置包括存儲(chǔ)芯片,用于存放所述執(zhí)行代碼,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu);
[0042]第一處理器,用于接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令;如果支持,則第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器;
[0043]第二處理器,用于接收所述相應(yīng)的代碼文件,并進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令;當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。
[0044]該裝置的
[0045]存儲(chǔ)芯片還用于執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu)后,對(duì)執(zhí)行代碼文件進(jìn)行加密;
[0046]第一處理器還用于從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件后,解密所述執(zhí)行代碼文件,然后將解密后的所述相應(yīng)的代碼文件復(fù)制到第二處理器。
[0047]在第二處理器還用于在執(zhí)行用戶(hù)的命令的過(guò)程中,判斷是否接收到終止命令,如果接收到終止命令,則第二處理器終止運(yùn)行。
[0048]具體而言,參見(jiàn)圖1,本發(fā)明提供的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法包括如下步驟:
[0049]1.處理器I以LINUX或裸機(jī)系統(tǒng)為運(yùn)行平臺(tái),并在存儲(chǔ)芯片上面實(shí)現(xiàn)文件系統(tǒng)的管理。
[0050]2.處理器2在開(kāi)機(jī)時(shí)不運(yùn)行,處于停止?fàn)顟B(tài),在處理器I需要實(shí)現(xiàn)特定功能的時(shí)候從文件系統(tǒng)中讀取與用戶(hù)命令相應(yīng)的代碼文件,解析文件的正確性,在內(nèi)存中解密出文件,并復(fù)制到處理器2的內(nèi)存空間。
[0051]3.使能處理器2,讓其進(jìn)入運(yùn)行狀態(tài),完成預(yù)期的功能,即完成用戶(hù)命令。
[0052]4.在處理器2功能完成以后,處理器I通過(guò)IO控制使其重新進(jìn)入停止?fàn)顟B(tài),并等待接收新的命令請(qǐng)求。
[0053]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法,其特征在于,所述執(zhí)行代碼存放在同一存儲(chǔ)芯片上,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件加入數(shù)據(jù)結(jié)構(gòu); 該方法包括如下步驟, 步驟11,第一處理器接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令,如果支持,則執(zhí)行步驟12 ; 步驟12,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器; 步驟13,使第二處理器進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令; 步驟14,當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。
2.根據(jù)權(quán)利要求1所述的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法,其特征在于,為執(zhí)行代碼文件加入數(shù)據(jù)結(jié)構(gòu)后,對(duì)執(zhí)行代碼文件進(jìn)行加密, 步驟12還包括如下步驟,第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件后,解密所述執(zhí)行代碼文件,然后將解密后的所述相應(yīng)的代碼文件復(fù)制到第二處理器。
3.根據(jù)權(quán)利要求1或2所述的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)方法,其特征在于,該方法在步驟13和步驟14之間還包括如下步驟: 步驟13a,在第二處理器執(zhí)行用戶(hù)的命令的過(guò)程中,判斷是否接收到終止命令,如果接收到終止命令,則第二處理器終止運(yùn)行。
4.一種嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)裝置,其特征在于,該裝置包括 存儲(chǔ)芯片,用于存放所述執(zhí)行代碼,并在所述存儲(chǔ)芯片上建立執(zhí)行代碼文件,且為執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu); 第一處理器,用于接受用戶(hù)命令,并檢查自己是否支持此用戶(hù)命令;如果支持,則第一處理器從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件,并將所述相應(yīng)的代碼文件復(fù)制到第二處理器; 第二處理器,用于接收所述相應(yīng)的代碼文件,并進(jìn)入運(yùn)行狀態(tài),執(zhí)行用戶(hù)的命令;當(dāng)?shù)诙幚砥鲌?zhí)行完成用戶(hù)的命令后,第二處理器終止運(yùn)行。
5.根據(jù)權(quán)利要求4所述的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)裝置,其特征在于,該裝置的 存儲(chǔ)芯片還用于執(zhí)行代碼文件按加入數(shù)據(jù)結(jié)構(gòu)后,對(duì)執(zhí)行代碼文件進(jìn)行加密; 第一處理器還用于從執(zhí)行代碼文件中讀取與所述用戶(hù)命令相應(yīng)的代碼文件后,解密所述執(zhí)行代碼文件,然后將解密后的所述相應(yīng)的代碼文件復(fù)制到第二處理器。
6.根據(jù)權(quán)利要求4所述的嵌入式處理器動(dòng)態(tài)加載執(zhí)行代碼的實(shí)現(xiàn)裝置,其特征在于,在第二處理器還用于在執(zhí)行用戶(hù)的命令的過(guò)程中,判斷是否接收到終止命令,如果接收到終止命令,則第二處理器終止運(yùn)行。
【文檔編號(hào)】G06F9/445GK103885800SQ201410088822
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2014年3月11日 優(yōu)先權(quán)日:2014年3月11日
【發(fā)明者】余世均, 李紅京 申請(qǐng)人:深圳市道通科技有限公司