亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種控制器硬件序列號(hào)的更新方法

        2019-09-21 03:45:20畢乾坤
        汽車實(shí)用技術(shù) 2019年17期
        關(guān)鍵詞:句柄批處理序列號(hào)

        畢乾坤

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

        前言

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

        1 ECU 控制軟件組成

        當(dāng)前汽車中ECU 的軟件主要包括2 部分:bootloader 和應(yīng)用程序(APP)。Bootloader 程序的目的是便于后續(xù)應(yīng)用程序的更新,它在ECU 產(chǎn)品下線測(cè)試完成后就不會(huì)再更改?,F(xiàn)在的微控制器(MCU)都有JTAG 口來(lái)用于程序的刷寫,由于JTAG 口是一個(gè)功能很齊全的口,同時(shí)在硬件層面上也缺乏電氣保護(hù),不能適應(yīng)惡劣的汽車電氣使用環(huán)境,因此在ECU 的設(shè)計(jì)中不會(huì)把JTAG 通過(guò)ECU 的接插件引出,所以通用的做法是開(kāi)發(fā)bootloader 引導(dǎo)程序來(lái)滿足ECU 后續(xù)應(yīng)用程序的更新。

        應(yīng)用程序(APP)則為實(shí)現(xiàn)ECU 相關(guān)功能的程序,它包括整個(gè)系統(tǒng)的控制策略。ECU 在上電啟動(dòng)時(shí)會(huì)先進(jìn)入bootloader,bootloader 程序會(huì)檢測(cè)應(yīng)用程序是否存在并有效,如果應(yīng)用程序有效,則會(huì)跳轉(zhuǎn)到應(yīng)用程序中執(zhí)行應(yīng)用程序的控制邏輯。應(yīng)用程序在后續(xù)產(chǎn)品發(fā)布后是可以更新的,而bootloader 程序則大多數(shù)情況下是不能夠更新的。

        2 Bootloader 程序中ECU 硬件序列號(hào)的更新

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

        3 Memtool 批處理腳本實(shí)現(xiàn)程序的下載

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

        本文中ECU 的微控制器為Infineon 的TC277 系列,Infineon 公司提供了免費(fèi)的通過(guò)JTAG 接口下載程序的客戶端工具M(jìn)emtool,本文使用的Memtool 版本為4.7 版本。Memtool 4.7 提供了一個(gè)可以通過(guò)批處理操作來(lái)執(zhí)行程序下載的方式,通過(guò)這種方式不需要在Memtool 的用戶界面上點(diǎn)擊鼠標(biāo)來(lái)完成程序的刷寫。Memtool 的程序界面如下圖:

        圖1 Memtool 主界面

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

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

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

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

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

        ● program -等同于用戶界面的“Program”,編程刷寫選擇的刷寫節(jié)數(shù)據(jù)

        ● disconnect -等同于用戶界面的“Disconnect”,斷開(kāi)設(shè)備的連接。

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

        connect

        open_fileD: mcm_cx31.hex

        select_all_sections

        add_selected_sections

        program

        disconnect

        通過(guò)點(diǎn)擊上圖中的“File”->“Run Batch…”,選中.mtb文件,Memtool 就會(huì)按照.mtb 文件中的命令執(zhí)行。見(jiàn)下圖:

        圖2 批處理界面

        4 程序設(shè)計(jì)和開(kāi)發(fā)

        程序的設(shè)計(jì)和開(kāi)發(fā)需要把上面介紹的2 個(gè)關(guān)鍵功能通過(guò)編程實(shí)現(xiàn)自動(dòng)操作,簡(jiǎn)單的鼠標(biāo)點(diǎn)擊的操作,程序就能自動(dòng)完成這2 個(gè)關(guān)鍵功能的實(shí)現(xiàn),從而保證ECU 硬件序列號(hào)的更新。

        (1)Bootloader 程序中ECU 硬件序列號(hào)的更新。通過(guò)上面的介紹實(shí)現(xiàn)ECU 硬件序列號(hào)的更新。

        (2)執(zhí)行Memtool 工具的批處理腳本實(shí)現(xiàn)程序的下載。本身Memtool 具有批處理實(shí)現(xiàn)程序下載的能力,本文要做的就是讓程序自動(dòng)調(diào)用批處理腳本,不需要測(cè)試員點(diǎn)擊鼠標(biāo)選中批處理腳本文件。

        編寫的程序需要觸發(fā) Infineon 的 JTAG 下載程序Memtool 的“Run Batch…”菜單命令來(lái)完成程序的刷寫,這涉及到進(jìn)程間的通訊,因?yàn)镸emtool 程序是不能做修改的,所以進(jìn)程間通信的方式就只能利用windows 消息來(lái)實(shí)現(xiàn)。開(kāi)發(fā)的程序界面如下,當(dāng)HW sn(硬件序列號(hào))填寫后,只要點(diǎn)擊“updatehwsn”按鈕,程序會(huì)自動(dòng)打開(kāi)并調(diào)用Memtool程序的批處理功能來(lái)完成hex file 的刷寫,并把硬件序列號(hào)也更新ECU 的FLASH 中。

        圖3 程序主界面

        點(diǎn)擊“updatehwsn”按鈕時(shí)程序執(zhí)行操作如下:

        (1)通過(guò)WINDOWS API 函數(shù)GetWindowText,遍歷desktop 下windows 子窗口句柄,并找到Memtool 的窗口句柄;如果沒(méi)有發(fā)現(xiàn),則程序會(huì)啟動(dòng)Memtool 程序,然后重新查找并獲取Memtool 的窗口句柄。

        (2)用當(dāng)前的ECU 序列號(hào)替換bootloader 的默認(rèn)序列號(hào),并生成新的hex 文件。

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

        (4)通過(guò)WINDOWS API 函數(shù)PostMessage 發(fā)送模擬菜單點(diǎn)擊的消息命令觸發(fā)Memtool 的“Run Batch...”命令。

        (5)等待1.5 秒,保證“Run Batch...”命令觸發(fā)后啟動(dòng)的“Run Batch File”窗口出現(xiàn)。

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

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

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

        (9)通過(guò)WINDOWS API 函數(shù)PostMessage,發(fā)送消息WM_COMMAND 給"&Open"按鈕的子窗口,模擬鼠標(biāo)點(diǎn)擊“&Open”發(fā)出的消息。

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

        5 總結(jié)

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

        猜你喜歡
        句柄批處理序列號(hào)
        recALL
        高校圖書館持久標(biāo)識(shí)符應(yīng)用研究
        編譯程序語(yǔ)法分析句柄問(wèn)題分析與探討
        MFC應(yīng)用程序多線程混合顯示界面方法研究
        基于PSD-BPA的暫態(tài)穩(wěn)定控制批處理計(jì)算方法的實(shí)現(xiàn)
        PP助手教你辨別翻新iPhone5小白不再中招
        基于SPY++的軟件功能擴(kuò)展的研究
        溫度傳感器DS18B20序列號(hào)批量搜索算法
        批處理天地.文件分類超輕松
        批處理天地.批量為文件更名(續(xù))
        蜜桃tv在线免费观看| 亚洲午夜成人片| 日日噜噜夜夜狠狠久久av| 男女搞基视频免费网站| 国产无遮挡aaa片爽爽| 少妇做爰免费视频网站| 亚洲色AV性色在线观看| 北岛玲亚洲一区二区三区| 国产精品激情自拍视频| 国产精品免费精品自在线观看| 精品人妻VA出轨中文字幕| 日韩精品成人一区二区在线观看| 亚洲国产成人久久精品不卡| 天堂网在线最新版www| 亚洲香蕉视频| 黑人免费一区二区三区| 人妻少妇满足中文字幕| 国产免费av片无码永久免费| 国产av天堂成人网| 亚洲国产精品二区三区| 丝袜美腿一区二区国产| 欧洲熟妇色xxxx欧美老妇多毛图片| 无码不卡免费一级毛片视频| 国产成人亚洲精品一区二区三区| 日本少妇高潮喷水视频| 亚洲av无码1区2区久久| 国内精品久久久久久久久蜜桃| 亚洲高清一区二区精品| 免费a级毛片无码a∨中文字幕下载| 最新四色米奇影视777在线看| 亚洲精品白浆高清久久| 就爱射视频在线视频在线| 人人妻人人澡人人爽欧美精品| 亚洲成AⅤ人在线观看无码| 看中文字幕一区二区三区| 亚洲乱码无人区卡1卡2卡3| 无码人妻少妇色欲av一区二区| 午夜无码熟熟妇丰满人妻| 性生大片免费观看性少妇| 日本久久高清一区二区三区毛片| 欧美视频九九一区二区|