汽車電子自編程分析論文
時(shí)間:2022-01-31 05:58:00
導(dǎo)語(yǔ):汽車電子自編程分析論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1系統(tǒng)平臺(tái)
本系統(tǒng)采用NEC電子的32位車身專用芯片V850/Fx3系列,V850是NEC電子的32位微處理器核,5級(jí)流水線控制,內(nèi)部32個(gè)32位寄存器,乘法/除法指令,數(shù)據(jù)空間支持最大4GB線性尋址能力,代碼空間支持64M線性尋址能力,內(nèi)部1MB的codeflash,60KB的RAM空間,32KB的dataflash用作EEPROM模擬。
2常見(jiàn)Bootloader設(shè)計(jì)方案
目前常用的Bootloader方案有一下四種:
2.1方案一
如下圖:
SHAPE\*MERGEFORMAT
圖1方案一存儲(chǔ)空間圖
Fig.1Memoryaddressspaceofsolutionone
原理如下:
Boot工程:
Address:0x0000~0x3fff,interruptvector和自編程庫(kù)函數(shù),CAN,上位機(jī)通訊協(xié)議;
Application工程:
Address:0x0000~0x3fff,interruptvector和自編程庫(kù)函數(shù),CAN,上位機(jī);應(yīng)用程序函數(shù);
Dummyvector:用于中轉(zhuǎn)中斷處理函數(shù)。因?yàn)槿绻兄袛喈a(chǎn)生,程序指針只會(huì)跳到Bootvector,應(yīng)用程序中斷處理函數(shù)無(wú)法響應(yīng)中斷。Dummyvector處理流程如下:
SHAPE\*MERGEFORMAT
圖2方案一中斷處理機(jī)制
Fig.2Theinterrupthandlemechanismofsolutionone
缺點(diǎn):
1.Bootloader燒寫(xiě)在ROM里面,每次啟動(dòng)的時(shí)候需要執(zhí)行,進(jìn)行相應(yīng)判斷不是由應(yīng)用程序開(kāi)始。
2.每次進(jìn)入中斷程序時(shí)需要進(jìn)行跳轉(zhuǎn),所以延長(zhǎng)進(jìn)入中斷時(shí)間,且boot里面需要聲明所有中斷向量,boot里面的中斷處理函數(shù)中要調(diào)用Application中的中斷處理函數(shù)比較復(fù)雜,因?yàn)槿绻鸄pplication代碼更新后,應(yīng)用程序函數(shù)入口地址是變化的。
3.DummyInterruptVector需要在更新Bootloader時(shí)就寫(xiě)入,并且在更新應(yīng)用程序的同時(shí)也更新這部分區(qū)域。
優(yōu)點(diǎn):
1.程序設(shè)計(jì)相對(duì)容易。
2.2方案二
如下圖:
SHAPE\*MERGEFORMAT
圖3方案二存儲(chǔ)空間圖
Fig.3Memoryaddressspaceofsolutiontwo
缺點(diǎn):
1.更新程序之前需要進(jìn)行BootSwap功能切換應(yīng)用程序和Bootloader程序,更新完畢后再次需要進(jìn)行切換.
2.應(yīng)用程序設(shè)計(jì)時(shí)比較復(fù)雜,需要加入Bootloader代碼,且需要空出一段空白區(qū)域用于與Bootloader區(qū)域進(jìn)行BootSwap交換.
優(yōu)點(diǎn):
1.ECU從應(yīng)用程序開(kāi)始跑,中斷程序處理簡(jiǎn)單。Bootswap的目的就是為了處理中斷機(jī)制。
SHAPE\*MERGEFORMAT
圖4方案二存儲(chǔ)空間圖
Fig.4Memoryaddressspaceofsolutiontwo
2.3方案三
如下圖:
SHAPE\*MERGEFORMAT
圖5方案三存儲(chǔ)空間圖
Fig.5Memoryaddressspaceofsolutionthree
缺點(diǎn):
1.芯片空間的使用效率比較低,需要有一半的ROM空間用做交換區(qū).
優(yōu)點(diǎn):
1.Bootloader和應(yīng)用程序整合在一個(gè)工程文件中,不需要專門的Boot區(qū),程序設(shè)計(jì)簡(jiǎn)單,從應(yīng)用程序開(kāi)始跑。
2.由于舊程序仍然存在,應(yīng)用更加安全.
2.4方案四
如下圖:
SHAPE\*MERGEFORMAT
Fig.6Memoryaddressspaceofsolutionfour
首先在RAM某段區(qū)間強(qiáng)行定義為ROM屬性,否則無(wú)法執(zhí)行代碼,因?yàn)镽AM默認(rèn)存放變量。然后將Bootloader工程代碼拷入到指定RAM區(qū)間,指針跳轉(zhuǎn)到RAM開(kāi)始執(zhí)行與上位機(jī)建立通訊。調(diào)用底層flash操作庫(kù)函數(shù)更新應(yīng)用程序。
缺點(diǎn):程序設(shè)計(jì)比較復(fù)雜,需要跳轉(zhuǎn)到RAM運(yùn)行。在RAM中更新flash的時(shí)候需要開(kāi)辟ROM空間作為啟動(dòng)備份區(qū),否則發(fā)生斷電或者意外,程序?qū)o(wú)法恢復(fù)。
優(yōu)點(diǎn):節(jié)省空間。程序從應(yīng)用程序啟動(dòng)。
3結(jié)論
中斷矢量的拷貝是Bootloader的難點(diǎn),以上的一些方法無(wú)論是方案一的中轉(zhuǎn)函數(shù)還是方案二的Boot區(qū)交換,都是對(duì)中斷矢量的拷貝,使得應(yīng)用程序中斷處理函數(shù)能夠響應(yīng)中斷。對(duì)四種Bootloader方案進(jìn)行了比較和優(yōu)缺點(diǎn)分析,具體應(yīng)用應(yīng)該根據(jù)用戶的實(shí)際情況和客戶的要求來(lái)設(shè)計(jì)。
實(shí)踐中,要綜合考慮到上位機(jī)的成本,ROM空間,啟動(dòng)時(shí)間,中斷響應(yīng)時(shí)間等因素。
4結(jié)束語(yǔ)
汽車電子已成為當(dāng)前IT產(chǎn)業(yè)的一大亮點(diǎn),呈現(xiàn)出巨大的市場(chǎng)需求。Bootloader的設(shè)計(jì)作為軟件設(shè)計(jì)的一部分,有著非常重要的功能,可以實(shí)現(xiàn)ECU的在線診斷,在線標(biāo)定,代碼升級(jí)等功能。根據(jù)客戶的實(shí)際需求,開(kāi)發(fā)出成熟的軟件是我們的目標(biāo)。
[參考文獻(xiàn)]
[1]NECElectronics.V850ES/Fx3UserManual,2006
[2]NECElectronics.Self-PragrammingNote,2007
[3]NECElectronics.DataFlashConvertUserManual,2007
[4]Vector.FlashKernelProgrammingonaHC12microcontrollerVersion0.01,2009
論文關(guān)鍵詞:汽車電子NEC電子Bootloader自編程
論文摘要:自編程技術(shù)在汽車電子領(lǐng)域軟件開(kāi)發(fā)中發(fā)揮著非常重要的作用,它可以實(shí)現(xiàn)ECU的在線診斷,在線標(biāo)定,代碼升級(jí)等功能,解決了傳統(tǒng)方案依賴于診斷軟件,標(biāo)定軟件,專用燒寫(xiě)器的缺點(diǎn)。建立了基于NEC電子的32位車身專用微控制器的軟件平臺(tái),編寫(xiě)了CAN協(xié)議驅(qū)動(dòng),通訊協(xié)議驅(qū)動(dòng),flash操作驅(qū)動(dòng)代碼,分析了Bootloader區(qū)和應(yīng)用程序區(qū)的中斷向量處理機(jī)制,列舉了常見(jiàn)的幾種Bootloader設(shè)計(jì)方法,結(jié)合實(shí)際平臺(tái)進(jìn)行了一系列試驗(yàn),提出了一些可擴(kuò)展型、創(chuàng)新型的方案并總結(jié)了其優(yōu)缺點(diǎn),這對(duì)于自主開(kāi)發(fā)Bootloader是非常有實(shí)際意義的。