
嵌入式筑基
文章平均质量分 89
总结介绍嵌入式基本知识点
指针刺客
正在学习的嵌入式软件工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式筑基之函数存储分配
摘要:本文深入探讨STM32嵌入式开发中的函数存储优化策略,分析了默认Flash存储特性及RAM加速技术。原创 2025-07-21 10:45:52 · 932 阅读 · 0 评论 -
嵌入式筑基之内存对齐
讨论嵌入式软件开发的内存对齐原创 2025-07-14 19:10:33 · 634 阅读 · 0 评论 -
嵌入式筑基之volatile
本文深入解析嵌入式开发中volatile关键字的核心作用与使用场景。它如同嵌入式系统的"免疫系统",防止编译器优化导致程序异常。主要应用于:1)硬件寄存器访问,确保每次读取真实状态;2)中断服务程序共享变量,保证主程序能获取最新值;3)多线程共享数据;4)特殊内存区域。原创 2025-08-08 09:54:19 · 352 阅读 · 0 评论 -
嵌入式筑基之全局变量内存管理
/ 推荐:真常量使用const// 避免:伪常量占用RAM#define PI3.14159f// 推荐:真常量使用const const float PI = 3.14159f;// 避免:伪常量占用RAM # define PI 3.14159f // 可能降低可调试性变量类型适用场景避坑要点普通全局变量多模块共享的临时数据避免滥用导致耦合度高static变量文件内私有状态保持注意复位后初始化问题const常量固定参数/配置表不可用于需修改的数据自定义段变量需持久化的大数据块。原创 2025-07-17 19:42:46 · 759 阅读 · 0 评论 -
嵌入式筑基之STM32启动流程
STM32微控制器的启动流程是嵌入式系统稳定运行的关键,涉及硬件自动初始化和软件配合。标准启动流程包括复位后的硬件初始化、数据段处理和跳转main()函数。在OTA升级场景中,Bootloader与应用程序的切换需要特别注意内存布局、向量表重定向和跳转机制。原创 2025-08-01 16:59:53 · 1022 阅读 · 0 评论 -
嵌入式筑基之大端小端传输
嵌入式开发中,大端(Big-Endian)和小端(Little-Endian)的选择取决于系统架构和协议要求。大端在网络协议(如TCP/IP)、工业总线和调试中更具优势,数据存储更直观;小端则被主流CPU(ARM、x86)原生支持,类型转换和运算效率更高。开发时需通过字节序检测和转换函数确保兼容性,网络通信优先大端,本地处理可随CPU使用小端。核心原则是遵守硬件规范并通过抽象层处理差异。原创 2025-08-04 15:52:08 · 346 阅读 · 0 评论 -
嵌入式筑基之MAP文件解析
MAP文件不是编译过程的副产品,而是工程师与硬件对话的核心语言。从预判芯片资源瓶颈在Memory Map中发现内存冲突通过定位"内存怪兽"你便拥有了在资源受限的嵌入式世界里挥斥方遒的资本——让每一字节内存都物尽其用,让每一毫秒CPU周期都不被浪费。附录:常用分析命令。原创 2025-07-30 15:32:00 · 638 阅读 · 0 评论 -
嵌入式学习之原子操作
摘要:原子操作在STM32等嵌入式系统中至关重要,它确保对共享资源(如全局变量、外设寄存器)的访问在并发环境下不被中断打断,防止数据竞态和逻辑错误。原子操作的核心特性是不可分割性和隔离性,常用于保护标志位、计数器或寄存器配置。实现方法包括关中断、Cortex-M硬件指令(如LDREX/STREX)或RTOS提供的API。使用时需注意:临界区尽量短、避免阻塞调用、正确使用volatile关键字,并区分原子操作与互斥锁的适用场景。优先采用库或RTOS的同步机制以确保安全性和实时性。原创 2025-06-12 10:47:38 · 1101 阅读 · 0 评论 -
嵌入式筑基之函数指针
函数指针在STM32嵌入式开发中具有重要作用,可实现回调机制、动态行为切换和模块解耦。其核心应用包括HAL库回调、事件驱动框架、状态机实现、驱动抽象层等场景。使用时需注意空指针检查、类型匹配和性能影响,在STM32中广泛应用于HAL库回调、RTOS任务钩子等场景,可显著提升代码灵活性和可维护性。掌握函数指针技巧有助于优化嵌入式系统设计。原创 2025-06-23 01:12:05 · 414 阅读 · 0 评论