Linux
文章平均质量分 90
红药噻
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux驱动中私有数据filp->private_data的作用
驱动开发中通常为设备定义一个设备相关的设备结构体,其包含该设备的cdev 、私有数据、信号量、irq等这些信息。驱动开发中通常将文件的私有数据private_data指向设备结构体,在read()、write()、ioctl()等函数通过 private_data 访问数据 设备结构体。为了在同一个驱动支持多个相同设备时,为各个设备准备的数据结构互相不冲突。...原创 2020-05-05 10:50:20 · 4181 阅读 · 0 评论 -
Linux platform驱动框架笔记
设备驱动的分离,会有总线(bus)、驱动(driver)和设备(device)模型,比如 I2C、SPI、USB 等总线。但是在 SOC 中有些外设是没有总线这个概念的,但是又要使用总线、驱动和设备模型该怎么办呢?为了解决此问题,Linux 提出了 platform 这个虚拟总线,相应的就有 platform_driver 和 platform_device。在使用设备树的时候,设备的描述被放到...原创 2020-05-04 20:47:16 · 508 阅读 · 0 评论 -
Linux设备树笔记
1.dtsi头文件一般.dtsi 文件用于描述 SOC 的内部外设信息,比如 CPU 架构、主频、外设寄存器地址范围,比如 UART、IIC 等等。一般都是使用 SOC 厂商提供好的.dts 文件,我们只需要在上面根据自己的实际情况做相应的修改即可。2.DTC DTS DTBDTS 是设备树源码文件,DTB 是将DTS 编译以后得到的二进制文件,DTC将.dts 编译为.dtb。3.设备...原创 2020-05-02 22:14:15 · 225 阅读 · 0 评论 -
根据原厂linux内核进行移植
1.修改顶层makefile接在顶层 Makefile 文件里面定义 ARCH 和 CROSS_COMPILE 这两个的变量值为 arm 和 arm-linux-gnueabihf-ARCH ?= armCROSS_COMPILE ?= arm-linux-gnueabihf-2.配置并编译 Linux 内核和 uboot 一样,在编译 Linux 内核之前要先配置 Linux 内...原创 2020-03-05 20:49:21 · 497 阅读 · 0 评论 -
根据原厂uboot进行移植
1.首先编译原厂ubootmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfigmake V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j162.把编译得到的uboot.bin烧进板子就可以看到那些部分是支持,那些是不支持的,不支持的...原创 2020-03-05 19:40:19 · 3266 阅读 · 1 评论 -
Linux内核启动流程
Linux内核启动流程(1)内核自解压;(2)初始化静态编译进内核的驱动模块;(3)挂载根文件系统(4)执行第一个用户空间程序。包括配置用户环境和执行服务进程。...原创 2020-02-21 20:32:51 · 143 阅读 · 0 评论 -
u-boot启动流程
Bootloader 的启动流程一般分为两个阶段:stage1 和 stage21.stage1(1)基本的硬件初始化。包括屏蔽所有的中断、设置 CPU 的速度和时钟频率、RAM 初始化、初始化外围设备、关闭 CPU 内部指令和数据 cache 等。(2)复制 stage2 到 RAM 中。在这里要确定两点:①stage2 的可执行映像在固态存储设备的存放起始地址和终止地址;②RAM 空...原创 2020-02-21 20:19:49 · 255 阅读 · 0 评论 -
Linux网络编程笔记
服务器在accept()后一直阻塞到客户端connect()进行TCP三路握手。第一次握手:建立连接时,客户端发送 syn 包(tcp协议中syn位置1,序号为J)到服务器,并进入 SYN_SEND 状态,等待服务器确认;第二次握手:服务器收到 syn 包,必须确认客户的 SYN,同时自己也发送一个 SYN 包,即 SYN+ACK包(tcp协议中syn位置1,ack位置1,序号K,确定序...原创 2020-02-21 13:35:07 · 225 阅读 · 0 评论 -
Linux根文件系统笔记
目录 内容/bin 可执行程序/dev 块、字符设备节点文件/etc 主要配置文件和初始化执行文件/lib 基本的库文件, 茹:C 库,和内核模块(modules)/mnt 挂载点,临时挂载文件系统用/opt 附加的软件包/proc 虚拟文件系统,用于内核和进程通讯/sbin 基本的系统管理程序/tmp 临时文件目录/usr 更多的用户程序,包括X serve...原创 2020-02-20 23:04:27 · 139 阅读 · 0 评论 -
Linux线程相关笔记
Linux“线程”进程与线程之间是有区别的,不过linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。Linux中所谓的“线程”只是在被创建时clone了父进程的资源,因此clone出来的进程表现为“线程”。1.创建线程进程被创建时,系统会为其创建一个主线程,而要在进程中创建...原创 2020-02-19 23:55:57 · 177 阅读 · 0 评论
分享