logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

简易嵌入式日志系统设计思路!

本文介绍了一个专为嵌入式系统设计的轻量级日志系统实现方案。该系统采用环形缓冲区结构,支持同步/异步两种输出模式,异步模式下50条日志耗时仅17ms(同步模式472ms)。具备5级日志过滤(ERROR/WARN/INFO/DEBUG/VERBOSE)、格式化输出、自动时间戳和源码定位功能。核心设计遵循静态资源分配、最小接口抽象(仅需实现输出和时间戳两个平台函数)和FreeRTOS兼容性原则,在保证功

文章图片
#嵌入式#单片机
一个数组越界,竟让我排查了几天——嵌入式段错误定位实录

本文记录了一个隐蔽的段错误排查过程。程序在特定位置崩溃,屏蔽两行三角函数代码后正常,但问题根源却是一个"隔山打牛"式的数组越界。作者通过远程GDB定位到fd值被篡改,发现static变量不在map文件中,最终找到相邻数组越界写入的真凶。文章分享了-fdata-sections编译参数的使用技巧,并总结了调试经验:表象不等于根因、选对工具事半功倍、善用现代化调试工具。整个过程展示

文章图片
#嵌入式
嵌入式开发的时间 “陷阱”:UTC、时区这些你真懂?

嵌入式设备时区处理问题解析 文章分析了嵌入式开发中常见的时区处理问题,指出直接写死时区会导致设备在海外使用时出现时间错误。文章系统介绍了时间处理的基础概念(UTC/GMT)和标准库函数(time()、gmtime_r()、localtime_r()),详细解释了时区划分原理(24个时区,各15度经度对应1小时时差),并提供了通过GPS经度计算理论时区的代码实现。最后指出该方法存在局限性(政治因素可

文章图片
#嵌入式
FreeRTOS 的 5 种堆方案,如何理解?

FreeRTOS提供了5种堆管理方案(heap_1~heap_5),各有特点:heap_1最简单但不支持释放;heap_2支持释放但会产生碎片;heap_3依赖系统malloc/free;heap_4支持合并空闲块减少碎片,是官方推荐方案;heap_5扩展支持多块不连续RAM。选择时需根据应用场景考虑:固定分配大小可选heap_2,通用场景推荐heap_4,多RAM区域管理用heap_5。注意he

文章图片
#嵌入式#单片机
嵌入式 Linux 多进程 IPC 通信方式很多,如何选择?

本文介绍了嵌入式Linux开发中六种进程间通信(IPC)机制及其适用场景。通过对比表展示了消息队列、共享内存、UNIX域套接字、管道、信号量和信号的特点,重点分析了消息队列和共享内存的实现原理。消息队列通过内核优先级队列实现结构化消息传递,而共享内存通过映射同一物理内存实现零拷贝高速通信。文章还提供了POSIX消息队列的完整代码示例,演示了发送和接收进程的通信流程。这些IPC机制为嵌入式系统提供了

文章图片
#linux#嵌入式
写 FreeRTOS 任务通信,不用队列 Queue,你还有更好的选择?

本文介绍了FreeRTOS中的队列(Queue)机制。队列是一块连续内存,采用FIFO方式存储数据单元,支持任务间传递数据。文章对比了队列与信号量的区别,并通过3个实例展示了队列的典型应用:传递指针实现零拷贝、结构体数据传输和中断到任务通信。详细解析了队列的内存结构和工作原理,包括阻塞模式下的不同等待策略。最后列出了核心API的使用方法,包括动态和静态两种队列创建方式,以及数据发送函数的参数说明。

文章图片
#嵌入式#单片机
FreeRTOS调度器:抢占与轮转机制

本文介绍了FreeRTOS调度器的核心机制。FreeRTOS默认采用抢占式调度和时间片轮转相结合的策略,通过优先级决定任务执行顺序,同优先级任务则按时间片轮转执行。调度器依靠SysTick中断作为心跳,每次中断检查任务状态并触发切换。文章详细解析了调度触发时机、上下文切换过程,以及空闲任务的作用,并指出常见问题如高优先级任务死循环、共享资源未保护等。最后强调应根据实际场景平衡时间片大小,避免调度性

文章图片
#嵌入式#单片机
FreeRTOS 任务栈:翻车原因、定位方法与防范技巧

本文探讨了FreeRTOS任务栈管理的核心问题。首先分析了任务栈的两个作用:运行时工作区和上下文保存区。通过栈布局示意图解释了溢出原理,指出栈溢出会覆盖相邻内存导致系统故障。文章提出了栈大小科学计算的4步法:计算上下文切换固定开销(64字节)、函数调用动态开销(取最深嵌套路径峰值)、中断嵌套预留空间(无独立栈时需考虑),并建议增加20%-50%安全余量。针对栈溢出问题,介绍了4种表现和4种检测手段

文章图片
#嵌入式#单片机
不用再到处找资源|嵌入式软件全领域实用资源汇总(建议收藏)

《Awesome-Embedded》是一个开源嵌入式开发资源合集,涵盖面试准备、MCU开发、RTOS、Linux驱动等核心领域。项目提供系统化的面试题库、STM32/MSP430等MCU开发模板、FreeRTOS/RT-Thread实战案例,以及Linux内核/驱动开发教程。还包括Yocto/Buildroot系统构建、GCC工具链使用、Bootloader实现等实用资源,并推荐了经典技术书籍和开

文章图片
#嵌入式#单片机
Hook 机制在嵌入式中的应用解析!

本文深入解析了evhtp HTTP服务器中的Hook机制。Hook是一种在程序关键节点插入自定义处理函数的技术,具有低耦合、可扩展等优点。文章通过一个完整示例展示了如何在evhtp中设置Hook来监控请求处理流程,包括请求头解析、body接收等关键节点。同时分析了evhtp的Hook实现原理,包括数据结构设计、调用机制和设置方法。这种机制使开发者无需修改核心代码就能扩展功能,特别适合嵌入式系统开发

文章图片
#嵌入式#单片机
    共 128 条
  • 1
  • 2
  • 3
  • 13
  • 请选择