logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么使用FreeRTOS?

做嵌入式实时开发的工程师,几乎没有人能绕过 FreeRTOS。历经数十年迭代打磨,它早已不是一款普通的开源 RTOS,而是经过全球海量项目、无数开发者严苛验证的工业级实时内核。“现在可以说,FreeRTOS 经过的‘同行评审’比地球上任何其他实时操作系统都要多。这位深耕多处理器大型项目的开发者,曾在搭载64个处理器、需要连续数月稳定运行的复杂场景中落地 FreeRTOS,最终验证了其内核的极致稳定

#单片机
浅谈FreeRTOS

本文主要介绍FreeRTOS的背景知识及优点关键词: FreeRTOS;实时操作系统;嵌入式开发;MIT开源;轻量级RTOS

文章图片
#嵌入式硬件#单片机
STM32/MCU【IAP在线升级】全流程深度解析与实战指南

摘要:本文详细介绍了单片机开发中的两种程序烧录方式ICP(在线编程)和IAP(应用内编程)。重点阐述了IAP升级的实现方案,包括Flash空间划分(Bootloader区、标志区、APP运行区和备份区)、升级流程(下载→校验→擦写→跳转)以及核心代码实现。特别强调了中断向量表偏移设置、跳转前的系统清理等关键问题,并提供了产品级优化建议(断电保护、看门狗、加密等)。最后给出了基于STM32F103的

文章图片
#单片机#stm32#嵌入式硬件
一文搞懂固件升级

固件升级是通过更新硬件设备中的嵌入式软件来修复错误、提升性能或增加新功能的过程。常见升级方式包括:1)专用烧录工具(如JLINK),适合专业人员;2)OTA无线升级,便捷但需无线功能支持;3)有线方式(串口/USB),稳定适用于工控领域。STM32芯片支持多种升级方式:DFU(USB)、烧录工具(JTAG/SWD)、OTA无线和串口升级,各适用于不同场景。

文章图片
#单片机#嵌入式硬件#c语言
FreeRTOS 信号量获取(xSemaphoreTake)底层原理深度剖析

本文从源码层面解析了FreeRTOS中xSemaphoreTake的实现原理。信号量本质是一个不存储数据的特殊队列,其uxMessagesWaiting成员表示可用资源数。xSemaphoreTake通过调用xQueueGenericReceive实现,当资源可用时减少计数,否则任务会被挂起到等待列表。该操作复用队列机制但省略数据拷贝,体现了FreeRTOS"万物皆队列"的设计

文章图片
#嵌入式硬件#c语言#stm32
FreeRTOS移植STM32F10x解决“三个宏”中断冲突问题:从崩溃到LED闪烁

在STM32F103移植FreeRTOS时,若任务调度失败或程序跑飞,可能是中断函数命名冲突所致。FreeRTOS内核通过vPortSVCHandler、xPortPendSVHandler和xPortSysTickHandler实现任务调度,但STM32启动文件默认以弱符号定义SVC_Handler等标准中断名。若用户在stm32f10x_it.c中重写同名空函数,会覆盖FreeRTOS的实现,

文章图片
#单片机#嵌入式硬件#c语言
智能天气时钟项目(一):ESP32 AT指令集详解与STM32驱动开发

本文详细介绍了如何通过AT指令实现STM32与ESP32的WiFi通信。主要内容包括:ESP32作为WiFi模块的优势、AT指令基础、硬件连接方案(USART2)、核心数据结构设计(响应类型、WiFi信息结构体等)、关键函数实现(串口初始化、指令发送与响应解析)以及功能模块封装(WiFi连接、状态查询、NTP时间获取和HTTP请求)。

文章图片
#stm32#驱动开发#嵌入式硬件
Keil5编译环境中Use MicroLIB勾选还是不勾选?

摘要:MicroLIB是ARM为资源受限嵌入式系统设计的精简C运行时库,集成在ARM编译器中,替代标准C库部分功能。其特点是显著减小代码体积和RAM占用,简化启动流程,优化性能,适用于STM32等低端MCU。与标准C库相比,MicroLIB体积更小、启动更快、不依赖半主机模式,但功能有限(如不支持浮点格式化和完整文件I/O)。启用方式包括直接修改项目文件或在Keil中勾选选项。MicroLIB适合

文章图片
#stm32#单片机#mcu
到底了