一.如何对设备操作 linux中对设备进行操作是通过文件的方式进行的,包括open.read.write.对于设备文件,一般称其为设备节点,节点有一个属性是设备号(主设备号.次设备号),其中主设备号将设备文件与驱动模块对应起来当我们open一个设备节点时,告诉了kernel要操作的是是主设备号为XX的节点,然后kernel会通过过XX来寻找合适的内存模块,进而调用内存模块中定义的open函数由于操作节点之前kernel就需要有主设备号的信息,因此主设备号的申请.具有该主设备号的字符设备的添加都需…
主设备号和次设备号 一个字符设备或者块设备都有一个主设备号和次设备号.主设备号和次设备号统称为设备号.主设备号用来表示一个特定的驱动程序.次设备号用来表示使用该驱动程序的其他设备.(主设备号和控制这类设备的驱动是一一对应的)通俗的说就是主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动…
http://www.linuxidc.com/Linux/2011-03/33863.htm     Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件.应用程序可以打开.关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样.为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号.主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备.对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3.…
/********************************************************************************* * Linux chroot 并使用之前系统设备节点 * 说明: * 直接使用chroot结果/dev下没有设备,所有有些东西需要提前挂载,在进入chroot. * * 2016-12-30 深圳 南山平山村 曾剑锋 **********************************************************…
我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu.但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦.在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示. 目的: 把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统: 资源: 代码: arm-linux-toolchains.tgzma…
设备号: 1.自己主动分配 major = register_chrdev(0,"first_drv",&first_sdv_fops);//注冊 注冊设备时给设备号写0,则内核会自己主动分配一个主设备号返回. 2.手动指定 到 proc/devices 文件下查找都有哪些主设备号.假设没有被使用的我们就可以拿过来使用它. 应用程序设备节点: 我们会使用open这个函数带开一个设备,那么open("dev/xxx")中dev/xxx 这个设备节点怎么来? 1…
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口,同样比起Mysql.PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快. 在开始之前,我们需要确认有 SQLit…
要保证目录下有该文件 /etc/MiniGUI.cfg 复制过程使用cp –af 强制复制…
在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的外设有LED,BEEP,RS232,六轴传感(SPI接口),光环境传感器(I2C),音频输出, RTC等,如果按照这个顺序去实现驱动,一定程度其实又回归最初的模块学习的策略,不过既然是从应用的角度,先实现应用框架,来验证是否符合预期,这比测试模块驱动的更重要,也更容易有产出感. 按照这个需求,就可以…
linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru 10.04 实验平台:S3C2440 + linux2.6.29内核 注:在今后驱动程序的学习中经常需要查看内核源代码,建议大家新加一个内核目录,去掉一些与S3C2440平台无关的代码,打包成ctags,方便查看代码. 一.驱动的分类: 内核驱动大致分为三类: 1)字符设备:在今后的接触的大多数都是字符设备,我也只学过这个. 2)块设备 :与硬盘相关的设备. 3)网络设备:与网络相关的设备. 上面的三种设备,我也…