diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/README.md b/Ubiquitous/XiZi_IIoT/tool/bootloader/README.md new file mode 100644 index 000000000..f66168ef9 --- /dev/null +++ b/Ubiquitous/XiZi_IIoT/tool/bootloader/README.md @@ -0,0 +1,190 @@ +# OTA升级指导文档 + +## 一、 下载代码程序源码 + +git clone --branch prepare_for_master https://gitlink.org.cn/xuos/xiuos.git + +## 二、 编译bootloader固件 + +进入到xiuos/Ubiquitous/XiZi_IioT目录下,以xidatong-arm32开发板为例,执行: + +make BOARD=xidatong-arm32 menuconfig + +依次进入Tool feature > OTA function > Enable support OTA function + +勾选如下编译选项: + +![](img/bootloader.jpg) + + +退出menuconfig,执行make BOARD=xidatong-arm32进行bin包编译。 + +最后在xiuos/Ubiquitous/XiZi_IIoT/build目录下编译出XiZi-xidatong-arm32-boot.bin文件: + +![](img/bootloader-bin.jpg) + + +## 三、 Bootloader固件烧录 + +Bootloader烧录需要使用NXP-MCUBootUtility工具,与xidatong-arm32整包烧录步骤一样,开发板拨码开关1和2拨回ON后,重新上电,NXP-MCUBootUtility工具点击Connect to ROM,然后起始地址设置为0x60000000,长度根据XiZi-xidatong-arm32-boot.bin大小来确定,最后选择bin文件的路径: + +![](img/MCUBootlUtility.jpg) + + +最后点击Write(Auto Erase)进行烧写。 + +## 四、 自研平台上新增设备 + +(1)登录自研平台,网址[ http://115.238.53.59:9898//](http://192.168.141.13:9528/),账户密码需要向管理员索取: + +![](img/platform1.jpg) + +![](img/platform2.jpg) + + +(2)创建设备,在登录后的界面左侧变蓝进行设备新增: + +![](img/add-device1.jpg) + +![](img/add-device2.jpg) + + + + +创建完成后,在未激活的设备列表里可以看到新增的设备。 + +这里的设备序列号我们记下来,编译阶段需要用。我们需要平台相关的五个信息用于设备登录: + + CLIENTID: "xidatong0001", + + USERNAME: "xiuosiot", + + PASSWORD: "xiuosiot" + + PLATFORM_SERVERIP: "115.238.53.59" + +PLATFORM_SERVERPORT: "1883" + +## 五、 编译APP应用程序固件 + +再次进入到xiuos/Ubiquitous/XiZi_IioT目录下,依次执行 + +make BOARD=xidatong-arm32 distclean + +make BOARD=xidatong-arm32 menuconfig + +如果需要基于阿里云平台进行OTA升级,编译APP应用程序固件需要使能如下选项: + +(1)进入 Tool feature > OTA function > Enable support OTA function + +选择编译APP: + +![](img/app1.jpg) + +![](img/app2.jpg) + + +(2)选择进行OTA升级的方式,选择IOT平台: + +![](img/IOT1.jpg) + +![](img/IOT2.jpg) + + +(3)进入 APP_Framework > app lib > lib using MQTT > Enable support MQTT function 使能MQTT,进入Choose xiuos platform or Alibaba Cloud platform选择xiuos platform: + +![](img/MQTT1.jpg) + +![](img/MQTT2.jpg) + +![](img/MQTT3.jpg) + + +进入xiuos platform mqtt connection parameter configuration配置参数,将第四步获取到的5个信息填入: + +![](img/MQTT4.jpg) + +![](img/MQTT5.jpg) + + +退出menuconfig,执行make BOARD=xidatong-arm32进行bin包编译。 + +最后在xiuos/Ubiquitous/XiZi_IIoT/build目录下编译出XiZi-xidatong-arm32-app.bin文件: + +![](img/app-bin.jpg) + + +第一次烧写app文件通过iap的方式,烧写完后,设备会自动登录到xiuos管理平台,与平台建立连接,如下图所示,设备端串口显示登录成功: + +![](img/shell.jpg) + + +在设备管理→设备新增→已激活设备列表里可以看到该设备: + +![](img/device-list.jpg) + + +另:设备断开连接时该设备在未激活设备列表中。 + +## 六、 利用xiuos管理平台进行OTA升级 + +(1)上传bin文件到管理平台 + +查看当前设备的固件版本: + +![](img/version.jpg) + + + + +当前设备固件的版本为001.000.006,接下来设置固件版本要比这个大。平台左边栏选择OTA升级,添加升级包: + +![](img/add-new-bin.jpg) + + +填写固件版本信息: + +![](img/new-version.jpg) + + +选择固件进行上传: + +![](img/binfile.jpg) + + +上传后点击验证,固件完成验证就可以进行升级了。 + +(2)添加完成后,在升级包列表处选择刚添加的升级包点击升级,跳出的界面里新增升级任务: + +![](img/addtask1.jpg) + + +在跳出的界面选择新增升级任务: + +![](img/addtask2.jpg) + + +填入升级设备的id,就是创建设备时的CLIENTID,进行设备在线监测,显示设备在线后,点击提交。终端设备连接串口助手,可以看到升级进度: + +![](img/progress1.jpg) + + +升级过程中,平台端显示进行中: + +![](img/progress2.jpg) + + +(3)固件烧录完成后自动并登录xiuos管理平台,上报最新的版本: + +![](img/newversion-report1.jpg) + +![](img/newversion-report2.jpg) + + +刷新固件升级记录,显示成功,升级成功: + +![](img/success.jpg) + + +至此,升级完成。 + diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/IOT1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/IOT1.jpg new file mode 100644 index 000000000..0e2a4be0a Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/IOT1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/IOT2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/IOT2.jpg new file mode 100644 index 000000000..0640861ae Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/IOT2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MCUBootlUtility.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MCUBootlUtility.jpg new file mode 100644 index 000000000..f75963319 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MCUBootlUtility.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT1.jpg new file mode 100644 index 000000000..1cb8a0bb5 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT2.jpg new file mode 100644 index 000000000..ab13d769f Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT3.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT3.jpg new file mode 100644 index 000000000..462375290 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT3.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT4.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT4.jpg new file mode 100644 index 000000000..0f103318b Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT4.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT5.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT5.jpg new file mode 100644 index 000000000..c3f0b98b6 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/MQTT5.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-device1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-device1.jpg new file mode 100644 index 000000000..3eb7d9e78 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-device1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-device2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-device2.jpg new file mode 100644 index 000000000..7b9c7280d Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-device2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-new-bin.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-new-bin.jpg new file mode 100644 index 000000000..5badcd6d5 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/add-new-bin.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/addtask1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/addtask1.jpg new file mode 100644 index 000000000..85a532d99 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/addtask1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/addtask2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/addtask2.jpg new file mode 100644 index 000000000..ccba12825 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/addtask2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app-bin.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app-bin.jpg new file mode 100644 index 000000000..09a82bf5f Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app-bin.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app1.jpg new file mode 100644 index 000000000..3ed242f67 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app2.jpg new file mode 100644 index 000000000..05488160e Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/app2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/binfile.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/binfile.jpg new file mode 100644 index 000000000..b1afb76e1 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/binfile.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/bootloader-bin.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/bootloader-bin.jpg new file mode 100644 index 000000000..44b5d2352 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/bootloader-bin.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/bootloader.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/bootloader.jpg new file mode 100644 index 000000000..066fe62c9 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/bootloader.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/device-list.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/device-list.jpg new file mode 100644 index 000000000..61a8b3f0f Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/device-list.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/device-list.png b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/device-list.png new file mode 100644 index 000000000..61a8b3f0f Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/device-list.png differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/new-version.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/new-version.jpg new file mode 100644 index 000000000..b330e1f63 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/new-version.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/newversion-report1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/newversion-report1.jpg new file mode 100644 index 000000000..d32afd775 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/newversion-report1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/newversion-report2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/newversion-report2.jpg new file mode 100644 index 000000000..2f7b7345a Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/newversion-report2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/platform1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/platform1.jpg new file mode 100644 index 000000000..d8a3e8f0c Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/platform1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/platform2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/platform2.jpg new file mode 100644 index 000000000..7a27935f5 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/platform2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/progress1.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/progress1.jpg new file mode 100644 index 000000000..6a55af6a6 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/progress1.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/progress2.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/progress2.jpg new file mode 100644 index 000000000..8abe69303 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/progress2.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/shell.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/shell.jpg new file mode 100644 index 000000000..0e44c1607 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/shell.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/success.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/success.jpg new file mode 100644 index 000000000..ef8e25999 Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/success.jpg differ diff --git a/Ubiquitous/XiZi_IIoT/tool/bootloader/img/version.jpg b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/version.jpg new file mode 100644 index 000000000..21a47158e Binary files /dev/null and b/Ubiquitous/XiZi_IIoT/tool/bootloader/img/version.jpg differ