- 博客(22)
- 收藏
- 关注
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级
本文详细介绍了基于STM32F103RCT6的BootLoader设计与OTA升级实现。BootLoader作为系统启动的核心程序,负责初始化硬件并加载用户应用程序或执行固件更新。通过合理划分内部Flash区域,将BootLoader与应用程序分离,确保系统稳定运行。OTA升级功能利用Wi-Fi模块(如ESP8266)连接云平台,通过MQTT协议接收固件更新指令和数据。BootLoader在检测到更新标志后,将新固件写入备用区域,并在验证通过后切换到新固件运行。
2025-02-16 12:00:00
1109
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之B区代码的实现(八)
本文探讨了基于STM32F103RCT6的BootLoader和OTA升级功能中,APP应用程序代码的实现方法。在该方案中,STM32F103RCT6通过集成Wi-Fi模块与云平台(如阿里云)建立通信,实现远程固件升级。应用程序代码通过MQTT协议从云平台接收固件更新指令,并将新固件存储在内部Flash的指定区域。BootLoader在设备重启时检测到更新标志后,自动切换到新固件运行。该实现支持自动回退机制,确保升级失败时系统恢复到旧版本,保障设备的稳定性和可靠性
2025-02-16 12:00:00
322
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之OTA升级的实现(九)
本文介绍了基于STM32F103RCT6的OTA升级实现,重点在于通过BootLoader和网络模块完成远程固件更新。STM32F103RCT6结合Wi-Fi模块连接到云平台(如阿里云),通过MQTT协议接收固件更新指令和新固件数据。BootLoader在设备启动时检查更新标志,若检测到新固件,将数据写入内部Flash的备用区域,并在完成后切换到新固件运行。该方案支持自动回退机制,确保升级失败时恢复到旧版本,保障系统稳定性。
2025-02-16 12:00:00
592
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之Bootloader的实现(五)
本文探讨了基于STM32F103RCT6的BootLoader实现及其在OTA升级中的应用。BootLoader是系统启动时运行的程序,负责加载和执行用户应用程序或进行固件更新。在STM32F103RCT6中,BootLoader通过内部Flash分区管理实现,将Flash分为BootLoader区和应用程序区。BootLoader启动后,会检查更新标志,若检测到新固件,将通过串口或网络模块下载并写入应用程序区。完成后,系统跳转至新固件运行。
2025-02-15 12:00:00
198
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之SecureCRT下载固件(六)
本文介绍了基于STM32F103RCT6的BootLoader和OTA升级功能,重点在于通过SecureCRT实现固件下载。BootLoader是系统启动时运行的程序,负责初始化硬件并加载用户应用程序。在OTA升级中,BootLoader通过串口接收由SecureCRT发送的固件数据,使用xmodem协议确保传输的可靠性。该方案支持远程固件更新,适用于嵌入式设备的远程维护和功能迭代
2025-02-15 12:00:00
855
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之阿里云平台(七)
本文介绍了基于STM32F103RCT6的BootLoader和OTA升级功能,结合阿里云平台的实现方法。通过使用STM32F103RCT6和ESP8266模块,设备能够通过MQTT协议连接阿里云物联网平台,接收固件升级指令。OTA升级过程中,阿里云平台通过特定Topic向设备推送升级包信息,设备端BootLoader程序负责下载并写入新固件。
2025-02-15 12:00:00
930
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之内部flash的分区(三)
本文介绍了基于STM32F103RCT6的BootLoader和OTA升级功能,重点在于内部Flash分区的设计与实现。通过合理规划Flash空间,将BootLoader和应用程序分别存储在不同区域,实现安全可靠的固件更新。具体而言,Flash被划分为BootLoader区(如0x08000000起始地址)和应用程序区(如0x08020000起始地址),并预留部分空间用于存储OTA标志和版本信息。该分区策略支持双区备份,确保升级失败时可回退,保障设备的稳定运行
2025-02-14 12:00:00
726
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之网络模块的实现(四)
本文介绍了基于STM32F103RCT6的BootLoader和OTA升级功能中网络模块的实现。通过正点原子的ATK-MW8266D串口转wifi模块,STM32F103RCT6能够实现远程固件升级。在OTA升级过程中,用户程序定期通过HTTP请求获取云端服务器上的固件版本信息,若发现版本不一致,则将新固件下载地址写入Flash并设置更新标志。设备重启后,BootLoader读取固件地址,通过网络模块下载新固件并写入Flash,过程中进行CRC校验以确保数据完整性。
2025-02-14 12:00:00
332
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之内部flash的擦除与写入(二)
本文介绍了基于STM32F103RCT6的BootLoader和OTA升级功能,重点在于内部Flash的擦除与写入操作。STM32F103RCT6的内部Flash分为多个页,每页大小为2KB。在进行固件更新时,首先需要通过解锁Flash、擦除目标页(如使用FLASH_TYPEERASE_PAGES)来准备存储区域。随后,通过写入操作将新固件数据逐页写入Flash,确保数据完整性和存储稳定性。该技术广泛应用于BootLoader和OTA升级场景,支持远程固件更新,提升设备的可维护性和用户体验
2025-02-13 22:03:14
353
原创 (纯干货)基于STM32F103RCT6的BootLoader和OTA升级之DMA串口空闲中断的实现(一)
本文介绍了基于STM32F103RCT6的BootLoader和OTA升级功能,重点在于通过DMA串口空闲中断实现高效数据传输。BootLoader程序利用串口接收中断和DMA功能,实现固件的远程更新。通过配置USART的DMA通道,系统可在接收到空闲信号时触发中断,从而高效处理不定长数据。该方案适用于需要远程固件更新的嵌入式设备,如物联网节点和智能硬件,有效提升了设备的可维护性和用户体验
2025-02-13 22:01:38
611
原创 唯创知音WT588E02B-8S通过MCU下载.bin文件
基于GD23E230单片机,实现唯创知音WT588E02B-8S通过MCU下载.bin文件
2025-01-16 21:42:59
694
原创 基于ESP32-S3单片机的OTA升级
基于ESP32单片机的OTA升级,可以实现通过WIFI,访问巴法云平台来获取最新的固件版本信息,如果平台上固件版本号高于当前运行固件的版本号,那么就行OTA升级
2025-01-08 12:00:00
2243
1
原创 基于esp32,在vscode中修改main.c的文件名后报错
问题现象:把main.c的文件名字重复名为app_main.c后报错:fatal error: F:/zxl/esp32/DEMO/main/main.c: No such file or directory
2025-01-07 21:30:00
408
原创 基于esp32的vscode编译提示出现,无法找到””${env:IDF_PATH}/components/””解决办法
问题现象:编译esp32时,提示出现无法找到””${env:IDF_PATH}/components/””
2025-01-06 20:23:30
1299
2
原创 UR六自由度机械臂运动学正解、逆解及轨迹规划附带python和C源码+webots仿真
前段时间做了两种类型的六轴机械臂,分别是UR型和PUMA型六轴机械臂。实践过程中,在运动学分析和轨迹规划中遇到了很多的坑。比如,运动学正、逆解的起始位姿和自己想要的不一样;逆解的时候遇到奇异解或者解不出来的解应该怎么避免等等;本文会对以上情况做一个总结。后续我还会写关于如何以STM32F407为核心板,通过运动学正、逆解和轨迹规划来控制UR型和PUMA型六轴机械臂完成作业任务。有舵机版本和步进电机版本。
2024-03-07 14:39:02
8481
4
原创 六轴机械臂运动学正、逆解及轨迹规划带源码
六轴机械臂运动学正、逆解详解(带推理过程和计算过程),轨迹规划采用五次多项式进行点对点以及多点间的轨迹规划。
2024-03-02 00:27:44
3074
1
基于STM32F103RCT6的BootLoader和OTA升级源码
2025-02-13
基于STM32F103开发板舵机控制的2自由度人脸追踪云台
2024-03-03
六轴机械臂运动学正、逆解及轨迹规划带源码
2024-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人