开始了linux驱动的学习,从最简单的hello world开始。一、hello world源码及注释如下所示:#include/*必须的头文件,用于初始化和清除函数的头文件*/#include/*必须的头文件,含有装载模块需要的大量符合和函数的定义, 必须包含在模块源代码中*/MODULE_LIC...
分类:
系统相关 时间:
2014-10-08 13:39:25
阅读次数:
297
E431系列USB启动问题1、将U盘做成Pe,开机按F12,找到U盘启动项,选中后按enter没有任何反应。2、按F1进入BIOS,在Start up设置USB作为第一启动项,在F12的列表中也是现实USB为第一启动项,但是电脑照旧是进入系统,没有任何变化。(U盘已经写入Win PE)usb识别到了...
分类:
其他好文 时间:
2014-09-22 14:58:12
阅读次数:
325
前言一、android驱动的开发流程1: 写LINUX驱动2: 写LINUX应用测试程序3: 写JNI接口,用来包装第二步写的应用(要用NDK来编译)生成一个.SO文件,相当于CE下的DLL4: 写JAVA程序,专门写一个类包含.SO文件,然后在JAVA里调用.SO里的函数。例子,可以看NDK里面的...
分类:
移动开发 时间:
2014-09-19 19:10:05
阅读次数:
408
Framework框架包含三个主要部分:服务端,客户端和Linux驱动 服务端包含两个重要类: WindowManagerService(Wms):作用是为所有的应用程序分配窗口,并管理这些窗口,包括分配窗口的大小,调节窗口的叠放次序,隐藏或者显示窗口,此处的窗口并不是Window类,而是一个Vie...
分类:
移动开发 时间:
2014-09-12 23:26:54
阅读次数:
303
开始系统学习Linux驱动,以前断断续续也玩玩了一下,开贴来系统学习Linux驱动。硬件平台是JZ2440-4.3 ARM9开发板,开发板运行系统版本Linux3.4.2内核(内核移植,下载等相关其他篇幅)。设置开发板系统IP,让开发板与主机、开发板与虚拟机互通。查看开发板ip/ # routeKe...
分类:
系统相关 时间:
2014-09-11 01:08:11
阅读次数:
272
驱动程序module的工作流程主要分为四个部分:
1、 insmod module
2、 驱动module的初始化(初始化结束后即进入“潜伏”状态,直到有系统调用)
3、 当操作设备时,即有系统调用时,调用驱动module提供的各个服务函数
4、 rmmod module
一、 驱动程序的加载
Linux驱动程序分为两种形式:一种是直接编译进内核,另一种是编译成module...
分类:
其他好文 时间:
2014-09-05 16:11:51
阅读次数:
202
一、分区和文件系统1.磁盘驱动器分成分区2.使用文件系统格式化分区以便用户存储数据默认文件系统:ext3(rhel5)、ext4(rhel6)、xfs(rhel7)其他常见文件系统包括:ext2和msdos(通常用于软盘)、iso9660(通常用于CD)、GFS和GFS2(通常用于SAN)二、索引节点1.索引节点表..
分类:
系统相关 时间:
2014-09-03 02:46:16
阅读次数:
295
本文通过TQ2440开发板上可外接的GPIO口GPG14连接蜂鸣器,通过控制GPG14引脚的高低电平的输出和高低电平输出之间的时间间隔来使蜂鸣器发出不同的声音。1.打开S3C2440的底板原理图找到GPIO,如下图所示:使用万用表先找到VDD5V那个引脚,然后对照图找到GPG14,将蜂鸣器的正极连上..
分类:
其他好文 时间:
2014-08-31 10:37:21
阅读次数:
320
本篇文章的驱动程序实现的要点:一是实现了设备文件的自动创建,不用每次运行驱动都要使用mknod指令自动创建设备文件,本文通过udev(mdev)来实现设备文件的自动创建。二是对LED灯的控制是通过直接设置相关GPIO的二进制位来实现,本文使用linux系统中提供的对S3C2410GPIO的操..
分类:
其他好文 时间:
2014-08-31 10:37:01
阅读次数:
264
最近由于要做TQ2440(ARM9)开发板上的驱动实验,所以要在主机(ubuntu13.10)上针对前面的目标板上的系统内核进行交叉编译。一,内核的交叉编译:1.准备2.6.30.4版本的内核源码包,这个我使用的是天嵌公司提供的内核源码包linux-2.6.30.4_20121214.tar.bz2。2.打开终端输入指..
分类:
系统相关 时间:
2014-08-31 10:36:51
阅读次数:
335