linux驱动系列之挂载(转)】的更多相关文章

转自网页:http://www.cnblogs.com/yeahgis/archive/2012/04/05/2432779.html http://www.linuxso.com/command/cp.html 一.Linux挂载U盘:1.插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1.2.在mnt目录下先建立一个usb的目录(如:[root@localhost root]# mkdir /mnt/usb)3.挂载U盘:mount…
在linux环境下做嵌入式无论是编写应用程序还是驱动程序等等,都需要用make来进行程序的编译,就需要学会自己编写Makefile.Makefile主要的作用有3点:1.决定编译哪些文件 2.怎样编译这些文件  3.怎样连接这些文件,他们的顺序是什么样的 一个简单的makefile文件如下: hell:hello.c gcc -o hello hello.c clean: rm -f hello 这个是最简单的makefile,makefile的作用就是写程序者可以决定哪些文件需要编译.上面的2…
2014年刚开始学习linux时,搭建环境花了很多时间.当时最熟悉的是单片机如Mag16和stm32,依据以往学习单片机的经验肯定要用下载器下载程序,但是我找了很久没有比较好的IDE,不像Mag16有AVR Studio.stm32有Keil集成开发环境可以使用.当时查找资料说ADS可以用,但是流程很是复杂,其实后来发现eclipse也是可以使用的,但是那时只有一个jlink,而且是在虚拟机VMware里面装了一个ubuntu系统,然后在虚拟的这个系统里面安装交叉编译环境,编译uboot.内核,…
转至网页:http://www.jb51.net/LINUXjishu/43356.html Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲tar命令的基本用法: tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面 来举例说明一下: # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一…
刚开始学习linux在2440上面 linux内核分配标志可以分为三类:行为修饰符.区修饰符.类型. 区修饰符表示从哪儿分配内存,内核把物理内存分为多个区,每个区用于不同的目的. 内存中缓冲区存在的原因是可以提高对块设备的文件操作运行效率提高,而提高的本质是缓冲区数据的共享.…
在arm平台学习linux时,会遇到arm汇编指令,arm汇编指令与8086汇编指令很多地方都不同,在此记下来以免后面忘了,同时在学习了汇编指令之后分析一些汇编指令编写的代码. 一.相对跳转指令b.bl b.bl指令都实现短跳转,bl指令执行后会在链接寄存器r14中保存下一条指令的地址. 二.数据传送指令mov mov指令会把一个寄存器的数赋值给另一个寄存器,或者把一个常数传递给另一个寄存器. 如:mov  r0,r1  //将r1中的值传递给r0,mov r0,#0xff //将常数0xff传…
Ubuntu快捷键-终端快捷键   1.关于终端的快捷键:    Tab:tab键是比较常用的一个快捷键,它的作用是补全文件名或者路径.举例 来说,输入”cd /ho”在按一下tab键,终端里就会显示”cd /home”了.如果您的文件夹下,有两个名字开头部分相同的文件,比如有”picture001.bmp”和”picture002.bmp”两个文 件,输入”rm pic”以后按下tab键,就会补全成”rm picture”,您可以接着输入剩下的名字.使用tab键补全还支持对于扩展名的识别,比如…
摘抄网页:http://www.169it.com/article/330129798173630299.html 参考网页:http://www.cppblog.com/liu1061/articles/53762.html linux下objdump命令常见用法举例: objdump -x obj:以某种分类信息的形式把目标文件的数据组成输出:<可查到该文件的的所有动态库> objdump -t obj:输出目标文件的符号表() objdump -h obj:输出目标文件的所有段概括()…
转自网页:http://blog.csdn.net/xingyu19871124/article/details/7315893 最近在将做的嵌入式项目移植到ARM开发板上,宿主机用的ubuntu11.10,目标机为mini2440的ARM开发板,使用arm-linux-gcc编译项目后,要将项目拷贝到目标机运行,使用可以使用U盘直接拷贝,也可以通过tftp服务. 一.ubuntu11.10搭建tftp服务器 (1) $ sudo apt-get install tftpd tftp openb…
前言 主要是想对Linux 下spi驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型等也不进行详细说明原理.如果有任何错误地方,请指出,谢谢! spi介绍 SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构.支持多slave模式应用,一般仅支持单Master.时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first).SPI接口有2根单向数据线,为…
前言 这篇文章是对linux驱动基础系列--linux spi驱动框架分析的补充,主要是添加了最新的linux内核里设备树相关内容. spi设备树相关信息 如之前的文章里所述,控制器的device和spi device都是通过platform_add_device和spi_register_board_info注册到内核的驱动模式中的.而最新的方式是通过设备树来实现的.以arm为例,设备树文件一般存放在arch/arm/boot/dts下,不同的平台对应不同的文件,以xilinx zynq平台为…
本文转载自:https://blog.csdn.net/radianceblau/article/details/73498303 本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构)Linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解.校准流程详解) 上一篇文章中我们了解了高通sensor的整体架构及对AP侧的代码进行了分析,这篇…
本文转载自:https://blog.csdn.net/radianceblau/article/details/76180915 本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构)linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解.校准流程详解) 从adsp获取数据的方法分为同步.异步两种方式,但一般在实际使用中使用异步方式,…
前面系列文章讲解了VI编辑器.常用命令.防火墙及网络服务管理,本篇将讲解磁盘管理相关知识. 本文将会介绍大量的Linux命令,其中有一部分在"linux入门系列5--新手必会的linux命令"一文中已经介绍,遗忘了或没学习过的请自行查看. 磁盘管理主要涉及磁盘扩容以及磁盘配额管理,当服务器磁盘空间达到一定程度(个人认为一般使用量占到总容量的70-80%)就需要考虑新加磁盘实现扩容,一般操作步骤为分区.格式化.挂载.验证及使用.而磁盘配额主要是针对用户设置其最大的磁盘空间使用量,防止当个…
前言 linux驱动子系统太多了,连时钟也搞了个子系统,这导致一般的时钟芯片的驱动也会涉及到至少2个子系统,一个是时钟芯片接口子系统(比如I2c接口的时钟芯片),一个是内核给所有时钟芯片提供的rtc子系统.当然也可以自己写一个字符设备直接操作芯片然后给上层用户空间提供接口,但这种方法实在是太糟糕了,内核既然提供了,为什么不用呢!(真要这样做,请参考内核的drivers/char/rtc.c的实现) 另外: 强烈建议看内核文档Documentation/rtc.txt 里面对新旧两套实现及api有…
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, 驱动开发中设计到的硬件: * 数字电路知识 * ARM硬件知识 * 熟练使用万用表和示波器 * 看懂芯片手册和原理图 4, linux内核源代码目录结构: * arch/: arch子目录包括了所有和体系结构相关的核心代码.它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel c…
Linux驱动开发必看详解神秘内核 完全转载-链接:http://blog.chinaunix.net/uid-21356596-id-1827434.html   IT168 技术文档]在开始步入Linux设备驱动程序的神秘世界之前,让我们从驱动程序开发人员的角度看几个内核构成要素,熟悉一些基本的内核概念.我们将学习内核定时器.同步机制以及内存分配方法.不过,我们还是得从头开始这次探索之旅.因此,本章要先浏览一下内核发出的启动信息,然后再逐个讲解一些有意思的点. 2.1 启动过程 图2-1显示…
就业模拟测试题-LINUX驱动.系统底层工程师职位 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 试卷编号:143921试卷录入者:yisonghua(远见)试卷总分:80出卷时间:2012-09-13 14:53答题时间:150分钟姓名: 学号: 班级: 说明: 以下个体中的分数是说明题目的重要性而言的,并不是具体题目的考试分数,此试卷中的题目主要是出现在笔试之后的面试中,大部分题目要直接能说的出来,多去整理,完善自己的…
copy from :https://blog.csdn.net/fml1997/article/details/77622860 概述 从Linux2.6内核起,引入一套新的驱动管理和注册机制:platform_device 和 platform_driver .Linux 中大部分的设备驱动,都可以使用这套机制,设备用 platform_device 表示:驱动用 platform_driver 进行注册. linux_platform_driver 机制和传统的device_driver机…
作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). 目录 目录 混乱的 API 函数 旧的 API 函数 新的 API 函数 代码实操 创建驱动目录和驱动程序 创建 Makefile 文件 编译驱动模块 加载驱动模块 应用程序 卸载驱动模块 小结 自动在 /dev 目录下创建设备节点 修改驱动程序 代码下载 别人的经验,我们的阶梯! 大家好,我是道…
1.常用的模块操作命令 (1)lsmod(list module,将模块列表显示),功能是打印出当前内核中已经安装的模块列表 (2)insmod(install module,安装模块),功能是向当前内核中去安装一个模块,用法是insmod xxx.ko (3)modinfo(module information,模块信息),功能是打印出一个内核模块的自带信息.,用法是modinfo xxx.ko,注意要加.ko,也就是说是一个静态的文件形式. (4)rmmod(remove module,卸载…
一.开启驱动开发之路 1.驱动开发的准备工作 (1)正常运行linux系统的开发板.要求开发板中的linux的zImage必须是自己编译的,不能是别人编译的.原因在于在安装模块的时候会进行安全性校验 (2)内核源码树,其实就是一个经过了配置编译之后的内核源码.我们需要内核源码编译自己的模块 (3)nfs挂载的rootfs,主机ubuntu中必须搭建一个nfs服务器.这对于驱动开发前期是不可或缺的,能够提高我们的开发效率. 2.驱动开发的步骤 (1)驱动源码编写.Makefile编写.编译 (2)…
linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一般化的通用体系结构和指令集,以支持复杂的运算并易于新开发功能的添加.一般而言,在嵌入式微控制器(MCU)和微处理器(MPU)中会包含一个通用处理器核.  MPU 通常代表一个 CPU(中央处理器) ,而 MCU 则强调把中央处理器.存储器和外围电路集成在一个芯片中.嵌入式微控制器一般由一个 CPU…
关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JNI)的底层程序 一样的在平台文件中配置设备信息 #ifdef CONFIG_HELLO_CTL struct platform_device s3c_device_hello_ctl = { .name = "jni", .id = -, }; #endif #ifdef CONFIG_H…
关键字:字符驱动.动态生成设备节点.helloworld linux驱动编程,个人觉得第一件事就是配置好平台文件,这里以字符设备,也就是传说中的helloworld为例~ 此驱动程序基于linux3.0的内核,exynos4412开发板. 首先,打开平台文件,此开发板的平台文件是arch\arm\mach-exynos\mach-itop4412.c,不同平台位置是不一样的. 申明一下设备信息,这里以编译进kernel为例 #ifdef CONFIG_HELLO_CHAR_CTL struct…
由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make config(基于文本的最为传统的配置界面,不推荐使用)#make menuconfig(基于文本菜单的配置界面)#make xconfig(要求 QT 被安装)#make gconfig(要求 GTK+被安装)在配置 Linux 2.6 内核所使用的 make config. make menuconfig. mak…
第一: 开始系统学习Linux驱动,以前断断续续也玩玩了一下,开贴来系统学习Linux驱动. 硬件平台是JZ2440-4.3 ARM9开发板,开发板运行系统版本Linux3.4.2内核(内核移植,下载等相关其他篇幅). 设置开发板系统IP,让开发板与主机.开发板与虚拟机互通. 查看开发板ip / # routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface127.0.0.0 * 255.2…
在Linux驱动之内核自带的S3C2440的LCD驱动分析这篇博客中已经分析了编写LCD驱动的步骤,接下来就按照这个步骤来字尝试字节编写LCD驱动.用的LCD屏幕为tft屏,每个像素点为16bit.对应与红绿蓝分别为565. 1.分配一个fb_info结构 2.设置fb_info结构 3.硬件相关的操作,配置LCD时钟.配置IO端口.配置LCD寄存器. 4.最终注册fbinfo结构到registered_fb数组 要理解LCD的工作原理,需要了解LCD的时钟,在TFT的LCD中有如下的时钟.这个…
linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念? 3:linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部? 4:linux中断的响应执行流程?中断的申请及何时执行(何时执行中断处理函数)? 5:linux中的同步机制?spinlock与信号量的区别? 6:linux中RCU…
前言 数据迁移是我们经常会遇到的,有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NTFS分区), 这时候为了能让Linux服务器能够识别NTFS的移动硬盘,就必须安装ntfs-3g(Third Generation Read/Write NTFS Driver)的包. 一.NTFS-3G介绍 NTFS-3G是一个开源项目, NTFS-3G是为Linu…