您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何基于CAN的bootloader在KEAZ系列上的移植,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在實際的工程和產品開發中,我們需要更新產品的程序,這時候就需要產品具備bootloader引導程序功能,而嵌入式中常用的接口有基于UART,CAN,IIC,SPI, 以太網等,今天我們來看看使用廣泛的基于CAN的bootloader在NXP汽車控制器S9KEAZ系列上的移植。
首先因為我們使用上位機PC來下載程序而上位機不能直接連接CAN總線,所以還需要一個轉接板將CAN通訊轉成串口通訊接入上位機PC,PC和轉接板之間使用XMODEM文件傳輸協議。
S9KEAZ64同KE06是一樣的資源和手冊,只是應用的溫度范圍不同,可以使用KE06的SDK快速建立工程。
整體的結構和硬件連接
因為我實際的板子使用的是內部時鐘,和freedom不同,所以要修改時鐘
為FEI模式
根據Flash分配設置應用程序運行的起始地址
其實我們將中斷向量表從0地址,重新定位到了0x5000,我們可以使用NXP官網提供的工具將bootloader的程序和應用程序合成,這個工具支持使用Srec文件合同,我們也可以配置IDE生成bin文件使用其他支持的工具合bin文件。
將合成后的文件下載到自己的硬件板件,準備幾個不同的應用程序bin文件,來測試我們移植好的bootloader,測試上位機使用tera term,tera term是免費開源的虛擬終端,支持網口和串口,且內置很多協議,設置串口為115200,N8,1, 然后如果板子進入下載模式,選擇下載的文件
等待下載完成,根據自己應用程序的需求測試看是否通過,我自己使用的兩個測試bin文件會輸出不同的CAN消息,且操作不同的繼電器。我們也可以將J1939程序加入,完成基于J1939的bootloader。NXP官網還提供了MCUBOOT2.0.0的下載包,但是目前還不支持KE06和S9KEAZ系列,需要自己動手移植,且移植工作量比較大但是是比較標準和量產正式的bootloader供用戶使用。而且支持的芯片的bootloader已經集成進SDK供用戶使用,也很方便,如果能支持全系列就更好了。
上述內容就是如何基于CAN的bootloader在KEAZ系列上的移植,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。