Linux 驱动的写法
来源:互联网 发布:115 mac版 编辑:程序博客网 时间:2024/06/08 18:32
驱动的写法:
===========
2>看是char,块,还是网络设备
3>如果是char驱动考虑是否可不可以归类到char驱动的input,tty,fb,v4l2,alsa的几类子系统中,不可以则用直接访问的方法来写
问题:
一个spi接口的flash芯片,需要支持块擦除,写入,读取,校验等行为,如何写驱动?
驱动要用spi_driver进行封装,并准备spi_device;
思考:是char, block还是网络驱动?
可以直接写char驱动。
在ioctl命令中,完成块擦除,写入,读取,校验等操作;
flash芯片无法归类到input,tty,fb,v4l2,alsa等类型中,因此驱动不需要按照某个子系统的要求来设计
用misc设备的驱动的测试:
$>cd work/drv-arm/02led/
//测试led_test03.c
$>make
$>make install
$>make install-elf
//需修改Makefile,增加新的install-elf目标
$>adb shell
root@tiny4412>insmod /system/lib/modules/led_test03.ko
root@tiny4412>led01 /dev/myled on|off 0~3
root@tiny4412>cat /proc/led_misc
root@tiny4412>rmmod led_test03
//misc设备可以自动管理/dev下的设备文件,不用自己mknod
android驱动的测试流程:
$>cd work/drv-arm/02led/
$>make
$>make install
//编译.ko,安装到开发板上,需修改Makefile
$>adb shell
//登录开发板,后面内容在开发板上执行
root@tiny4412>insmod /system/lib/modules/led_test01.ko led=3
root@tiny4412>cat /proc/led_info
root@tiny4412>mknod /dev/myled c 55 0
root@tiny4412>echo on >/dev/myled //灯亮
root@tiny4412>echo off >/dev/myled //灯灭
root@tiny4412>exit
x86驱动的测试流程:
$>insmod char_test01.ko
//安装模块,自动在/proc下生成buf_info
$>cat /proc/buf_info
//了解设备信息,包括设备号等,下一步根据设备号手工创建设备文件
$>mknod /dev/mychar0 c 50 100
//创建设备文件
$>echo asfwqrwqee >/dev/mychar0
$>cat /dev/mychar0
//对设备进行读写测试
$>./user01 /dev/mychar0 reset
$>./user01 /dev/mychar0 resize 800
//向设备发命令测试
linux一切皆文件:
1. 普通文件(-) touch
2. 目录(d) mkdir
3. 字符设备文件(c) mknod
4. 块设备文件(b) mknod
5. 有名管道(p) mkfifo
6. socket文件(s) mksock
7. 符号连接(l) ln -s
0 0
- Linux 驱动的写法
- 类似linux驱动的写法
- 简单的linux杂项设备驱动的写法
- 数据库JDBC驱动的写法
- 块设备驱动的写法
- 2011-04-08 驱动的写法
- java各种数据库驱动的写法
- 设备驱动之一 - 多源文件驱动模块的Makefile写法
- linux kernel的一些写法
- linux makefile写法的学习
- linux下广播的写法
- Linux系统启动任务的写法
- linux驱动的i2c驱动
- 11-S3C2440驱动学习(七)嵌入式linux-字符设备的另一种写法及RTC驱动程序分析和字符设备驱动框架总结
- SWing的经典写法,了解事件驱动和内部类
- Linux的Epoll的通用写法
- linux的驱动问题
- linux驱动的架构
- 文档流 块级元素 行内元素
- 代码混淆与打包 Android
- c++ vector, set, map的用法总结
- 紫书动规 例题9-9 UVA
- Sevlet的生命周期
- Linux 驱动的写法
- Android内容提供程序
- 《程序猿的第n+3天》bootstrap做收缩导航
- 用户账号不可同时两处登入系统的控制
- 虚函数和纯虚函数的区别
- 整数高精度算法
- itchat 群用户搜索的踩坑记录
- codeforces round#404(div.2) C. Anton and Fairy Tale
- 使用jquery-datatable和bootsrap创建表格