飛凌 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 執行更新操作
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文件作如下更改:
註釋掉以下代碼:
然後進入魔術棒—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 ,程序開始運行。