汽車電子自編程分析論文
時間:2022-01-10 03:04:00
導語:汽車電子自編程分析論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(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設計方案
目前常用的Bootloader方案有一下四種:
2.1方案一
如下圖:
SHAPE\*MERGEFORMAT
圖1方案一存儲空間圖
Fig.1Memoryaddressspaceofsolutionone
原理如下:
Boot工程:
Address:0x0000~0x3fff,interruptvector和自編程庫函數(shù),CAN,上位機通訊協(xié)議;
Application工程:
Address:0x0000~0x3fff,interruptvector和自編程庫函數(shù),CAN,上位機;應用程序函數(shù);
Dummyvector:用于中轉中斷處理函數(shù)。因為如果有中斷產(chǎn)生,程序指針只會跳到Bootvector,應用程序中斷處理函數(shù)無法響應中斷。Dummyvector處理流程如下:
SHAPE\*MERGEFORMAT
圖2方案一中斷處理機制
Fig.2Theinterrupthandlemechanismofsolutionone
缺點:
1.Bootloader燒寫在ROM里面,每次啟動的時候需要執(zhí)行,進行相應判斷不是由應用程序開始。
2.每次進入中斷程序時需要進行跳轉,所以延長進入中斷時間,且boot里面需要聲明所有中斷向量,boot里面的中斷處理函數(shù)中要調(diào)用Application中的中斷處理函數(shù)比較復雜,因為如果Application代碼更新后,應用程序函數(shù)入口地址是變化的。
3.DummyInterruptVector需要在更新Bootloader時就寫入,并且在更新應用程序的同時也更新這部分區(qū)域。
優(yōu)點:
1.程序設計相對容易。
2.2方案二
如下圖:
SHAPE\*MERGEFORMAT
圖3方案二存儲空間圖
Fig.3Memoryaddressspaceofsolutiontwo
缺點:
1.更新程序之前需要進行BootSwap功能切換應用程序和Bootloader程序,更新完畢后再次需要進行切換.
2.應用程序設計時比較復雜,需要加入Bootloader代碼,且需要空出一段空白區(qū)域用于與Bootloader區(qū)域進行BootSwap交換.
優(yōu)點:
1.ECU從應用程序開始跑,中斷程序處理簡單。Bootswap的目的就是為了處理中斷機制。
SHAPE\*MERGEFORMAT
圖4方案二存儲空間圖
Fig.4Memoryaddressspaceofsolutiontwo
2.3方案三
如下圖:
SHAPE\*MERGEFORMAT
圖5方案三存儲空間圖
Fig.5Memoryaddressspaceofsolutionthree
缺點:
1.芯片空間的使用效率比較低,需要有一半的ROM空間用做交換區(qū).
優(yōu)點:
1.Bootloader和應用程序整合在一個工程文件中,不需要專門的Boot區(qū),程序設計簡單,從應用程序開始跑。
2.由于舊程序仍然存在,應用更加安全.
2.4方案四
如下圖:
SHAPE\*MERGEFORMAT
Fig.6Memoryaddressspaceofsolutionfour
首先在RAM某段區(qū)間強行定義為ROM屬性,否則無法執(zhí)行代碼,因為RAM默認存放變量。然后將Bootloader工程代碼拷入到指定RAM區(qū)間,指針跳轉到RAM開始執(zhí)行與上位機建立通訊。調(diào)用底層flash操作庫函數(shù)更新應用程序。
缺點:程序設計比較復雜,需要跳轉到RAM運行。在RAM中更新flash的時候需要開辟ROM空間作為啟動備份區(qū),否則發(fā)生斷電或者意外,程序將無法恢復。
優(yōu)點:節(jié)省空間。程序從應用程序啟動。
3結論
中斷矢量的拷貝是Bootloader的難點,以上的一些方法無論是方案一的中轉函數(shù)還是方案二的Boot區(qū)交換,都是對中斷矢量的拷貝,使得應用程序中斷處理函數(shù)能夠響應中斷。對四種Bootloader方案進行了比較和優(yōu)缺點分析,具體應用應該根據(jù)用戶的實際情況和客戶的要求來設計。
實踐中,要綜合考慮到上位機的成本,ROM空間,啟動時間,中斷響應時間等因素。
4結束語
汽車電子已成為當前IT產(chǎn)業(yè)的一大亮點,呈現(xiàn)出巨大的市場需求。Bootloader的設計作為軟件設計的一部分,有著非常重要的功能,可以實現(xiàn)ECU的在線診斷,在線標定,代碼升級等功能。根據(jù)客戶的實際需求,開發(fā)出成熟的軟件是我們的目標。
[參考文獻]
[1]NECElectronics.V850ES/Fx3UserManual,2006
[2]NECElectronics.Self-PragrammingNote,2007
[3]NECElectronics.DataFlashConvertUserManual,2007
[4]Vector.FlashKernelProgrammingonaHC12microcontrollerVersion0.01,2009
[5]Vector.CANapeUserManual,2009
- 上一篇:電子政務績效評估論文
- 下一篇:我國電子政務發(fā)展論文
精品范文
2汽車論文