研發課堂丨飛凌iMXRT1052開發板使用IAP在線升級APP的操作方法

飛凌 OK1052-C 開發板燒寫方式及工具多種多樣,現在我們先來總結一下:

1、 SWD 方式燒寫,使用 DAP 仿真器,上位機使用 keil MDK 點擊 download 下載。

2、 USB 方式燒寫,使用 USB 數據線連接板子和 PC 機,上位機有三個燒寫工具:

1) NXP MCU Boot Utility 工具。

2) RT-flash 工具。

3) MfgTool2工具。

3、 SD 方式卡燒寫,將要燒寫的鏡像放入 SD 卡,從 SD 卡啓動燒寫程序進行燒寫。

當然除了以上我們總結的幾點, OK1052-C 還有其他燒寫方式,這裏不再一一列舉。這幾種方式各有千秋也各有不便,具體優缺點需要根據大家的應用環境決定。

一、簡單介紹一下 IAP

今天給大家介紹一下,如何通過 IAP 方式進行程序燒寫。目前 OK1052-C IAP 功能,在設計 在設計固件程序時編寫兩個項目代碼,第一個項目程序 ( bootloder ) 不執行正常的功能操作,而只是通過 UART 接收 鏡像 數據,執行對第二部分代碼的更新;第二個項目代碼 ( app ) 纔是真正的功能代碼。這兩部分項目代碼都同時燒錄在 User Flash 中,當芯片上電後,首先是第一個項目代碼 bootloder 開始運行,它作如下操作:

1) 串口等待輸入 “ space ”鍵,等待超時時間 1000ms ;
在這裏插入圖片描述
2) 如果沒有接收到 “ space ”字符,則 跳轉到第二部分代碼執行 app
3) 如果接收到該字符,進入選擇菜單。
在這裏插入圖片描述

4) 選擇 2 執行更新操作
打印信息.jpg

5) 選擇鏡像,並更新完成之後,再次進入菜單,可選擇 1 運行新的 app ,也可選擇 3 重新啓動系統:
在這裏插入圖片描述
使用 IAP 方式進行程序燒寫,就省去了頻繁使用仿真器連接燒寫的麻煩,也不用像 USB 燒寫那麼繁瑣。不管是開發階段還是 維護階段,都能輕鬆升級。

二、具體操作,實現 APP 升級

OK1052-C IAP 主要使用串口通過 Ymodem 協議進行鏡像數據傳輸,因爲 secureCRT 工具有 Ymodem 傳輸功能,所以我們使用 secureCRT 工具作爲串口終端。

步驟一:燒寫 BootLoder 鏡像。

燒寫 BootLoder 鏡像我們可以使用 SWD 方式和 USB 方式燒寫,燒寫一次即可。

步驟二:製作 APP 鏡像

我們的 BootLoder 鏡像存儲在 flash 中的空間範圍爲: 0X0 – 0X7FFF;

APP 鏡像存儲偏移地址爲: 0X8000 ;

以 gpio 例程爲例,我們做一個 APP 鏡像:

打開\boards\evkbimxrt1050\driver_examples\gpio\led_output\mdk\ 下工程。
在這裏插入圖片描述

選擇 XIP 工程:
在這裏插入圖片描述
然後進入魔術棒—link 配置 --Edit :
在這裏插入圖片描述
打開MIMX RT1052xxxxx_flexspi_nor.scf文件作如下更改:
代碼.jpg

註釋掉以下代碼:

在這裏插入圖片描述
然後進入魔術棒—user ,在 Run#1 中加入命令以生成 .bin 文件:

#K\ ARM\ARMCC\bin\fromelf.exe --bincombined --output=.\[email protected] !L
在這裏插入圖片描述
配置完成,之後編譯工程,最後會生成 igpio_led_out.bin 鏡像文件,至此 APP 鏡像製作完成。

步驟三: IAP 燒寫 APP 鏡像

BootLoder 鏡像燒寫完成之後,打開 PC 機軟件 secureCRT ,配置好串口:
在這裏插入圖片描述
重啓板子,通過串口打印信息,可以看到
在這裏插入圖片描述
然後按空格鍵,可以進入菜單:
在這裏插入圖片描述
選擇 2 update app 更新 APP 鏡像:
在這裏插入圖片描述
在這裏插入圖片描述

選擇要燒寫的鏡像:
在這裏插入圖片描述
燒寫成功:
在這裏插入圖片描述

重啓板子或者選擇 1 : run app ,程序開始運行。

https://www.forlinx.com/article_view_418.html

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