国产极品美女高潮抽搐免费网站_四虎影视成人永久免费观看视频_日本熟妇浓毛hdsex_暖暖日本在线观看_亚洲人午夜射精精品日韩_大香煮伊区一二三四区2024_麻豆国产av超爽剧情系列_国产在线无码精品麻豆不卡_亚洲中文字幕无码av_最近2019在线中文字幕更新版

您好:歡迎來到東莞市嘉納電子科技有限公司官網(wǎng)

全國咨詢熱線

13509810386

大電流新能源線束,鋰電池連接線,國標(biāo)充電槍線,光伏線束,儲能端子線束廠家

如何通過腳本方案實現(xiàn)對ECU進(jìn)行固件升級

發(fā)布時間:2022-06-01瀏覽次數(shù):222
  在汽車電子開發(fā)、測試和售后診斷中,我們經(jīng)常需要對ECU進(jìn)行固件升級,即“刷新”。
  當(dāng)前市面上的主流方案是通過硬編碼的方式實現(xiàn),但這種方式的缺點也顯而易見:只有懂編程的工程師才能做,一般工程師無法勝任;當(dāng)需要修改刷新流程的時候,刷新工具必須重新編譯生成軟件。這對于刷新工具的維護(hù)極為不便。
  針對這一痛點,勤壯提供了一套通過腳本實現(xiàn)的方案。由于采用圖形化配置界面,任何類型的工程師都可以輕松勝任;當(dāng)需要修改的時候也只需修改腳本本身,無需重新編譯生成整個軟件,相比其他方案更方便、更靈活、更容易上手。
  接下來我們按照步驟一一解析:
  1.如何配置腳本?
  首先我們有必要了解下兩個專有名詞:刷新規(guī)范和QzTitan。
  刷新規(guī)范
  刷新規(guī)范一般由整車廠制定,詳細(xì)定義了刷新的具體步驟。一般分為刷新前、刷新中、刷新后。
  刷新前:切換會話、安全訪問等;
  刷新中:34/36/37服務(wù)執(zhí)行具體刷新動作;
  刷新后:完整性校驗、兼容性校驗等。
  QzTitan
  QzTitan是一款簡單易用的、圖形化的、綜合流程配置工具,文件后綴為ttn和ttb。
  QzTitan可用于各種功能的開發(fā),如刷新、IMMO等,同時可用于基礎(chǔ)軟件測試用例的開發(fā),如:診斷測試用例、NM測試用例等,能夠滿足絕大多數(shù)汽車電子開發(fā)中的開發(fā)和測試場景。
  由于使用圖形化的配置方式,QzTitan相比于使用硬編碼具有更強(qiáng)的靈活性,使得非軟件開發(fā)人員也能輕松使用。
  流程由語句和語句之間的關(guān)系組成。語句采用基礎(chǔ)加擴(kuò)展的基本方式,軟件預(yù)定義了一些常用的語句,如:If、delay、assign、math、service、sendmsg。若預(yù)定義語句無法滿足要求,可以通過usercall機(jī)制調(diào)用外部自定義函數(shù)。
  由于腳本文件是二進(jìn)制的,所以可以在各種軟硬件平臺上使用。軟件平臺包括:windows、linux、無操作系統(tǒng)環(huán)境,硬件平臺包括:PC、MCU等。
  如

  用Titan實現(xiàn)刷新規(guī)范
  通過不同語句的組合形成一個刷新流程,下面以1001為例來說明如何配置服務(wù):
  1.從左側(cè)選中10服務(wù);
  2.拖放到中間的畫布;


  

  3.在右側(cè)屬性窗口配置該服務(wù)的屬性。

  注意:1.什么是FastSA?SA一般由兩條服務(wù)組成:RequestSeed和ResponseKey,F(xiàn)astSA指的就是這兩條服務(wù)的組合。系統(tǒng)會自動根據(jù)配置調(diào)用SADLL,計算Key。2. 添加語句的方式:拖放。
  ttn與ttb的關(guān)系
  ttn是ttb的源文件,ttn可生成ttb,ttb不可以反向生成ttn,所以需要注意保存ttn。
 

  2.如何執(zhí)行腳本?
  我們首先會用到QzSaturn這個工具,QzSaturn是一款總線和診斷測試工具,是整個工具鏈中的主軟件,文件后綴為:*.stn。
  QzSaturn的主要功能包括:報文監(jiān)控、圖形監(jiān)控、總線記錄與回放、全車診斷、工程面板、流程、診斷、刷新、網(wǎng)報報文發(fā)送等,覆蓋了汽車電子開發(fā)與測試中常用的功能。刷新是其功能之一。
 

   刷新步驟:
  1.導(dǎo)入ttb文件
  將配置完成的腳本導(dǎo)入到QzSaturn刷新子窗口中。
  2.導(dǎo)入刷新數(shù)據(jù)文件
  指的是要刷的數(shù)據(jù)文件,支持HEX、S19和BIN。
  3.基本參數(shù)的配置
  對ECU基本參數(shù)進(jìn)行配置,如:RequestID、ResponseID。
  4.SA算法庫的導(dǎo)入
  刷新前一般需要解鎖SA,解鎖算法由SA算法庫實現(xiàn)。在windows平臺的文件后綴為*.dll,DLL本身的制作方法見下文。
  5.CRC配置
  選擇相應(yīng)的CRC類型及相關(guān)信息,并點擊按鈕計算CRC。
  6.開始刷新。
  如何制作SA算法庫?
  本質(zhì)是制作一個特定接口的動態(tài)鏈接庫*.dll。
  制作工具:Visual Studio 2015
  開發(fā)語言:C++/C++
  接口函數(shù):extern “C” __declspec(dllexport) UINT32 saturn_key_generate(UINT8* p_seed,
  UINT32 seed_length,
  UINT32 level,
  UINT8* param,
  UINT8* p_key,
  UINT32 key_length,
  UINT32& key_size)
  參數(shù)說明:
  P_seed:Seed
  Seed_length:Seed長度,一般為4;
  Level:SA level.以2701為例,應(yīng)填01
  Param:用戶自定義
  P_key:Key Buffer,用于存儲函數(shù)返回的Key
  Key_length:Key Buffer的指定長度,
  Key_size:Key實際長度,一般跟Seed長度一致
  兩種方式:源碼封裝方式、二次封裝方式。
  源碼封裝方式:直接在圖示位置寫代碼實現(xiàn)SA算法。
  二次封裝方式:在圖示位置調(diào)用外部算法庫。一般用于整車廠需要對算法保密的場景。
  通過以上操作,可以實現(xiàn)適應(yīng)不同場景、靈活和高效的刷新。

標(biāo)簽: ECU
13509810386