開(kāi)發(fā)人員編寫bootloader代碼,然后使用ide工具編譯生成bootloader固件,后得到;在所述步驟,終的壓縮版的固件包括、header、。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟4包括:步驟:芯片上電啟動(dòng),運(yùn)行bootloader,讀取header;步驟:判斷已燒錄的userapplication是否處于壓縮狀態(tài),如果是,那么執(zhí)行步驟,否則跳轉(zhuǎn)到userapplication執(zhí)行正常的業(yè)務(wù)層邏輯;步驟:先解壓,再解壓,解壓成功后,直接跳轉(zhuǎn)到userapplication執(zhí)行正常的業(yè)務(wù)層邏輯。作為本發(fā)明的進(jìn)一步改進(jìn),解壓,將其直接解壓到內(nèi)存中,確保解壓出來(lái)的內(nèi)容無(wú)誤后,,再將其寫入芯片內(nèi)部flash中,覆蓋壓縮文件;即使,不能直接放于芯片內(nèi)存中,將其解壓到芯片外部flash未使用的區(qū)段,然后確保解壓后的數(shù)據(jù)無(wú)誤后,再將其復(fù)制到芯片內(nèi)部flash中。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟:步驟a:檢查;步驟b:判斷,若是,那么執(zhí)行步驟c,否則為固件異常,退出;步驟c:解壓,并將其燒錄到單片機(jī)外部flash中;步驟d:判斷燒錄是否成功,若是,那么執(zhí)行步驟e,否則為硬件異常,退出;步驟e:檢查;步驟f:判斷,若是,那么執(zhí)行步驟g,否則為固件異常,退出;步驟g:解壓,并將其燒錄到單片機(jī)內(nèi)部flash中。燒錄機(jī)廠排名找金創(chuàng)圖。天津燒錄機(jī)價(jià)格
步驟h:判斷燒錄是否成功,若是,那么執(zhí)行步驟i,否則為硬件異常,退出;步驟i:燒錄完成,更新header信息,然后跳轉(zhuǎn)到userapplication執(zhí)行正常的業(yè)務(wù)層邏輯。本發(fā)明還提供了一種固件快速燒錄系統(tǒng),包括:布局編寫模塊:用于固件布局及代碼編寫;固件壓縮模塊:用于制作壓縮版的固件;壓縮版固件燒錄模塊:用于使用燒錄工具燒錄壓縮版的固件;解壓燒錄模塊:用于程序上電啟動(dòng),解壓壓縮版的固件,并將解壓后的固件燒錄到指定位置。本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序配置為由處理器調(diào)用時(shí)實(shí)現(xiàn)本發(fā)明所述的固件快速燒錄方法的步驟。本發(fā)明的有益效果是:本發(fā)明在方便固件管理和不增加燒錄成本的前提下,將燒錄時(shí)間成倍縮短。附圖說(shuō)明圖1是未壓縮的固件結(jié)構(gòu)示意圖;圖2是制作壓縮版的固件的流程圖;圖3是本發(fā)明步驟4的流程圖。具體實(shí)施方式本發(fā)明公開(kāi)了一種固件快速燒錄方法,本發(fā)明的目的就是在方便固件管理,不增加燒錄成本的前提下,將燒錄時(shí)間成倍縮短。本發(fā)明的基本思想是:1.固件燒錄時(shí)間由兩部分組成:固件傳輸時(shí)間和固件寫入時(shí)間。2.固件傳輸時(shí)間:在傳輸速率一定的情況下,固件傳輸時(shí)間取決于固件大小。中國(guó)澳門編帶燒錄機(jī)廠商金創(chuàng)圖的燒錄機(jī)就是好!
步驟4:程序上電啟動(dòng),解壓壓縮版的固件,并將解壓后的固件燒錄到指定位置。步驟1,固件布局及代碼編寫的詳細(xì)實(shí)現(xiàn)如下:本發(fā)明使用了壓縮方案來(lái)縮減固件大小,由于壓縮后的固件,直接燒錄到芯片中是無(wú)法運(yùn)行的,因此我們?cè)诠碳季謺r(shí),將程序分成兩塊:bootloader和userapplication。在步驟2中,制作壓縮版的固件時(shí),我們只壓縮userapplication,而不會(huì)壓縮bootloader。在步驟4中,芯片上電后,會(huì)執(zhí)行bootloader。這塊如果有新產(chǎn)品可以把產(chǎn)品名稱,圖片發(fā)我,我可以進(jìn)行協(xié)助更新添加bootloader負(fù)責(zé)檢查userapplication是否處于壓縮狀態(tài),如果處于壓縮狀態(tài),則將其解壓,然后跳轉(zhuǎn)到解壓后的userapplication執(zhí)行程序。如果userapplication未處于壓縮狀態(tài),則直接跳轉(zhuǎn)到userapplication執(zhí)行程序。userapplication由于包含了很多圖片等資源文件,一般都會(huì)非常大。直接將整個(gè)userapplication放到芯片內(nèi)部flash不現(xiàn)實(shí),因此我們將userapplication拆分為兩部分:業(yè)務(wù)邏輯部分和資源文件部分。將業(yè)務(wù)邏輯部分存放于內(nèi)部flash中,將資源文件部分放到芯片外部flash中。在編寫代碼時(shí),我們?yōu)閳D片等資源文件指定“extflashsection”屬性,在鏈接時(shí)。
直接使用st-link、j-link等燒錄工具燒錄。方案三:和方案二類似,的不同是,內(nèi)部flash程序也在smt貼片前通過(guò)芯片燒錄機(jī)器燒錄好?,F(xiàn)有技術(shù)方案有如下缺點(diǎn):方案一:燒錄時(shí)間非常長(zhǎng),生產(chǎn)效率低,生產(chǎn)成本高。經(jīng)測(cè)算,使用st-link燒錄一個(gè)12mb的固件,大概需要2分20秒。方案二:內(nèi)外部flash必須一一對(duì)應(yīng),分開(kāi)燒錄,容易出錯(cuò)。且外部flash需在smt前單獨(dú)燒錄,會(huì)增加燒錄成本。方案三:內(nèi)外部flash必須一一對(duì)應(yīng),分開(kāi)燒錄,容易出錯(cuò)。且內(nèi)外部flash均單獨(dú)燒錄,會(huì)增加燒錄成本。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種固件快速燒錄方法,包括依次執(zhí)行如下步驟:步驟1:固件布局及代碼編寫;步驟2:制作壓縮版的固件;步驟3:使用燒錄工具燒錄壓縮版的固件;步驟4:程序上電啟動(dòng),解壓壓縮版的固件,并將解壓后的固件燒錄到指定位置。作為本發(fā)明的進(jìn)一步改進(jìn),在所述步驟1中,在固件布局時(shí),將程序分成bootloader和userapplication,所述userapplication包括資源文件,將所述userapplication拆分為業(yè)務(wù)邏輯部分和資源文件部分,將業(yè)務(wù)邏輯部分存放于內(nèi)部flash中,將資源文件部分放到芯片外部flash中;在所述步驟1中,在代碼編寫時(shí),為資源文件指定extflashsection屬性,在鏈接時(shí)。普通燒錄機(jī)跟外懸掛燒錄機(jī)有什么區(qū)別。
將壓縮版的固件燒錄到指定位置,如0x08000000。(不管芯片內(nèi)部是否已有固件都可以燒錄成功)步驟3沒(méi)什么特別的地方,和常規(guī)燒錄內(nèi)部flash固件的方法一樣,不屬于本發(fā)明專利的,因此不做過(guò)多說(shuō)明。步驟4:程序上電啟動(dòng),解壓壓縮版的固件,并將解壓后的固件燒錄到指定位置的詳細(xì)實(shí)現(xiàn)如下:步驟:芯片上電啟動(dòng),運(yùn)行bootloader,讀取header(固件索引頭);步驟:判斷已燒錄的userapplication是否處于壓縮狀態(tài),如果是,那么執(zhí)行步驟,否則跳轉(zhuǎn)到userapplication執(zhí)行正常的業(yè)務(wù)層邏輯;步驟:先解壓,再解壓,解壓成功后,直接跳轉(zhuǎn)到userapplication執(zhí)行正常的業(yè)務(wù)層邏輯。之所以先解壓,可以直接使用。而內(nèi)部flash被壓縮文件,直接解壓,將其寫入內(nèi)部flash中,會(huì)將還未解壓的外部固件。由于,解壓,我們可以將其直接解壓到內(nèi)存中,確保解壓出來(lái)的內(nèi)容無(wú)誤后,再將其寫入內(nèi)部flash中,覆蓋壓縮文件。即使,不能直接放于芯片內(nèi)存中,我們也可以將其解壓到外部flash未使用的區(qū)段,然后確保解壓后的數(shù)據(jù)無(wú)誤后,我們?cè)賹⑵鋍opy到內(nèi)部flash中。如圖3是所示,步驟:步驟a:檢查;步驟b:判斷,若是,那么執(zhí)行步驟c,否則為固件異常,退出;步驟c:解壓。芯片燒錄機(jī)哪些好?金創(chuàng)圖好!中國(guó)澳門編帶燒錄機(jī)廠商
通用型燒錄機(jī)是不是所有的芯片都支持燒錄。天津燒錄機(jī)價(jià)格
外部flash固件在smt貼片前先使用flash編程器燒錄好。內(nèi)部flash固件在smt后。這塊如果有新產(chǎn)品可以把產(chǎn)品名稱,圖片發(fā)我,我可以進(jìn)行協(xié)助更新添加直接使用st-link、j-link等燒錄工具燒錄。方案三:和方案二類似,的不同是,內(nèi)部flash程序也在smt貼片前通過(guò)芯片燒錄機(jī)器燒錄好。現(xiàn)有技術(shù)方案有如下缺點(diǎn):方案一:燒錄時(shí)間非常長(zhǎng),生產(chǎn)效率低,生產(chǎn)成本高。經(jīng)測(cè)算,使用st-link燒錄一個(gè)12mb的固件,大概需要2分20秒。方案二:內(nèi)外部flash必須一一對(duì)應(yīng),分開(kāi)燒錄,容易出錯(cuò)。且外部flash需在smt前單獨(dú)燒錄,會(huì)增加燒錄成本。方案三:內(nèi)外部flash必須一一對(duì)應(yīng),分開(kāi)燒錄,容易出錯(cuò)。且內(nèi)外部flash均單獨(dú)燒錄,會(huì)增加燒錄成本。技術(shù)實(shí)現(xiàn)要素:本發(fā)明提供了一種固件快速燒錄方法,包括依次執(zhí)行如下步驟:步驟1:固件布局及代碼編寫;步驟2:制作壓縮版的固件;步驟3:使用燒錄工具燒錄壓縮版的固件;步驟4:程序上電啟動(dòng),解壓壓縮版的固件,并將解壓后的固件燒錄到指定位置。作為本發(fā)明的進(jìn)一步改進(jìn),在所述步驟1中,在固件布局時(shí),將程序分成bootloader和userapplication,所述userapplication包括資源文件,將所述userapplication拆分為業(yè)務(wù)邏輯部分和資源文件部分。天津燒錄機(jī)價(jià)格