logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

浅谈内存碎片

外部碎片:由于动态分配和释放的随机性,大块空闲区被不断切割成无法合并的小空闲块,导致无法满足大连续请求。内部碎片:由于分配粒度固定(页、分区、对象缓存),申请大小不是粒度的整数倍时,块内剩余空间被浪费。理解内存碎片的成因,有助于设计高效的内存管理策略,平衡内存利用率与分配速度。在现代通用操作系统中,分页机制配合按需分配基本消除了外部碎片,而内部碎片(页内浪费)则作为换取灵活性和简单性的代价被接受。

#mcu#嵌入式实时数据库#stm32 +2
CPU与外部设备交互的三种控制方式详解

实际高性能通信系统很少单一使用某一种方式,而是将它们结合起来以平衡吞吐量和 CPU 负载:1、中断 + DMA:网卡、磁盘控制器中,DMA 负责批量数据搬运,传输完成后产生一次中断通知 CPU 取走整块数据,避免逐字节中断。2、中断 + 轮询 (NAPI):先用中断通知有数据到来,随后关闭中断,改用轮询方式持续收割数据包,当一段时间无包时再重新开启中断。这样在高负载下避免了频繁中断,低负载下保留了

#c语言#单片机#嵌入式硬件 +4
一对互为绝配的搭档

在嵌入式系统开发中,资源受限的场景尤为常见——有限的存储空间、紧张的内存容量、严格的功耗约束,这些约束条件使得内核与操作系统的匹配变得至关重要。一个恰到好处的组合不仅能充分发挥硬件性能,还能在有限的资源内实现复杂的功能;而一个不匹配的选择则可能导致系统臃肿、响应迟缓甚至无法正常运行。

#c语言#单片机#stm32 +3
C语言编译到芯片烧录全流程详解:从源代码到可执行文件

预处理:处理开头的指令,生成纯净的C文件(.i)编译:将C代码翻译为目标平台的汇编语言(.s)汇编:将汇编指令转换为机器码,生成目标文件(.o)链接:最关键的一步,将多个目标文件和库合并,根据链接脚本分配内存地址,生成可执行的ELF文件(.elf)格式转换:从ELF文件中提取二进制内容,生成可直接烧录的.bin或.hex文件源代码 → 汇编 → 机器码 → 地址分配 → 二进制镜像。对于嵌入式开发

#c语言#开发语言#单片机 +1
一对互为绝配的搭档

在嵌入式系统开发中,资源受限的场景尤为常见——有限的存储空间、紧张的内存容量、严格的功耗约束,这些约束条件使得内核与操作系统的匹配变得至关重要。一个恰到好处的组合不仅能充分发挥硬件性能,还能在有限的资源内实现复杂的功能;而一个不匹配的选择则可能导致系统臃肿、响应迟缓甚至无法正常运行。

#c语言#单片机#stm32 +3
到底了