A9159M0+FOTA(Firmware Over The Air)介紹

SamYang2024-05-14M0核112
  • 系統圖:

image.png


  • 本篇介紹A9159M0 FOTA功能,經過RF傳輸到對端Slave,給Slave做New FW更新

  • Update 系統,PC UI透過Uart將資料傳送給Update Code Master ,Master將透過RF資料傳給要更新的Slave 做Update Code。

Master 端介紹:

  •     需使用Amiccom 提供的Master Demo code Project A9129M0_A80_V0.3_20240226_MasterPC_DemoVxxx.zip, 進行設定 FOTA 的RF ID及FOTA 連線頻率。

  •     將編譯後的code 下載到Update Code Master kit。

-設定ID

  • Master端設定的ID需與Slave端要相同才可以連線更新。在main.c中const Uint8 OTA_ID_TAB[4] = { 0x34, 0x75, 0xC5, 0x2A,};,可以去修改不同的RF連線ID。

-設定RF頻率

  • Master端設定的頻率需與Slave端要相同才可以連線更新。在main.c中const uint32_t RF_PLL1[1] = { 0x006B6C08,};,可以去修改不同的RF連線頻率。

Slave    端介紹:

  • 需使用Amiccom提供的Slave Demo code Project 壓縮檔RC_A9139M0_MBUS_ V0.1 version App_OTAVxxx.zip, 進行設定ID及連線頻率。

  • 將編譯後的code 下載到Update Code Slave kit。

  • Slave端應用程式中OTA_Flag變數可設定是否有Update Code功能,OTA_Flag設定為1時表示有Update Code功能

  • Slave 端應用程式在開機2秒內,需接收到Master 送過來啟動Update Code 命令的RF 資料,之後系統重新啟動進入Update Code模式,需更新程式成功才可以脫離Update Code模式。

-設定ID

  • Slave端設定的ID需與Master端要相同才可以連線更新,修改device_data.c中const uint8_t OTA_ID_TAB[4] = { 0x34, 0x75, 0xC5, 0x2A,};,可以去修改不同的RF連線ID。

-設定RF頻率

  • Slave端設定的頻率需與Master端要相同才可以連線更新。修改device_data.c中const uint32_t RF_PLL1[1] = { 0x006B6C08,};,可以去修改不同的RF連線頻率。

底下介紹Amiccom FOTA的Master/Slave端的FOTA操作流程

  • PC UI

    RF Update Code File 製作

客戶在使用PC UI前需先將A9129M0_A80_V0.3_20240226_MasterPC_DemoV0.0_20240513 CODE燒入至Master kit,並且使用”A9159M0_SOC_RF_Update_Code_App.exe”來製作RF Update Code File。

A. 首先將基於在"RC_A9139M0_MBUS_ V0.1 version App_OTAV0.0_20240513.zip"上搭建的New FW hex file,透過 hex2bin.exe 產生出 XXX.BIN 。

image.png

B. 使用 AMICCOM OTA Generator tool 建立 RF Update Code bin header ,下圖為開啟 Tool 初始畫面。

image.png

C. 點選 File->Open File->選取欲加入 header 的 bin file 。

image.png

D. 之後 Tool 上的原件可以輸入數值。

image.png

E. 首先將 file header ( Customer version 、 Product version 、 Update Firmware version ) 輸入,其中 Update Firmware version 需符合 Update Firmware version End > Update Firmware version Start ,元件之間切換可以使用 Tab 鍵相互切換。

image.png

F. 輸入 Update Block Count=1 。

image.png

G. 輸入 Block 的 Start Address

A9159M0產生一份 RF Update Code Bin 檔, Start Address 為 0x3000 , End Address 為code 的結束位址,需調整加1後為4K的倍數,最大可使用code 結束位址為 0x1DFFF。

image.png

H. 按下 Generate Button->會出現另存新檔對話盒,請在檔案名稱 OTA_**** (其中****是欲輸入檔名)後輸入檔名,之後存檔

image.png

I. 存檔後會出現完成。

image.png

  •     RF Update Code App使用說明

A. 客戶欲 RF Update Code Download 時,需使用 AMICCOM 提供的A9159M0_SOC_RF_Update_Code_App.exe 。

B. 在 PC 上執行程式會出現下面畫面。

image.png

C. 點選 Auto Scan 掃描連線的 Com Port ,可得到連線的 Uart Com Port 。

image.png

D. 點選開啟要 RF Update Code 檔案視窗。

image.png

E. 在開啟檔案視窗中選擇要 RF Update Code 的檔案,之後點選開啟。

image.png

F. 開啟 RF Update Code 檔案後會出現要 RF Update Code 檔案的 Checksum ,後點選 Download Code 啟動 RF Update Code ,啟動後UI會通知Master端,Master端通知Slave要做Update Code並等待Slave 端同意開始Update Code,這個動作需在8秒內完成,當UI按下Download code後,需在8秒內去Reset Slave端設備。

image.png

G. 點選 Download Code 進行 RF Update Code 後會出現下圖顯示 RF Update Code 過程。

image.png

H. 更新完成後會出現下圖且Slave端的系統會自動 Reset 執行更新後的程式。

image.png

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。