- 博客(9)
- 收藏
- 关注
原创 深入理解堆与栈
本文深入探讨了C/C++中的内存管理核心概念——堆(Heap)与栈(Stack)。栈由系统自动管理,采用LIFO结构,适合局部变量和函数调用,分配速度快但空间有限;堆需手动管理,支持动态分配,空间大但速度较慢。文章详细对比了两者在管理方式、分配速度、空间大小等方面的差异,并通过代码示例展示了具体应用场景。同时指出了常见问题如栈溢出、内存泄漏的解决方案,推荐使用C++智能指针进行堆内存管理。最佳实践建议优先使用栈,必要时合理使用堆,并注意及时释放内存,以提高程序的安全性和效率。
2025-11-06 14:58:13
1020
原创 Linux 内核同步机制详解:自旋锁、信号量、互斥体与原子操作
摘要:本文介绍了Linux内核中四种同步机制:自旋锁、信号量、互斥体和原子操作。自旋锁适用于多核系统,特点是忙等待,适用于短临界区;信号量和互斥体在获取失败时会让进程休眠,适用于较长临界区,其中互斥体具有更好的性能;原子操作提供不可分割的最小操作单元。每种机制都有其特点、适用场景及对应的API函数,开发时应根据具体需求选择合适的同步机制。
2025-09-24 15:16:11
329
原创 GPIO子系统
/使用devm_gpiochip_add_data的API使用gpio_chip构建一个gpio_device,并添加到链表中。//申请GPIO引脚。
2025-09-24 14:44:48
484
原创 Linux内核待机唤醒
当嵌入式设备要用电池供电的时候就会有电源管理,电源管理就是在不影响电子设备的前提下,尽可能让电子设备省电,一般是移动设备用的场景比较多,本篇知识会用到notifier机制知识,可以看下这篇文章,本篇以内核源码 4.19 为例进行分析。下面图片对Linuxsuspendresume过程做了一个概述,读者可以顺着这个流程阅读内核源代码。具体的说明,可以参考后面的代码分析。
2025-08-29 17:17:49
984
原创 UEFI学习之第一个应用程序“HelloWorld”
在初步了解UEFI的基本概念和工程结构后,编写第一个"Hello World"应用程序是掌握UEFI开发的关键一步。这个看似简单的程序将带您深入UEFI应用的运行机制,揭开固件层开发的神秘面纱。通过本文,您将完成从环境搭建到代码运行的完整开发闭环
2025-03-12 10:30:45
478
原创 UEFI学习之工程模块文件
从简单的".inf"文件到神秘的".fdf"配置,这些模块文件构成了UEFI开发的基石。本文将深入解析UEFI工程的核心模块文件,助你从"代码实验"迈向"工程化开发"。:定义模块的模块类型(如:UEFI_APPLICATION/DRIVER)│ └── MyDriver.inf # 模块声明文件。├── MyPkg.dsc # 平台描述文件。└── MyPkg.fdf # 固件描述文件。├── MyPkg.dec # 包声明文件。
2025-03-11 16:20:02
1110
原创 UEFI学习之初识BIOS与UEFI
UEFI提供给操作系统的接口包括启动服务(Boot Services,简称BS)和运行时服务(Runtime Service,简称RT)以及隐藏在BS之后的丰富Protocol。(3)扩展性能差,升级缓慢:BIOS代码采用静态链接,增加硬件功能时,必须将16位代码放置在0x0c0000~0x0fffff区间,初始化时将其设置为约定得中断处理程序。(4)UEFI系统的安全性:当系统的安全启动功能被打开后,UEFI在执行应用程序和驱动前会先检测程序和驱动证书,仅当证书被信任时才会被执行。
2025-03-11 15:48:45
1696
原创 网络编程之TCP通信
本文主要是在教大家如何搭建一个TCP通信的模型,构建一个·简易的服务端和客户端,进行数据的收发。此文是本人在学习时写作,如有错误还请多多包涵。
2023-06-05 21:24:39
2259
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅