
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:本文详细介绍在Ubuntu系统下搭建ESP32开发环境的步骤。主要包括:1)创建esp32目录并安装必要工具;2)从Gitee克隆esp-gitee-tools工具和v5.2版本的esp-idf框架;3)执行子模块更新脚本下载蓝牙、WiFi等协议栈库文件;4)运行install.sh安装工具链;5)执行export.sh配置环境变量使系统识别idf.py命令。整个过程涉及大量依赖库的下载和配

本文提供了完整的GitHub代码上传指南,分为创建仓库和本地配置两大步骤。首先介绍在GitHub网页端创建空仓库的方法,包括命名和确认创建。重点详细说明本地Git操作流程:通过命令行初始化仓库(git init)、添加文件(git add)、提交修改(git commit)、重命名分支(git branch -M main)、关联远程仓库(git remote add origin)及推送代码(g

摘要:本文分析了基于队列的数据处理机制,适用于多任务并行、容错性要求高及协议解析场景,但不适合超低功耗或资源受限系统。通过实例解析了串口中断触发条件(包括正常接收、异常错误和特殊信号),并演示了三种数据处理情况:少量数据(触发超时中断)、大量数据(分批次处理)以及处理速度慢于接收速度时的积压处理。该机制通过环形缓冲区和队列实现稳健的数据处理,确保数据不丢失,但需注意硬件资源消耗。

本文基于STM32F103VET6芯片,详细介绍了通过寄存器操作点亮LED的实现过程。主要分为三个步骤:1)开启GPIOB时钟(配置RCC_APB2ENR寄存器);2)设置PB0为推挽输出模式(配置GPIOB_CRL寄存器);3)控制PB0输出低电平(配置GPIOB_ODR寄存器)。文章详细解析了每个寄存器的地址计算方法、位操作原理及代码实现,包括0x40021018地址的APB2时钟使能、0x4

MCUboot是一款专为微控制器设计的开源安全引导程序,通过签名验证和完整性检查确保固件安全。与传统Bootloader相比,MCUboot具有更高安全性,支持A/B分区升级和自动回滚。它与TrustZone和SCE加密模块协同工作:TrustZone提供硬件级安全隔离,MCUboot运行在其安全域并控制域切换;SCE则提供硬件加速加密运算和安全密钥存储。三者共同构建完整的安全启动流程,实现固件验

摘要:本文对比了FreeRTOS与裸机模式在瑞萨FSP设计中的区别。裸机模式下,hal_entry中的while(1)是CPU的全部工作;而FreeRTOS模式下,hal_entry仅作为初始化脚本执行硬件Open操作,完成后即退出。若在其中加入while(1)会因优先级问题导致系统卡死。在多线程模式下,main函数仅负责创建任务(如Task_Al_Analysis等)并启动调度器vTaskSta

摘要:STM32芯片被锁无法下载程序的解决办法是:将BOOT0接3.3V进入系统存储器模式,复位后烧录程序,完成后BOOT0接回GND。常见锁死原因包括:禁用SWD/JTAG调试引脚、进入低功耗模式、看门狗复位以及代码逻辑错误导致系统崩溃。STM32的启动模式由BOOT0和BOOT1引脚状态决定,其中BOOT0=1时可进入厂家固化的Bootloader模式进行程序恢复。

摘要:STM32芯片被锁无法下载程序的解决办法是:将BOOT0接3.3V进入系统存储器模式,复位后烧录程序,完成后BOOT0接回GND。常见锁死原因包括:禁用SWD/JTAG调试引脚、进入低功耗模式、看门狗复位以及代码逻辑错误导致系统崩溃。STM32的启动模式由BOOT0和BOOT1引脚状态决定,其中BOOT0=1时可进入厂家固化的Bootloader模式进行程序恢复。

本文介绍了使用CMake管理项目文件的实用方法。在CmakeLists.txt中,可通过file(GLOB)命令批量添加指定目录下的.c源文件,并利用list(APPEND)合并多个目录的源文件列表,避免变量覆盖问题。对于头文件管理,则需在target_include_directories()中添加自定义.h文件路径。文章以LogisticsRobot项目为例,详细说明了Driver、Appli

本文介绍了使用CMake管理项目文件的实用方法。在CmakeLists.txt中,可通过file(GLOB)命令批量添加指定目录下的.c源文件,并利用list(APPEND)合并多个目录的源文件列表,避免变量覆盖问题。对于头文件管理,则需在target_include_directories()中添加自定义.h文件路径。文章以LogisticsRobot项目为例,详细说明了Driver、Appli








