基于CAN總線的UDS診斷bootloader升級MCU工具_第1頁
基于CAN總線的UDS診斷bootloader升級MCU工具_第2頁
基于CAN總線的UDS診斷bootloader升級MCU工具_第3頁
基于CAN總線的UDS診斷bootloader升級MCU工具_第4頁
基于CAN總線的UDS診斷bootloader升級MCU工具_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第第頁基于CAN總線的UDS診斷bootloader升級MCU工具功能擴展

1、升級包可以做些加密功能。

2、結合pcan-view,擴展實現(CAN)報文分析工具。

3、其實有一個很重要的功能就是TrustZone,實現權限訪問功能,對每個功能服務進行分離和加密。

開發經驗

在開發過程,遇到一些坑,分享給大家,防止掉坑里。

1、之前在rasc添加的組件不能刪除。

下面在rasc添加Thre(ad)X,不只是(RTOS),其他組件也出現這種情況。

當去掉組件不使用,重新配置。但是組件還是顯示在軟件包,導致編譯

解決方式:經過自己琢磨發現,找到工程下buildinfo.gpdsc文件,刪除殘余的組件。

會有提示,點擊確認就行,殘余的組件就沒有,可以順利編譯。

但是治不了根,當你重新再配置,還會出現前面的情況,需要做同樣的操作,找到工程下buildinfo.gpdsc文件,刪除殘余的組件。可能需要做其他的配置。還有可以一種情況,在components下取消組件,在st(ac)ks還存在,比如TreadX,還在stacks中,直接Remove掉。

2、(SD)卡,FAT32文件系統的開發。

當把較多變量和數組放在局部函數會導致,錯誤中斷

代碼例子

int

transfer_data_cm36(FIL*

f_update){

UINT

update_fnum

=

1;

/*

文件成功讀寫數量

*/

BY(TE)

update_ReadBuffer[64]={0};

/*

讀緩沖區

*/

u16

index;

u8

send_transfer_flag

=

0;

FRESULT

update_res_sd

=

FR_OK;

uint16_t

exit_crc

=

0xFFFF;

if(update_fnum

像這樣,運行直接Default_Handler嘗試改堆空間,也沒什么作用。

把這部分變量放到全局,就能成功運行。

stat(ic)

UINT

update_fnum

=

1;

/*

文件成功讀寫數量

*/static

BYTE

update_ReadBuffer[64]={0};

/*

讀緩沖區

*/static

u16

index;static

u8

send_transfer_flag

=

0;static

FRESULT

update_res_sd

=

FR_OK;

static

uint16_t

exit_crc

=

0xFFFF;int

transfer_data_cm36(FIL*

f_update){

if(update_fnum

3、CAN總線開發,忘記取消過濾CANID

開發板的CAN(收發器)CANH和CANL絲印是反的,花了一些時間才發現。

SDK建議使用比較新的版本包括(Keil)5用比較新的,不然很可能出現些奇怪的問題。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論