两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

下載用于芯片的程序文件的方法和裝置與流程

文檔序號(hào):12040210閱讀:407來(lái)源:國(guó)知局
下載用于芯片的程序文件的方法和裝置與流程
本發(fā)明涉及領(lǐng)域,尤其涉及一種下載用于芯片的程序文件的方法和裝置。

背景技術(shù):
在芯片的設(shè)計(jì)過(guò)程中,很多情況下需要將程序文件從個(gè)人電腦(PersonalComputer,簡(jiǎn)稱(chēng):PC)下載到芯片中。下面以智能卡芯片為例介紹整個(gè)過(guò)程:在PC端,PC讀取要下載的程序文件,由于每次傳遞的數(shù)據(jù)量有限,因此程序文件分多次傳送到讀卡器(reader);讀卡器再將程序文件傳送給智能卡芯片,在芯片端,芯片的內(nèi)存分多次接收讀卡器發(fā)送的程序文件并將程序文件寫(xiě)入程序存儲(chǔ)器中。但是,發(fā)明人發(fā)現(xiàn)現(xiàn)有的技術(shù)方案存在如下問(wèn)題:要將整個(gè)程序文件從PC傳遞到芯片的程序存儲(chǔ)區(qū),需要進(jìn)行很多次的傳遞,從而使得整個(gè)下載過(guò)程耗時(shí)較大,進(jìn)而導(dǎo)致生產(chǎn)效率較低。例如:假如芯片的程序存儲(chǔ)器的存儲(chǔ)量為384Kbytes,則需要傳遞的數(shù)據(jù)量最大為384KBytes,如果每次傳遞128Bytes,則共需要傳遞3072次,如果每次傳遞耗時(shí)約191ms,則整個(gè)下載過(guò)程耗時(shí)約10分鐘。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種下載用于芯片的程序文件的方法和裝置,用以實(shí)現(xiàn)減少芯片下載程序文件的時(shí)間,提高生產(chǎn)效率。本發(fā)明提供一種下載用于芯片的程序文件的方法,包括:讀取需要下載的程序文件并解析所述程序文件,形成數(shù)據(jù)陣列,其中,所述程序文件中包括代碼信息、以及所述芯片中保存所述代碼信息的非易失性程序存儲(chǔ)器的地址信息,所述數(shù)據(jù)陣列為按照所述地址信息順序排列的代碼信息;將所述數(shù)據(jù)陣列切分成預(yù)定大小的數(shù)據(jù)塊;壓縮所述數(shù)據(jù)塊,將壓縮后的數(shù)據(jù)塊發(fā)送給所述芯片。本發(fā)明還提供一種接收用于芯片的程序文件的方法,包括:逐塊接收數(shù)據(jù)塊;對(duì)所述數(shù)據(jù)塊進(jìn)行解壓縮,得到數(shù)據(jù)陣列,所述數(shù)據(jù)陣列為代碼信息,所述代碼信息按照所述芯片中保存所述代碼信息的非易失性程序存儲(chǔ)器的地址信息順序排列;將所述數(shù)據(jù)陣列保存到所述芯片的非易失性程序存儲(chǔ)器。本發(fā)明還提供一種下載用于芯片的程序文件的裝置,包括:解析模塊,用于讀取需要下載的程序文件并解析所述程序文件,形成數(shù)據(jù)陣列,其中,所述程序文件中包括代碼信息、以及所述芯片中保存所述代碼信息的非易失性程序存儲(chǔ)器的地址信息,所述數(shù)據(jù)陣列為按照所述地址信息順序排列的代碼信息;切分模塊,用于將所述數(shù)據(jù)陣列切分成預(yù)定大小的數(shù)據(jù)塊;壓縮模塊,用于壓縮所述數(shù)據(jù)塊;發(fā)送模塊,用于將壓縮后的數(shù)據(jù)塊發(fā)送給所述芯片。本發(fā)明還提供一種接收用于芯片的程序文件的裝置,包括:接收模塊,用于逐塊接收數(shù)據(jù)塊;解壓縮模塊,用于對(duì)所述數(shù)據(jù)塊進(jìn)行解壓縮處理,得到數(shù)據(jù)陣列,所述數(shù)據(jù)陣列為代碼信息,所述代碼信息按照所述芯片中保存所述代碼信息的非易失性程序存儲(chǔ)器的地址信息順序排列;保存模塊,用于將所述數(shù)據(jù)陣列保存到所述芯片的非易失性程序存儲(chǔ)器。本發(fā)明還提供一種下載用于芯片的程序文件的系統(tǒng),包括前述的下載用于芯片的程序文件的裝置和前述的接收用于芯片的程序文件的裝置。在本發(fā)明中,PC將數(shù)據(jù)塊壓縮后再傳送給芯片,大大減少了PC傳遞給芯片的數(shù)據(jù)量,從而大大減少了傳遞次數(shù),而壓縮和解壓縮耗時(shí)相對(duì)于一次傳遞耗時(shí)可以忽略不計(jì),所以一次傳遞耗時(shí)不變,從而大大減少了芯片下載程序文件的時(shí)間,提高了生產(chǎn)效率。此外,在PC端將程序文件解析為按照地址信息順序排列的代碼信息,這樣的話(huà),芯片接收到程序文件后可以直接寫(xiě)入非易失性程序存儲(chǔ)器中,不再需要進(jìn)行解析,而在PC端進(jìn)行解析的速度要大大快于在芯片端進(jìn)行解析的速度,所以也在一定程度上減少了芯片下載程序文件的時(shí)間。附圖說(shuō)明圖1為本發(fā)明發(fā)送用于芯片的程序文件的方法實(shí)施例的流程示意圖;圖2為本發(fā)明接收用于芯片的程序文件的方法實(shí)施例的流程示意圖;圖3為本發(fā)明下載用于芯片的程序文件的裝置實(shí)施例的結(jié)構(gòu)示意圖;圖4為本發(fā)明接收用于芯片的程序文件的裝置實(shí)施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明一種下載用于芯片的程序文件的系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。具體實(shí)施方式下面結(jié)合說(shuō)明書(shū)附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的描述。如圖1所示,為本發(fā)明發(fā)送用于芯片的程序文件的方法實(shí)施例的流程示意圖,該方法在PC端執(zhí)行,該方法可以包括如下步驟:步驟11、讀取需要下載的程序文件并解析程序文件,形成數(shù)據(jù)陣列;其中,程序文件中包括代碼信息、以及芯片中保存代碼信息的非易失性程序存儲(chǔ)器的地址信息,例如:程序文件為HEX文件,數(shù)據(jù)陣列為按照地址信息順序排列的代碼信息;步驟12、將數(shù)據(jù)陣列切分成預(yù)定大小的數(shù)據(jù)塊;步驟13、壓縮數(shù)據(jù)塊,將壓縮后的數(shù)據(jù)塊發(fā)送給芯片;具體地,可以壓縮一塊發(fā)送一塊,也可以將全部數(shù)據(jù)塊壓縮后再分別傳送給芯片,其中前者的效率更高一些;另外,壓縮耗時(shí)很少,與一次傳遞的耗時(shí)相比較,可以忽略不計(jì),例如:在相同的條件下,一次傳遞128Bytes,耗時(shí)191ms,一次壓縮4KBytes,耗時(shí)5ms。該方法可以采用軟件實(shí)現(xiàn),也可以采用硬件電路實(shí)現(xiàn)。在現(xiàn)有技術(shù)中,芯片的程序存儲(chǔ)區(qū)為384Kbytes,每次傳遞128Bytes,需要傳遞384*1024/128=3072次,每次傳遞耗時(shí)約191ms,下載完畢大概需要10分鐘。運(yùn)用本實(shí)施例的技術(shù)方案后,壓縮后的代碼總量減少到50%以下,約為160Kbytes,需要傳遞160*1024/128=1280次,每次傳遞耗時(shí)約0.2s,下載完畢大概需要4分鐘,由此可見(jiàn),采用了本實(shí)施例的技術(shù)方案后,減少了芯片下載程序文件的時(shí)間,提高了生產(chǎn)效率。在本實(shí)施例中,PC將數(shù)據(jù)塊壓縮后再傳送給芯片,大大減少了PC傳遞給芯片的數(shù)據(jù)量,從而大大減少了傳遞次數(shù),而壓縮耗時(shí)相對(duì)于一次傳遞耗時(shí)可以忽略不計(jì),所以一次傳遞耗時(shí)不變,從而大大減少了芯片下載程序文件的時(shí)間,提高了生產(chǎn)效率。此外,在PC端將程序文件解析為按照地址信息順序排列的代碼信息,這樣的話(huà),芯片接收到程序文件后可以直接寫(xiě)入非易失性程序存儲(chǔ)器中,不再需要進(jìn)行解析,而在PC端進(jìn)行解析的速度要大大快于在芯片端進(jìn)行解析的速度,所以也在一定程度上減少了芯片下載程序文件的時(shí)間。可選地,在步驟12中,切分后的數(shù)據(jù)塊越大,步驟13中壓縮的效果越好。優(yōu)選地,數(shù)據(jù)塊的預(yù)定大小根據(jù)芯片內(nèi)存的可用空間的大小確定。例如:芯片內(nèi)存為8K,其中4K已經(jīng)被占用,這樣的話(huà),芯片內(nèi)存的可用空間為4K,則數(shù)據(jù)塊的預(yù)定大小可以為4K。可選地,將數(shù)據(jù)陣列切塊后,當(dāng)數(shù)據(jù)塊的大小小于預(yù)定大小時(shí),可以將數(shù)據(jù)塊填充至預(yù)定大小,例如:填充0或其他預(yù)定數(shù)據(jù)。可選地,在步驟13中,可以直接將壓縮后的數(shù)據(jù)塊傳送給芯片,也可以先將壓縮后的數(shù)據(jù)塊傳送給中間媒質(zhì),再由中間媒質(zhì)傳送給芯片。例如:該中間媒質(zhì)為讀卡器、仿真器、編程器等等??蛇x地,在本實(shí)施例中,芯片可以為各種各樣需要下載程序文件的芯片,例如:智能卡芯片。如圖2所示,為本發(fā)明接收用于芯片的程序文件的方法實(shí)施例的流程示意圖,該方法在芯片端執(zhí)行,該方法可以包括如下步驟:步驟21、逐塊接收數(shù)據(jù)塊;步驟22、對(duì)數(shù)據(jù)塊進(jìn)行解壓縮,得到數(shù)據(jù)陣列;具體地?cái)?shù)據(jù)陣列為代碼信息,代碼信息按照芯片中保存代碼信息的非易失性程序存儲(chǔ)器的地址信息順序排列;解壓縮的耗時(shí)相較于傳遞耗時(shí)可以忽略不計(jì),例如:參考現(xiàn)有技術(shù),一次傳遞耗時(shí)191ms,數(shù)據(jù)塊的大小為4Kbytes,解壓縮一個(gè)數(shù)據(jù)塊耗時(shí)5ms,遠(yuǎn)小于一次傳遞耗時(shí),可以忽略不計(jì)。步驟23、將數(shù)據(jù)陣列保存到芯片的非易失性程序存儲(chǔ)器??蛇x地,該方法可以采用軟件實(shí)現(xiàn),也可以采用集成在芯片內(nèi)部的硬件電路實(shí)現(xiàn)。當(dāng)采用軟件實(shí)現(xiàn)時(shí),例如:引導(dǎo)加載程序(bootloader),步驟21中的接收的數(shù)據(jù)塊進(jìn)入芯片的內(nèi)存,步驟22在芯片的內(nèi)存中進(jìn)行。需要說(shuō)明的是,每接收一個(gè)數(shù)據(jù)塊,執(zhí)行一次步驟21-23,直至接收完所有的數(shù)據(jù)塊。在本實(shí)施例中,由于芯片接收的數(shù)據(jù)塊為壓縮的數(shù)據(jù)塊,所以PC傳遞給芯片的數(shù)據(jù)量,從而大大減少了傳遞次數(shù),而解壓縮耗時(shí)相對(duì)于一次傳遞耗時(shí)可以忽略不計(jì),所以一次傳遞耗時(shí)不變,從而大大減少了芯片下載程序文件的時(shí)間??蛇x地,在步驟23中,非易失性程序存儲(chǔ)器可以為閃存(flashmemory)或電可擦可編程只讀存儲(chǔ)器(ElectricallyErasableProgrammableRead-OnlyMemory,以下簡(jiǎn)稱(chēng):EEPROM)。可選地,在步驟21中,可以逐塊接收PC直接發(fā)送的數(shù)據(jù)塊,也可以接收由PC發(fā)送給中間媒質(zhì)再由中間媒質(zhì)發(fā)送給芯片的數(shù)據(jù)塊??蛇x地,在本實(shí)施例中,芯片具體可以為各種各樣需要下載程序文件的芯片,例如:智能卡芯片。如圖3所示,為本發(fā)明下載用于芯片的程序文件的裝置實(shí)施例的結(jié)構(gòu)示意圖,該裝置安裝在PC端,該裝置可以包括解析模塊31、切分模塊32、壓縮模塊33和發(fā)送模塊34,其中,切分模塊32與解析模塊31連接,壓縮模塊33與切分模塊32連接,發(fā)送模塊34與壓縮模塊33連接。解析模塊31用于讀取需要下載的程序文件并解析程序文件,形成數(shù)據(jù)陣列,其中,程序文件中包括代碼信息、以及芯片中保存代碼信息的非易失性程序存儲(chǔ)器的地址信息,數(shù)據(jù)陣列為按照地址信息順序排列的代碼信息;切分模塊32用于將數(shù)據(jù)陣列切分成預(yù)定大小的數(shù)據(jù)塊;壓縮模塊33用于壓縮數(shù)據(jù)塊;發(fā)送模塊34用于將壓縮后的數(shù)據(jù)塊發(fā)送給芯片。本實(shí)施例的工作過(guò)程如下:首先,解析模塊31讀取需要下載的程序文件并解析程序文件,形成數(shù)據(jù)陣列,然后,切分模塊32將數(shù)據(jù)陣列切分成預(yù)定大小的數(shù)據(jù)塊,壓縮模塊33再壓縮數(shù)據(jù)塊,最后發(fā)送模塊34將壓縮后的數(shù)據(jù)塊發(fā)送給芯片。其中,壓縮模塊33壓縮數(shù)據(jù)塊的耗時(shí)很少,與一次傳遞的耗時(shí)相比較,可以忽略不計(jì),例如:例如:一次傳遞128Bytes,耗時(shí)191ms,一次壓縮4Kbytes,耗時(shí)5ms。可選地,壓縮模塊33壓縮一個(gè)數(shù)據(jù)塊,發(fā)送模塊34發(fā)送一個(gè)數(shù)據(jù)塊;或者,壓縮模塊33將所有的數(shù)據(jù)塊壓縮后,再由發(fā)送模塊34分別進(jìn)行發(fā)送。該裝置可以采用軟件程序的方式實(shí)現(xiàn),也可以采用硬件電路的方式實(shí)現(xiàn)。在本實(shí)施例中,由于壓縮模塊33對(duì)數(shù)據(jù)塊進(jìn)行了壓縮,所以大大減少了傳遞給芯片的數(shù)據(jù)量,從而大大減少了傳遞次數(shù),而壓縮耗時(shí)相對(duì)于一次傳遞耗時(shí)可以忽略不計(jì),所以一次傳遞耗時(shí)不變,從而大大減少了芯片下載程序文件的時(shí)間,提高了生產(chǎn)效率。此外,解析模塊31將程序文件解析為按照地址信息順序排列的代碼信息,這樣的話(huà),芯片接收到程序文件后可以直接寫(xiě)入非易失性程序存儲(chǔ)器中,不再需要進(jìn)行解析,而在PC端進(jìn)行解析的速度要大大快于在芯片端進(jìn)行解析的速度,所以也在一定程度上減少了芯片下載程序文件的時(shí)間。進(jìn)一步地,切分模塊32切分的數(shù)據(jù)塊越大,壓縮模塊33壓縮的效果越好。優(yōu)選地,數(shù)據(jù)塊的預(yù)定大小根據(jù)芯片內(nèi)存的可用空間的大小確定??蛇x地,再參見(jiàn)圖3所示結(jié)構(gòu)示意圖,該裝置還可以包括填充模塊35,分別與切分模塊32和壓縮模塊33連接,用于當(dāng)切分后的數(shù)據(jù)塊的大小小于預(yù)定大小時(shí),將數(shù)據(jù)塊填充至預(yù)定大小,例如:填充0或其他預(yù)定數(shù)據(jù)??蛇x地,發(fā)送模塊34可以直接將壓縮后的數(shù)據(jù)塊傳送給芯片,也可以先將壓縮后的數(shù)據(jù)塊傳送給中間媒質(zhì),再由中間媒質(zhì)傳送給芯片。可選地,在本實(shí)施例中,芯片可以為各種各樣需要下載程序文件的芯片,例如:智能卡芯片。如圖4所示,為本發(fā)明接收用于芯片的程序文件的裝置實(shí)施例的結(jié)構(gòu)示意圖,該裝置安裝在芯片端,該裝置可以包括接收模塊41、解壓縮模塊42和保存模塊43,解壓縮模塊42與接收模塊41連接,保存模塊43與解壓縮模塊42連接。其中,接收模塊41用于逐塊接收數(shù)據(jù)塊;解壓縮模塊42用于對(duì)數(shù)據(jù)塊進(jìn)行解壓縮處理,得到數(shù)據(jù)陣列,數(shù)據(jù)陣列為代碼信息,代碼信息按照芯片中保存代碼信息的非易失性程序存儲(chǔ)器的地址信息順序排列;保存模塊43用于將數(shù)據(jù)陣列保存到芯片的非易失性程序存儲(chǔ)器。在本實(shí)施例中,該裝置可以借助軟件程序來(lái)實(shí)現(xiàn),例如:引導(dǎo)加載程序,此時(shí),接收模塊41接收數(shù)據(jù)塊到芯片的內(nèi)存中,解壓縮模塊42在芯片的內(nèi)存中對(duì)數(shù)據(jù)塊進(jìn)行解壓縮處理??蛇x地,該裝置也可以采用硬件電路來(lái)實(shí)現(xiàn),該硬件電路集成在芯片中。本實(shí)施例的工作過(guò)程如下:首先,接收模塊41逐塊接收數(shù)據(jù)塊到芯片的內(nèi)存中,然后,解壓縮模塊42在芯片的內(nèi)存中對(duì)數(shù)據(jù)塊進(jìn)行解壓縮處理,得到數(shù)據(jù)陣列,最后保存模塊43將數(shù)據(jù)陣列保存到芯片的非易失性程序存儲(chǔ)器。需要說(shuō)明的是,接收模塊41每接收一個(gè)數(shù)據(jù)塊,解壓縮模塊42解壓縮一個(gè)數(shù)據(jù)塊,保存模塊43保存一個(gè)數(shù)據(jù)陣列,直至接收模塊41接收完所有的數(shù)據(jù)塊。在本實(shí)施例中,由于接收模塊41接收的數(shù)據(jù)塊為壓縮的數(shù)據(jù)塊,所以PC傳遞給芯片的數(shù)據(jù)量,從而大大減少了傳遞次數(shù),而解壓縮耗時(shí)相對(duì)于一次傳遞耗時(shí)可以忽略不計(jì),所以一次傳遞耗時(shí)不變,從而大大減少了芯片下載程序文件的時(shí)間??蛇x地,在本實(shí)施例中,非易失性程序存儲(chǔ)器具體可以為閃存或EEPROM??蛇x地,接收模塊41可以逐塊接收個(gè)人電腦發(fā)送給芯片的數(shù)據(jù)塊,也可以逐塊接收由PC發(fā)送給中間媒質(zhì)再由中間媒質(zhì)發(fā)送給芯片的數(shù)據(jù)塊??蛇x地,在本實(shí)施例中,芯片具體可以為各種各樣需要下載程序文件的芯片,例如:智能卡芯片。如圖5所示,為本發(fā)明一種下載用于芯片的程序文件的系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖,該系統(tǒng)可以包括下載用于芯片的程序文件的裝置51和接收用于芯片的程序文件的裝置52。下載用于芯片的程序文件的裝置51設(shè)置在PC端,接收用于芯片的程序文件的裝置52設(shè)置在芯片端。下載用于芯片的程序文件的裝置51與接收用于芯片的程序文件的裝置52可以直接進(jìn)行通信,可以通過(guò)中間媒質(zhì)進(jìn)行間接通信。其中,下載用于芯片的程序文件的裝置51用于讀取需要下載的程序文件并解析程序文件,形成數(shù)據(jù)陣列,將數(shù)據(jù)陣列切分成預(yù)定大小的數(shù)據(jù)塊,壓縮數(shù)據(jù)塊,將壓縮后的數(shù)據(jù)塊發(fā)送給芯片;其中,程序文件中包括代碼信息、以及芯片中保存代碼信息的非易失性程序存儲(chǔ)器的地址信息,數(shù)據(jù)陣列為按照地址信息順序排列的代碼信息。接收用于芯片的程序文件的裝置52用于逐塊接收數(shù)據(jù)塊到芯片的內(nèi)存中,在芯片的內(nèi)存中,對(duì)數(shù)據(jù)塊進(jìn)行解壓縮,得到數(shù)據(jù)陣列,將數(shù)據(jù)陣列保存到芯片的非易失性程序存儲(chǔ)器;其中,數(shù)據(jù)陣列為代碼信息,代碼信息按照芯片中保存代碼信息的非易失性程序存儲(chǔ)器的地址信息順序排列。具體地,下載用于芯片的程序文件的裝置51可以為前述實(shí)施例中的下載用于芯片的程序文件的裝置,接收用于芯片的程序文件的裝置52可以為前述實(shí)施例中的接收用于芯片的程序文件的裝置,在此不再贅述。最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
库尔勒市| 嘉鱼县| 边坝县| 中西区| 渭南市| 乌拉特后旗| 常熟市| 郯城县| 洪雅县| 华亭县| 中超| 光泽县| 佛山市| 固阳县| 合江县| 商南县| 宣汉县| 延津县| 沅陵县| 辽源市| 晋城| 石狮市| 凤翔县| 前郭尔| 五莲县| 南岸区| 新丰县| 贡觉县| 井陉县| 白银市| 湘乡市| 福州市| 崇文区| 肥乡县| 巴塘县| 景宁| 会东县| 丘北县| 秭归县| 海晏县| 宜良县|