S32Kxxx bootloader之UDS bootloader

瞭解更多關於bootloader 的C語言實現,請加我Q扣: 1273623966 (驗證信息請填 bootloader),歡迎諮詢或定製bootloader(在線升級程序)。

 

  兩週前完成了基於UDS on CAN 協議的bootloader, 這兩週一直在測試,已經通過了功能測試和壓力測試,接下來還要做魯棒性測試,感覺實在是太累了。最近兩個多月的空閒時間都花在這個UDS bootloader 上面了。我其實一直不想接UDS bootloader的活,UDS bootloader 都是使用在汽車ECU上面,需求複雜,穩定性可靠性要求高,測試也要求多。診斷規格書,應用程序升級規格書,測試規格書,光這些需求文檔就一大堆。所以我一直不原意接UDS bootloader的活。但是這次由於客戶的項目交期比較緊,客戶的軟件工程師都在忙着開發應用程序,沒有人來做bootloader。 客戶找了我幾次,並且承諾給我的開發費用也漲了好幾次,最後我才答應了。好在沒有辜負客戶的信任,在交付時間節點前完成了開發,並且通過了最難的壓力測試。

       此UDS bootloader 是基於NXP S32K116的CAN 總線接口bootloader. 軟件架構如下圖:

        UDS bootloader 是放置在S32K116 pflash 的頂端,memory map 如圖:

  ECU 上電後運行進入bootloader程序,判斷是否有更新請求,沒有更新請求且應用程序有效則跳轉到應用程序,有更新請求或應用程序無效則停留在bootloader, 上電流程如下圖:

 

  UDS Bootloader 升級應用程序的整個流程主要使用了ISO 14229-1 標準中定義的以下UDS Services:

        上位機是我用C#,VS2013開發的zFlash,UI如下圖:

        CAN 工具是使用我自己開發的Z-Box CAN, 我修改了博世的開源軟件Busmaster的最新版本,讓其可以識別我的Z-Box CAN並能夠和Z-Box CAN建立連接,這樣我的Z-Box CAN 能夠使用Busmaster 所有的功能。解決了國內CAN 工具沒有強大的電腦端軟件的這個痛點。Z-Box CAN是一個非常漂亮CAN 盒子,見圖:

  Z-Flash 和 UDS bootloader 使用Z-Box CAN 升級應用程序的視頻見鏈接:

車規級S32K芯片UDS Bootloader升級應用程序視頻

車規級S32K芯片UDS Bootloader升級應用程序視頻-科技-高清完整正版視頻在線觀看-優酷 (youku.com)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章