- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 ACPI TABLE 方式加载device driver--以spi controller为例
目录Revision history一、为什么要为SPI driver添加ACPI support?1.1 当前SPI controller driver存在的问题1.2 ACPI support for SPI device二、Add SPI master & slave in ACPI table2.1 SPI device info in DSDT table2.2 ACPI device enumeration三、Add ACPI support in SPI
2025-08-17 22:21:50
712
原创 关于第一次接触Linux TCP/IP网络相关项目
本文通过电话系统类比,系统讲解了Linux网络编程的核心概念和工作原理。IP地址和端口号分别对应楼栋和住户,Socket是电话机,TCP提供可靠连接。文章重点介绍了服务端编程流程(socket-bind-listen-accept)和事件驱动模型epoll的工作机制,后者像秘书一样监控多个文件描述符。特别讲解了eventfd作为内部通知机制的作用和使用方法,它能让epoll_wait被主动唤醒。最后总结了典型的服务器框架:主线程通过epoll管理连接,工作线程处理业务逻辑。全文以生动的比喻解释了复杂的网络编
2025-08-17 22:12:37
693
原创 grub-install:错误解决
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible Ubuntu使用BIOS启动时, GPT分区表下安装grub2报错 的解决办法在制作minios时,格式化系统盘,然后安装grub的时候,出现如下错误root@z:/mnt...
2020-04-03 14:46:19
11591
原创 对linux分页机制的一些认识
x86 CPU中段机制(Segmentation)可以将程序的代码(Code)、数据(Data)、栈(Stack)分开,这样多个程序(或进程)就可以在同一个CPU上运行,而相互不会干扰。页机制(Paging)用来实现传统的以页面为需求的虚拟内存系统,只有程序需要时,才真正给进程分配物理内存。页机制也可以用来隔离多个任务。一、硬件中的分页我们还是从实现linux分页机制的软硬件...
2019-12-11 10:46:40
566
原创 对逻辑地址中”段“的一些认识
引言看了很多资料,发现自己还是没有弄明白几个地址概念,比如逻辑地址、线性地址、物理地址,还有一些,比如逻辑地址中的段,还有什么基地址等的概念,通过这篇文详细查找资料,然后记下来学习一下。主要的内容还是来自于《深入理解Linux内核》,有不明白的再上网查找资料。在深入的过程中,主线还是依据这本书上的内容来,下面资料可供参考:https://blog.youkuaiyun.com/killcpp/articl...
2019-12-09 15:12:06
1962
转载 Linux内存管理初探
转载自:https://cloud.tencent.com/developer/article/1005671导语linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存的原理和...
2019-12-08 14:46:11
760
原创 PCM ALSA的一些基础知识
PCM1、设备命名API 库使用逻辑设备名而不是设备文件。设备名字可以是真实的硬件名字也可以是插件名字。硬件名字使用 hw:i,j 这样的格式。其中i是卡号,j是这块声卡上的设备号。第一个声音设备是hw:0,0.这 别名默认引用第一块声音设备并且在本文示例中一直会被用到。插件使用另外的唯一名字。比如plughw:, 表示一个插件,这个插件不提供对硬件设备的访问,而是提供像采样率转换这样...
2019-10-10 11:33:41
2790
原创 X86下 IO端口和IO内存、外设IO访问(以pci设备为例)
首先要搞清楚一些基本概念:1、IO端口、IO内存每个外设都是通过读写其寄存器来控制的。外设寄存器也称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,可以把CPU分成两大类。一类CPU(如M68K,Power PC等)把这些寄存器看作内存的一部分,寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指令进行,所以,这种CPU没有专门用于设备...
2019-09-19 19:03:53
9877
原创 Linux驱动中mmap内存映射详解
mmap在linux哪里?什么是mmap?上图说了,mmap是操作这些设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址读写数据。但是,由于应用程序不能直接操作设备硬件地址,所以操作系统提供了这样的一种机制——内存映射,把设备地址映射到进程虚拟地址,mmap就是实现内存映射的接口。操作设备还有很多方法,如ioctl...
2019-07-01 17:14:15
1965
原创 用最通俗易懂的方式理解进程和线程--图文漫画形式
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇文章,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一...
2019-05-30 10:40:00
549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅