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