en-us--EC_M031_Bootloader_to_Upgrade_APROM_through_BLE_Module_V1.00(1).zip
(1.87 MB)
本范例代码使用 M031 系列的 ISP_UART bootloader 程序经由 ESP32 BLE 模块更新 APROM中的固件。
IAP (In-Application Programming) bootloader 允许 M031 更新固件到其他 Flash 地址。当完成
IAP 流程后,更新流程会将新固件的起始地址重新映射到 Vector Page Address,然后用户可以使用手机 APP 调用系统重置功能来运行新固件。
ESP32 BLE 模块可以通过其 UART 接口与其他系统连接,以便提供 Wi-Fi 和蓝牙功能。本范例代码需要将 ESP32 BEL 模块连接到 NuMaker-M032KI 板子,以实现 BLE 到 UART 透传。
ThirdParty 文件夹中的 ESP32_BLE_UART.ino 是支持 ISP 命令的 ESP32 固件,用户可以使用ESP32 Arduino IDE 来更新 ESP32 BEL 模块。
用户可以安装从
https://play.google.com/store/apps/details?id=com.nuvoton.nuisptool_android&hl=zh-hk 下载的 ISPTooL Android v1.1.1.apk APP,并选择 BLE 接口来连接 ISP_UART bootloader 程序以便更新 APROM 中的固件。
本范例代码提供了两个测试程序,一个烧写资料到偏移地址为 0x10000 的 APROM 并打印地址的内容,另一个烧写资料到偏移地址为 0x50000 的 APROM 并打印地址的内容。用户可以将 bin 文件复制到手机中,以测试 IAP 程序。
对于 OTA (Over-The-Air) 应用程序,内存空间概念在 FMC 命令和 CPU 观点略有不同。从FMC 命令的角度来看,采用了物理地址的概念。除了“重新映射”命令外,所有 FMC 命令都将 APROM 内存视为物理地址。从 CPU 的角度来看,采用了虚拟地址的概念。 APROM 存储空间分为两个存储区。在运行阶段,虚拟地址取决于地址操作模式(OP0,OP1)
|