瑞薩RL78/G23微控制器是RL78系列的新一代產品,具有超低功耗(約41uA/MHz)、大flash空間(96K~768K)、32~128Pin,擴展了模擬功能和安全功能,增加了芯片唯一ID,并且兼容之前的RL78開發環境,非常適合應用于家電、物聯網、工業控制等領域。
G23系列產品由于Flash空間大,非常適合需要在線升級功能的場合。因為利用flash空間做備份區,在升級失敗的時候,退回到上一個版本。比如采用Wifi,藍牙,5G進行遠程升級固件。由于網絡傳輸有延時,比較合適的在線升級辦法是先把固件通過網絡傳輸到RL78 G23 MCU的備份區,待CRC檢驗等確認整個固件完整性后,再燒錄到應用區,這樣可以防止由于升級失敗板子變磚。
本章介紹通過Bluetooth模塊進行遠程升級固件,利用G23進行固件備份及升級。下面先看系統組成示意圖。
上位機通過App執行發Boot swap命令,讓G23 MCU進入boot模式,并且將目標板的舊版本程序進行備份,然后通過串口發數據給藍牙模塊,將New FW傳輸到G23的應用區,RL78 G23接收完FW數據后進行CRC校驗,如果沒有問題,則將APP的Boot 和升級程序的boot 對調,運行新版本應用程序。如果數據CRC不對,執行重新燒錄或者恢復備份區的數據,直到校驗正確再轉到普通模式運行。
在RL78/G23 的升級程序開發中,比較關鍵的一點是要理解Boot swap功能。Boot swap功能是瑞薩RL78系列MCU的特有功能,專門用于程序的在線升級,這一點是與其它ARM類MCU不同的地方。Boot swap指升級自身的bootloader,要先將原來的bootloader 從boot cluster 0備份boot cluster 1,設定Boot swap標志,升級成功后再重新覆蓋 boot cluster 0.
總 結
利用G23的Flash空間優勢, Boot Swap功能及使用IDE自動代碼產生器,配合官方的FSL RL78 Type01庫,就可以很方便實現在線升級功能。要注意一點是RL78 G23的Data flash 空間讀寫,要使用另外一個庫Data Flash Library。詳細的代碼,可以點擊文末閱讀原文在瑞薩官方網站下載。
來源: 瑞薩MCU小百科(作者:劉文廣)
審核編輯:湯梓紅
-
微控制器
+關注
關注
48文章
7570瀏覽量
151628 -
mcu
+關注
關注
146文章
17178瀏覽量
351680 -
BlueTooth
+關注
關注
3文章
213瀏覽量
61679 -
瑞薩
+關注
關注
35文章
22309瀏覽量
86448
發布評論請先 登錄
相關推薦
評論