999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種控制器硬件序列號的更新方法

2019-09-21 03:45:20畢乾坤
汽車實用技術 2019年17期
關鍵詞:按鈕程序

畢乾坤

(陜西法士特汽車傳動工程研究院智能傳動研究所,陜西 西安 710119)

前言

在電控單元(ECU)的下線測試流程中,ECU 的測試記錄需要記錄到下線試驗臺的數據庫中,這樣便于在產品發布后的維護和跟蹤,因此需要按一定規則生成硬件ECU 的序列號,并把此序列號和下線測試數據對應上。原有的措施是在ECU 硬件殼體上貼上代表硬件序列號的條碼標簽紙,通過掃碼槍掃碼記錄ECU 硬件的序列號,并存儲下線數據。這種方案只適應在生產中,在后續實際維護和服務中,由于車輛的惡劣使用環境導致標簽紙失效脫落,或者由于太臟不能看清,或者由于安裝位置的原因沒有辦法看見標簽紙,使EUC 在售后服務時增加了售后服務的成本。本文通過修改bootloader hex 文件的ECU 硬件序列號,并把bootloader 刷寫到ECU 中,使產品在下線完成后硬件序列號就永久存儲在FLASH 中,通過客戶端軟件的UDS服務就可以讀取ECU硬件的序列號,不會因為后續產品的應用程序更新而導致硬件序列號的丟失。

1 ECU 控制軟件組成

當前汽車中ECU 的軟件主要包括2 部分:bootloader 和應用程序(APP)。Bootloader 程序的目的是便于后續應用程序的更新,它在ECU 產品下線測試完成后就不會再更改。現在的微控制器(MCU)都有JTAG 口來用于程序的刷寫,由于JTAG 口是一個功能很齊全的口,同時在硬件層面上也缺乏電氣保護,不能適應惡劣的汽車電氣使用環境,因此在ECU 的設計中不會把JTAG 通過ECU 的接插件引出,所以通用的做法是開發bootloader 引導程序來滿足ECU 后續應用程序的更新。

應用程序(APP)則為實現ECU 相關功能的程序,它包括整個系統的控制策略。ECU 在上電啟動時會先進入bootloader,bootloader 程序會檢測應用程序是否存在并有效,如果應用程序有效,則會跳轉到應用程序中執行應用程序的控制邏輯。應用程序在后續產品發布后是可以更新的,而bootloader 程序則大多數情況下是不能夠更新的。

2 Bootloader 程序中ECU 硬件序列號的更新

本文中的 bootloader 的設計和開發是基于“HIS Flashloader SpecificationVersion 1.1”,此規范為基于UDS 協議設計和開發bootloader,其中UDS 服務#22 為read DID 服務,DID 為0Xf18c(ECU 序列號ID)為讀取ECU 的序列號。在本文中使用的bootloader 的ECU 序列號定義為一個16 個字節的全局常量字符串,因此在程序的編譯完后ECU 的序列號定位在FLASH 地址范圍內。通過編譯后生成的map 文件找到ECU 序列號字符串的FLASH 地址位置,然后在Intel或 Motorola 格式 hex 文件中用生成的序列號替換掉bootloader 程序中默認的ECU 序列號,從而完成ECU 序列號的更新。

3 Memtool 批處理腳本實現程序的下載

在下線測試的前一個工位是下線測試程序的下載,下線測試程序包括bootloader 和下線測試應用程序,這2 個程序可以合并為一個Intel 或Motorola 格式的文件,并通過JTAG口下載刷寫。

本文中ECU 的微控制器為Infineon 的TC277 系列,Infineon 公司提供了免費的通過JTAG 接口下載程序的客戶端工具Memtool,本文使用的Memtool 版本為4.7 版本。Memtool 4.7 提供了一個可以通過批處理操作來執行程序下載的方式,通過這種方式不需要在Memtool 的用戶界面上點擊鼠標來完成程序的刷寫。Memtool 的程序界面如下圖:

圖1 Memtool 主界面

Memtool 主要支持的批處理命令為:

● Connect -等同于用戶界面的“Connect”按鈕,通過JTAG 口連接設備。

● open_file{file}- 等同于用戶界面的“Open File…”,file為包括文件絕對路徑的文件。

● select_all_sections -等同于用戶界面的“Select All”,選擇打開的刷寫文件的所有節。

● add_selected_sections -等同于用戶界面的“Add Sel. >>”,把選擇的刷寫節添加到刷寫節中。

● program -等同于用戶界面的“Program”,編程刷寫選擇的刷寫節數據

● disconnect -等同于用戶界面的“Disconnect”,斷開設備的連接。

批處理文件生成:新建文本文件,輸入下面的命令,并保存為擴展名為.mtb 文件。

connect

open_fileD: mcm_cx31.hex

select_all_sections

add_selected_sections

program

disconnect

通過點擊上圖中的“File”->“Run Batch…”,選中.mtb文件,Memtool 就會按照.mtb 文件中的命令執行。見下圖:

圖2 批處理界面

4 程序設計和開發

程序的設計和開發需要把上面介紹的2 個關鍵功能通過編程實現自動操作,簡單的鼠標點擊的操作,程序就能自動完成這2 個關鍵功能的實現,從而保證ECU 硬件序列號的更新。

(1)Bootloader 程序中ECU 硬件序列號的更新。通過上面的介紹實現ECU 硬件序列號的更新。

(2)執行Memtool 工具的批處理腳本實現程序的下載。本身Memtool 具有批處理實現程序下載的能力,本文要做的就是讓程序自動調用批處理腳本,不需要測試員點擊鼠標選中批處理腳本文件。

編寫的程序需要觸發 Infineon 的 JTAG 下載程序Memtool 的“Run Batch…”菜單命令來完成程序的刷寫,這涉及到進程間的通訊,因為Memtool 程序是不能做修改的,所以進程間通信的方式就只能利用windows 消息來實現。開發的程序界面如下,當HW sn(硬件序列號)填寫后,只要點擊“updatehwsn”按鈕,程序會自動打開并調用Memtool程序的批處理功能來完成hex file 的刷寫,并把硬件序列號也更新ECU 的FLASH 中。

圖3 程序主界面

點擊“updatehwsn”按鈕時程序執行操作如下:

(1)通過WINDOWS API 函數GetWindowText,遍歷desktop 下windows 子窗口句柄,并找到Memtool 的窗口句柄;如果沒有發現,則程序會啟動Memtool 程序,然后重新查找并獲取Memtool 的窗口句柄。

(2)用當前的ECU 序列號替換bootloader 的默認序列號,并生成新的hex 文件。

(3)用此新生成的hex文件作為memtool要刷寫的文件,生成.mtb 的批處理腳本文件。

(4)通過WINDOWS API 函數PostMessage 發送模擬菜單點擊的消息命令觸發Memtool 的“Run Batch...”命令。

(5)等待1.5 秒,保證“Run Batch...”命令觸發后啟動的“Run Batch File”窗口出現。

(6)通過WINDOWS API 函數FindWindow,查找“Run Batch File”的窗口并獲取窗口句柄。

(7)通過WINDOWS API 函數GetClassName 和GetWindowText,遍歷“Run Batch File”窗口的子窗口,獲 取類名字為"ComboBoxEx32"的子窗口和"&Open"按鈕的子窗口句柄。

(8)通過WINDOWS API 函數SendMessage,發送消息WM_SETTEXT 給"ComboBoxEx32"的子窗口,把.mtb 的批處理文件的路徑名傳遞給此子窗口。

(9)通過WINDOWS API 函數PostMessage,發送消息WM_COMMAND 給"&Open"按鈕的子窗口,模擬鼠標點擊“&Open”發出的消息。

(10)Memtool 按照.mtb 的批處理腳本刷寫程序。

5 總結

本文通過編寫程序,可以實現ECU 硬件序列號的刷寫操作,保證下線的ECU 的序列號被存儲在ECU 硬件中,并能通過客戶端服務程序調用UDS 服務#22 read DID(DID 為0Xf18c)讀取ECU 硬件的唯一序列號,為后續ECU 的維修和服務時保證ECU 的可追溯性,能夠減少后期服務的成本,經過實際使用,效果明顯。

猜你喜歡
按鈕程序
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
死循環
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 国产成人三级在线观看视频| 免费久久一级欧美特大黄| 黄片一区二区三区| 国产丝袜一区二区三区视频免下载| 亚洲动漫h| 成人综合在线观看| 激情综合五月网| 狠狠综合久久久久综| 无码人妻免费| 日韩高清欧美| 69视频国产| 久久综合色天堂av| 亚洲福利一区二区三区| 国产成人久久综合一区| 伊人久久婷婷五月综合97色| 国产一区二区人大臿蕉香蕉| 中文字幕2区| 久久99这里精品8国产| 精品福利国产| 国产成年女人特黄特色大片免费| 57pao国产成视频免费播放| 亚洲资源在线视频| 国产精品一老牛影视频| 992tv国产人成在线观看| 国产精品护士| 欧美影院久久| 中文字幕永久在线看| 欧美精品高清| 亚洲IV视频免费在线光看| 91小视频在线观看| 在线观看国产网址你懂的| 激情视频综合网| 日韩中文无码av超清| 中文字幕永久视频| 久久久久88色偷偷| 69av免费视频| 婷婷六月综合网| 国产成人亚洲精品无码电影| 欧美激情首页| 欧洲欧美人成免费全部视频| 国产精品部在线观看| 国产精品污视频| 狂欢视频在线观看不卡| 亚洲aⅴ天堂| 免费精品一区二区h| 伊人福利视频| 97视频免费在线观看| 国产免费黄| 日韩在线欧美在线| 欧美成人综合视频| 亚洲av无码久久无遮挡| 91综合色区亚洲熟妇p| 国产一国产一有一级毛片视频| 亚洲无码电影| 青草国产在线视频| 亚洲成人一区在线| 亚洲Aⅴ无码专区在线观看q| 香蕉eeww99国产在线观看| 999精品在线视频| 亚洲国产av无码综合原创国产| 亚洲三级色| 欧美综合在线观看| 久久性视频| 亚洲va在线∨a天堂va欧美va| 无码AV日韩一二三区| 国产网站在线看| 日韩a在线观看免费观看| 亚洲婷婷丁香| 欧美有码在线观看| 国产免费精彩视频| 午夜精品影院| 99精品免费欧美成人小视频| 久久亚洲欧美综合| 亚洲人成影院午夜网站| 亚洲AV无码久久精品色欲| 亚洲国产日韩在线观看| 天堂久久久久久中文字幕| 全部无卡免费的毛片在线看| 日本人妻一区二区三区不卡影院| 99久久精品国产精品亚洲 | 国产91在线|日本| 免费无码网站|