littlebot
Published on 2025-04-15 / 1 Visits
0

【源码】基于ARM架构和CMSIS RTOS的OTA更新系统

项目简介

本项目是一个基于ARM架构和CMSIS - RTOS的OTA更新系统,可实现设备与AWS IoT服务连接,完成安全的固件更新操作,还提供了测试工具和支持CI系统构建。

项目的主要特性和功能

  1. 通信方面:运用CoreMQTT库与MQTT服务器通信,实现设备和AWS IoT服务的连接。
  2. 固件更新:借助PSA服务安全地接收、验证和激活固件更新。
  3. 平台抽象层:提供与固件更新相关的接口,如文件创建、写入、关闭、激活新固件等。
  4. 实时操作系统集成:采用CMSIS - RTOS进行多任务管理和同步。
  5. OTA代理:创建任务处理OTA事件和MQTT连接。
  6. 事件处理:处理从OTA库和MQTT服务器接收的事件。
  7. 测试工具:提供Python脚本用于AWS资源的创建和清理,以及OTA更新过程的测试。
  8. CI系统:支持通过代码变更或手动方式触发Runner工作流,可用于构建自己的CI系统。

安装使用步骤

环境准备

安装CMSIS - RTOS和CoreMQTT库,以及必要的AWS SDK。

编译与部署

编译项目并部署到目标ARM设备上。

触发Runner工作流

手动执行

选择左侧的simple - ci - 112条目,点击右侧的Run Workflow按钮,在下拉菜单中选择Run Workflow

代码变更执行

  1. 复制仓库。
  2. 编辑文件,例如:vi README.md
  3. 使用git命令添加、提交并推送到仓库: sh git add README.md git commit -m "Simple update" git push origin main

观察Runner

在特定的runs页面,点击工作流名称ci_build_and_test_ats_keyword_112,查看工作流的所有步骤及结果。

OTA操作

通过MQTT服务器发送固件更新消息,设备上的OTA代理接收并处理更新。

测试

使用提供的测试脚本测试OTA过程,包括AWS资源的创建和清理。

注意事项

  • 确保目标设备支持OTA更新和MQTT通信。
  • 根据设备的硬件和配置调整OTA参数和设置。
  • 注意安全性,确保固件更新过程中的数据完整性和身份验证。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】