自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 FLASH,SRAM段分布情况

程序编译后会生成不同的“段”(Section),这些段最终被组织到Flash中,各段的功能和存储方式不同:段类型存储内容Flash中的角色(代码段)编译后的程序指令(机器码)Flash的核心区域,存储函数的二进制代码,CPU可直接从Flash取指令执行(Cortex-M支持“从Flash执行”)。(只读数据段)常量(如字符串、const变量)保存在Flash中,运行时不可修改,直接从Flash读取。(初始化数据段)已初始化的全局/静态变量的“初始值”

2025-10-03 20:20:31 933

原创 GCC编译过程详解

若头文件。

2025-09-22 22:45:42 1484

原创 图文并茂理解冯诺依曼架构和哈佛架构

想低成本、通用(能跑各种程序),用冯诺依曼架构(如你的电脑);想高速度、高实时性(如控制传感器、处理音频信号),用哈佛架构(如嵌入式设备)。

2025-09-18 22:12:52 1553

原创 ARM在压栈出栈使用局部变量中,R0,R1这些通用寄存器是这么使用的,有什么特殊的地方

R0-R3的特殊性在于:既是参数/返回值的核心通道,又属于“调用者保存”寄存器,因此压栈出栈的约束更宽松;而R4-R11是“被调用者保存”的局部变量专用寄存器,对压栈出栈的约束更严格。这种分工平衡了“参数传递效率”与“上下文安全性”。

2025-09-13 21:48:18 1251

原创 C语言面向对象---继承

C语言没有直接的“继承语法”,但可通过**“结构体嵌套”**模拟继承:让**子类结构体包含父类结构体作为第一个成员**,从而“复用”父类的数据和操作父类的函数。面向对象的“继承”是指:子类可以继承父类的属性和方法,减少重复代码,实现扩展。),也可通过“强制类型转换”作用于。一致),从而复用父类行为。

2025-09-12 21:08:57 390

原创 C语言--全局变量和局部变量(static)如何分配空间

最后一张图可以总结全部内容最后一张图可以总结全部内容。

2025-09-11 23:07:41 1854

原创 图文并茂理解结构体大小-内存对齐

当一个成员的末尾地址不满足下一个成员的“自身对齐值”时,需在两个成员之间插入“填充字节”,直到下一个地址满足对齐要求。不,9不是4的倍数,需填充3字节到12);成员的地址必须是4的倍数(如0、4、8),若下一个可用地址是1,则需填充3字节(地址1-3),将。:需对齐值4的地址(4的倍数),当前可用地址2(不满足),填充2字节(地址2-3),9不是4的倍数,需在末尾填充3字节(地址9-11),总大小=12字节(4的3倍)。:需对齐值4的地址,当前可用地址1(不满足),填充3字节(地址1-3),

2025-09-10 10:28:46 738

原创 图文并茂理解FreeRTOS队列集

队列集:允许任务同时等待多个队列或信号量的数据,当其中任何一个队列/信号量有数据可用时,任务都能被唤醒并处理。这解决了“单个任务需要等待多个事件源”的场景(无需为每个事件创建独立任务)。一个任务访问多个任务。

2025-09-07 11:47:57 1123

原创 FreeRTOS中队列集相关函数

FreeRTOS队列集操作摘要:1.队列集创建:xQueueCreateSet()创建队列集,指定最大监听对象数,返回句柄或NULL;2.对象添加:xQueueAddToSet()将队列/信号量加入队列集监听,返回成功/失败状态;3.对象移除:xQueueRemoveFromSet()从队列集移除指定对象;4.事件监听:xQueueSelectFromSet()阻塞等待任意对象触发,返回活动对象句柄。典型应用:通过单个调用同时监听多个队列和信号量的事件,实现高效任务同步。(149字)

2025-09-06 16:34:11 248

原创 以stm32103c8t6为例,理解底层读写寄存器原理,从硬件地址到寄存器名称

芯片厂商在头文件(如// GPIO 外设基地址(所有 GPIO 模块的起始地址)// GPIOA 基地址(在 APB2 总线基地址上偏移 0x0800)//算下来就是前面的0x40010800// GPIOB 基地址(同理)// ... 其他 GPIO 端口(GPIOC、GPIOD 等)此时GPIOA_BASE就等于硬件设计的0x40010800。硬件地址(0x4001080C)↑GPIOA_BASE(0x40010800) + ODR 偏移量(0x0C)↑。

2025-09-04 21:25:07 1773

原创 SP--MSP(Main Stack Pointer,主栈指针)和PSP(Process Stack Pointer,进程栈指针)

摘要:MSP和PSP的理解

2025-09-04 17:25:51 1006

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除