[發明專利]一種用于汽車ECU程序自動刷寫測試的方法和裝置有效
| 申請號: | 201710131592.4 | 申請日: | 2017-03-07 |
| 公開(公告)號: | CN106874055B | 公開(公告)日: | 2020-01-31 |
| 發明(設計)人: | 魏紅軍 | 申請(專利權)人: | 上海懌星電子科技有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/61;G06F11/36 |
| 代理公司: | 11551 北京鼎承知識產權代理有限公司 | 代理人: | 管瑩;韓德凱 |
| 地址: | 200000 上海市松*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 汽車 ecu 程序 自動 測試 方法 裝置 | ||
1.一種汽車ECU軟件程序自動刷寫測試方法,其特征在于包括以下步驟:
(1)獲取文件數量并根據文件數量N創建一個初始測試序列,該測試序列包括所有的程序版本切換,測試序列的元素個數為N×(N-1)+1;
(2)從測試序列中獲取需要刷寫的文件序號;
(3)判斷序號是否合格,若序號不合格則測試循環結束;若序號合格則執行步驟(4);
(4)初始化刷寫接口,再加載步驟(2)中獲取的文件序號所對應的刷寫文件,初始化ECU診斷線程結束標志;
(5)啟動ECU診斷步驟;
(6)開始進行刷寫操作;
(7)等待刷寫操作結束;
(8)刷寫操作結束后,等待步驟(5)中的ECU診斷線程結束時產生的診斷結束標志;
(9)當出現診斷結束標志時,卸載刷寫文件并關閉刷寫接口;
(10)存儲刷寫操作結果;將刷寫操作相關數據、診斷數據和刷寫結果存儲到文件中;
(11)判斷刷寫操作是否成功,如果刷寫操作失敗,進行修改測試流程的操作,然后執行步驟(12);如果刷寫操作成功,執行步驟(12);
(12)判斷一個測試循環是否結束,如果未結束,則返回步驟(2),進行下一個刷寫操作;
其中,步驟(1)中包括以下子步驟:
(1a)獲取刷寫文件個數N;
(1b)初始化測試序列,該測試序列為空,不包含任何元素;
(1c)初始化數字a為0;
(1d)判斷a是否小于N-1,如果小于則繼續下一步,否則跳至步驟(1i);
(1e)初始化數字b,使其等于a+1;
(1f)判斷b是否小于N,如果小于,則執行下一步,否則將a自身遞增加1,返回至步驟(1d);
(1g)在測試序列尾部依次添加元素a、b;
(1h)數字b遞增加1,返回至步驟(1f);
(1i)在測試序列尾部添加元素0;
其中,步驟(5)中包括以下子步驟:
(5a)初始化診斷數據;
(5b)檢測是否正在進行刷寫前準備操作;
(5c)如果一定時間內未檢測到刷寫前準備工作,則跳轉至第步驟(5e);若檢測到,則執行步驟(5d);
(5d)向ECU發送診斷命令并獲取返回的診斷數據;
(5e)等待程序刷寫結束;
(5f)檢測到程序刷寫結束后,開始檢測是否正在進行刷寫后執行操作;
(5g)如果一定時間內未檢測到刷寫后執行工作,則跳轉至步驟(5i);若檢測到,則執行步驟(5h);
(5h)向ECU發送診斷命令并獲取返回的診斷數據;
(5i)置位診斷結束標志,退出;
其中步驟(11)中的進行修改測試流程的操作步驟包括,使當前程序文件序號為所述a,使目標程序文件序號為所述b,并執行以下步驟:
11.1)如果當前刷寫順序為序列中最后一個,則不修改測試序列;
11.2)如果執行刷寫前的ECU程序是初始程序,此時所述a為-1,且b小于N-1,則令c等于b加1,將c插入到未執行的測試序列之前,再將未執行的測試序列所有元素加1對N取余,測試序列修改完畢;
11.3)如果執行刷寫前的ECU程序是初始程序,且從初始程序向所有程序進行刷寫均失敗,則插入測試序號-1到測試序列中,測試序列修改完畢;
11.4)如果測試序列中最后一個元素為序號為所述b的所述目標程序,則查找當前目標程序b之后是否存在元素a,若存在,則將其之后的所有元素移動到未執行的測試序列的最前面;
11.5)如果任何其他程序到目標程序b的刷寫均已刷寫失敗,則刪除其后的任何從目標程序b出發,經過一個元素再返回目標程序b的元素段,并刪除連續重復以及連續的已完成刷寫的元素;
11.6)如果以上條件均不滿足,則插入一個元素到未測試的序列元素之前,該元素到目標程序b的刷寫工作未執行或已執行成功,然后在其后再插入目標元素b。
2.一種用于執行如權利要求1所述汽車ECU軟件程序自動刷寫測試方法的自動刷寫測試裝置,其包括:
測試序列生成模塊,所述測試序列生成模塊用于獲取用戶提供的刷寫文件數量,并創建測試序列;所述測試序列生成模塊還用于在刷寫失敗時修改測試序列;
測試序號判斷模塊,所述測試序號判斷模塊用于從測試序列獲取需要刷寫的文件序號,并判斷所述文件序號是否合格;
ECU診斷模塊,所述ECU診斷模塊用于進行ECU診斷測試,通過確定是否在執行刷寫前的準備工作或是否正在進行刷寫后執行操作來向ECU發送診斷命令并獲取診斷結果;
刷寫模塊,所述刷寫模塊根據測試序號判斷結果初始化刷寫接口,并根據ECU診斷模塊提供的診斷結束標志關閉刷寫接口,所述刷寫模塊還用于刷寫操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海懌星電子科技有限公司,未經上海懌星電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710131592.4/1.html,轉載請聲明來源鉆瓜專利網。





