logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

单片机内存布局管理:sct分散加载详解

本文深入解析ARM嵌入式开发中的分散加载文件(.sct),重点介绍其核心功能、使用场景和配置方法。文章首先说明.sct文件在链接阶段的作用,类比GCC中的.ld文件;详细解析文件结构,包括加载域(LR_IROM)和执行域(ER_IROM/RW_IRAM)的地址分配规则;通过实例演示如何创建自定义加载域管理特定代码段和数据段;特别讲解__attribute__关键字实现内存定向分配的方法;最后解答常

文章图片
#单片机#嵌入式#stm32
STM32启动流程解析:从BootROM到BootLoader

本文解析了STM32启动流程中的BootROM与BootLoader机制。BootROM是芯片出厂固化的只读代码,负责基础硬件初始化和启动模式选择;BootLoader则是可编程的软件层,提供高级初始化和固件更新功能。文章对比了两者的区别,指出BootROM位于芯片内核不可修改,而BootLoader存储在可擦写存储器中可高度定制。同时解释了为什么BootROM在地址映射中不可见的原因,并提供了相

#stm32#嵌入式#单片机
【OTA专题】13 APP工程移植Ymodem协议接收解包固件

本文详细介绍了Ymodem协议在串口DMA环境下的移植实现。主要内容包括:1)移植流程解析,重点说明在Boot和App模式下DMA数据搬运策略的差异;2)协议处理核心代码详解,包括数据包接收、解包和校验机制;3)关键实现技术,如空闲中断回调函数处理、DMA接收优化等。特别强调了通过队列机制实现异步数据接收,确保在文件传输过程中不影响其他应用任务的执行。该方案解决了传统串口中断方式对系统实时性的影响

文章图片
#单片机#嵌入式#stm32
好用的开源日志输出工具:SEGGER_RTT实现机制解析

SEGGER RTT是一种基于内存共享的实时调试技术,通过控制块结构管理数据传输。其核心机制包括:1)使用环形缓冲区和生产-消费者模型实现无锁通信;2)支持多通道配置,可区分上下行数据;3)采用原子操作保证指针更新的线程安全;4)同时支持阻塞和非阻塞模式,满足不同实时性需求。该技术无需专用调试接口,能在保持原有代码结构的同时实现高效调试,适用于嵌入式系统开发。

【DMA】FreeRTOS下STM32串口接收不定长数据并结合DMA实现环形缓冲区:2 串口DMA不定长接收代码实践

本文介绍了在FreeRTOS下使用STM32串口结合DMA实现环形缓冲区接收不定长数据的方法。系统采用分层设计:硬件中断层负责数据接收并存入环形缓冲区,BSP层驱动程序处理缓冲区管理并通知APP层,APP层进行数据解包处理。通过串口空闲中断、DMA半满和全满中断动态调整缓冲区head指针位置,实现高效数据接收。相比动态内存分配方案,环形缓冲区能避免内存碎片问题,保证系统实时性。文章还解答了环形缓冲

#stm32#单片机#嵌入式
Easylogger与RTT结合使用 & Easylogger在FreeRTOS下实现异步输出

RTT与EasyLogger是嵌入式开发中常用的两种工具,二者协同工作形成高效日志解决方案。RTT作为SEGGER推出的调试数据传输工具,负责通过J-Link实现目标板与PC间的高效双向通信;EasyLogger则是国产开源的嵌入式日志管理库,专注于日志生成、过滤和格式化。实际应用中,EasyLogger将规范化处理后的日志通过RTT接口传输至PC端,由J-Link RTT Viewer接收显示。

#嵌入式#开源工具
单例模式简析:C语言实现单例模式

单例模式是一种确保类只有一个实例的设计模式,提供全局访问点。其核心特点是唯一性、全局访问、延迟初始化和线程安全。现实中的例子包括公司CEO、国家总统、打印机等。在嵌入式系统中,单例模式可避免硬件重复初始化问题,如多个程序员共用打印机时,防止设置冲突和资源浪费。代码示例展示了通过静态变量和初始化标志实现单例,确保所有调用者获取同一实例指针。该模式能有效提升系统安全性和效率。

#单例模式#嵌入式
好用的开源日志库:Easylogger解析与移植STM32

Easylogger是一款轻量级嵌入式日志库,其核心配置位于elog_cfg.h文件中。主要配置包括:日志输出总开关(ELOG_OUTPUT_ENABLE)、静态日志级别(ELOG_OUTPUT_LVL)、断言检查(ELOG_ASSERT_ENABLE)、缓冲区大小(ELOG_LINE_BUF_SIZE)等。高级配置支持彩色输出、异步/缓冲模式、日志格式定制等功能。移植时需配置串口输出,重定义输出

#嵌入式
【FreeRTOS】队列集

文章介绍了队列集在嵌入式系统中的实现方法。通过创建队列数组和注册机制,实现数据的高效分发。具体包括:1)使用xQueueCreateSet创建队列集;2)通过xQueueAddToSet将队列加入集合;3)利用xQueueSelectFromSet读取队列集数据。重点阐述了数据分发的两种方案:直接写多个队列(不推荐)和更优的队列数组注册机制。后者通过IR_RegisterQueueHandle注册

文章图片
#嵌入式#单片机
嵌入式硬件基础知识

嵌入式硬件基础介绍,电阻电容电感基本知识,芯片封装

文章图片
#嵌入式硬件
    共 16 条
  • 1
  • 2
  • 请选择