摘要:首先引用一句 wiki 上的定义来开篇: Mounting takes place before a computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share). The u
阅读全文
随笔分类 - linux 驱动
积累系统移植&驱动方面的知识
摘要:一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和kernel都是二进制,rootfs存在文件系统。 二进制在烧录的时候比较简单,将二进制数据写入存储设备固定地址;rootfs存在文件系统,所以需要对存储设备进行分区,然后在分区上建立文件系统。 对存储介质分区可以
阅读全文
摘要:谈论进程上下文 、中断上下文 、 原子上下文之前,有必要讨论下两个概念: a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。 b -- 原子 原子(atom)本
阅读全文
摘要:编译环境:Ubuntu 10.10 内核版本:2.6.32-38-generic-pae LDD3源码路径:examples/scull/pipe.c examples/scull/main.c 本文分析LDD3第6章的poll(轮询)操作。要理解驱动程序中poll函数的作用和实现,必须先理解用户空
阅读全文
摘要:如果一个应用程序去处理多个设备,例如应用程序读取网路数据,按键,串口,一般能想到的有三种方法: 方法1:串行+阻塞的方式读取:while(1) { read(标准输入);read(网络);}缺点:每当阻塞读取标准输入时,如果用户不进行标准输入的操作,而此时客户端给服务器发送数据,导致服务器无法读取客
阅读全文
摘要:版权所有: 原文名称:《Linux Performance and Tuning Guidelines》 原文地址:http://www.redbooks.ibm.com/abstracts/redp4285.html 1.1.1 进程是什么?1.1.2 进程生命周期1.1.3 线程1.1.4 进程
阅读全文
摘要:制作基于软盘的Linux系统(张宏伟、欧阳平平 2001年07月26日 11:22)嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定制的系统模块组成。由于Linux是开放源代码的操作系统,因此,其在嵌入式领域有其不可替代的成本和高度灵活性等优势。 将Linux系统裁减到就像D
阅读全文
摘要:由于Linux内核版本更新的原因,LDD3(v2.6.10)提供的源码无法直接使用,下面是本人编译scull源码时出现的一些问题及解决方法。编译环境:Ubuntu 10.04 LTS(kernel version 2.6.32-33) 编译错误: 解决方案: CFLAGS与Makefile.buil
阅读全文
摘要:0 准备工作。 0.0 系统环境:Ubuntu18.04.1 amd64。 0.1 安装必要软件包 1 sudo apt install build-essential bison flex libssl-dev libelf-dev 1 sudo apt install build-essenti
阅读全文
摘要:IIC接口下的24C02 驱动分析: http://www.cnblogs.com/lifexy/p/7793686.html 接下来本节, 学习Linux下如何利用linux下I2C驱动体系结构来操作24C02 1. I2C体系结构分析 1.1首先进入linux内核的driver/i2c目录下,如
阅读全文
摘要:地址映射 内存管理的方式 缺页异常 先来看一些基本的知识,在进程看来,内存分为内核态和用户态两部分,经典比例如下: 从用户态到内核态一般通过系统调用、中断来实现。用户态的内存被划分为不同的区域用于不同的目的: 当然内核态也不会无差别地使用,所以,其划分如下: 下面来仔细看这些内存是如何管理的。 地址
阅读全文
摘要:网络互联参考模型 1. 什么是协议 为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言” 描述网络通信中“语言”规范的一组规则就是协议 例如:两个人交谈,必须使用相同的语言,如果你说汉语,他说阿拉伯语…… 数据通信协议的定义 决定数据的格式和传输的一组规则或者一组惯例 2.
阅读全文
摘要:Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe
阅读全文
摘要:1、问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整
阅读全文
摘要:1. 什么是TCP/IP、UDP? 2. Socket在哪里呢? 3. Socket是什么呢? 4. 有很多的框架,为什么还在从Socket开始? 5. Linux C Socket简单示例 1.什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/
阅读全文
摘要:记录一下如何使用wpa_cli来进行wifi调试。 1、启动WLAN (1)加载驱动 打开wifi的时候会加载驱动,关闭则会卸载wifi驱动。手动调试的时候,先调用insmod/rmmod命令加载/卸载指定的wifi驱动。 再调用iwconfig可以看到驱动是否加载成功,如下,可以看到wlan0已经
阅读全文
摘要:三元组(ip地址,协议,端口)就可以标识网络的进程 3.1,OSI七层模型和TCP/IP五层模型 OSI七层网络模型由下至上为1至7层,分别为: 物理层(Physical layer),数据链路层(Data link layer),网络层(Network layer),传输层(Transport l
阅读全文
摘要:linuxMT7612U11/7/2014v3.0.0.1http://cdn-cw.mediatek.com/Downloads/linux/MT7612U_DPO_LinuxSTA_3.0.0.1_20140718.tar.bz2linuxRT8070/ RT3070/ RT3370/ RT35
阅读全文
摘要:在Linux编写驱动的过程中,有两个文件是我们必须要了解和知晓的。这其中,一个是Kconfig文件,另外一个是Makefile文件。如果大家比较熟悉的话,那么肯定对内核编译需要的.config文件不陌生,在.config文件中,我们发现有的模块被编译进了内核,有的只是生成了一个module。这中间,
阅读全文
摘要:内核源码树的目录下都有两个文件Kconfig和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库, 每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出菜单, 用户选择后保存
阅读全文