arm-linux驱动开发
文章平均质量分 73
又是好风景
这个作者很懒,什么都没留下…
展开
-
操作qtopia2.2.0电池图标显示电池电量
操作qtopia2.2.0电池图标显示电池电量 想让qtopia2.2.0下的电池图标显示电池的实际状态,一开始不知道怎么操作,在网上也找不到相应的教程,也没有qtopia2.2.0的api文档。刚开始感觉没有办法解决,想了好多替代方法,感觉都不好,最后只好去qtopia2.2.0的源码中去寻找,看看能不能找到点蛛丝马迹(一开始不想去源码里找,感觉太麻烦,但事实证明看源码原创 2014-03-05 14:47:34 · 1599 阅读 · 0 评论 -
【linux驱动分析】之dm9000驱动分析(一):dm9000原理及硬件分析
【linux驱动分析】之dm9000驱动分析(一):dm9000原理及硬件分析 【linux驱动分析】之dm9000驱动分析(二):定义在板文件中的资源和设备以及几个宏 【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析 【linux驱动分析】之dm9000驱动分析(四):net_device结构体 【linux驱动分析】之dm9000驱动分原创 2014-04-21 16:27:11 · 1694 阅读 · 0 评论 -
【linux驱动分析】之dm9000驱动分析(二):定义在板文件中的资源和设备以及几个宏
【linux驱动分析】之dm9000驱动分析(一):dm9000原理及硬件分析【linux驱动分析】之dm9000驱动分析(二):定义在板文件中的资源和设备以及几个宏【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析【linux驱动分析】之dm9000驱动分析(四):net_device结构体【linux驱动分析】之dm9000驱动分析(五):另外几个重要的结构体【linux驱动分析】之dm9000驱动分析(六):dm9000_init和dm9000_probe的实现【l原创 2014-04-21 16:18:06 · 1510 阅读 · 0 评论 -
【linux驱动分析】misc设备驱动
misc设备驱动,又称混杂设备驱动。misc设备驱动共享一个设备驱动号MISC_MAJOR,它在include\linux\major.h中定义: #define MISC_MAJOR 10miscdevice的结构体如下,它在include\linux\miscdevice.h中定义:struct miscdevice { int minor;原创 2014-04-22 13:49:04 · 1246 阅读 · 0 评论 -
【linux设备模型】之platform设备驱动
一、platform总线、设备和驱动 platform是一种虚拟总线,相应的设备称为platform_device,相应的驱动称为platform_driver。platform_device定义在中: 1 struct platform_device { 2 const char * name; 3 int id; 4原创 2014-04-22 13:46:33 · 1571 阅读 · 0 评论 -
【linux驱动分析】之dm9000驱动分析(七):dm9000的卸载挂起和恢复以及打开和停止
分析dm9000的卸载,挂起和恢复,以及dm9000的打开和停止。涉及到的函数为: 1 static int __devexit 2 dm9000_drv_remove(struct platform_device *pdev) 3 static int 4 dm9000_drv_suspend(struct device *dev) 5 static int 6 dm9原创 2014-04-22 13:36:28 · 1282 阅读 · 2 评论 -
【linux驱动分析】之dm9000驱动分析(六):dm9000_init和dm9000_probe的实现
一、dm9000_init打印出驱动的版本号,注册dm9000_driver驱动,将驱动添加到总线上,执行match,如果匹配,将会执行probe函数。1 static int __init2 dm9000_init(void)3 {4 printk(KERN_INFO "%s Ethernet Driver, V%s\n", CARDNAME, DRV_VERSION);原创 2014-04-22 13:35:16 · 1874 阅读 · 0 评论 -
【linux驱动分析】之dm9000驱动分析(五):另外几个重要的结构体
除了sk_buff和net_device,dm9000驱动中用到的另外几个重要的结构体一、platform_driver定义在include/linux/platform_device.h中,代码如下:1 struct platform_driver {2 int (*probe)(struct platform_device *);3 int (*re原创 2014-04-22 13:33:59 · 1218 阅读 · 0 评论 -
【linux驱动分析】之dm9000驱动分析(四):net_device结构体
net_device结构体,定义在include/linux/netdevice.h中,这是一个很复杂的结构体,先把代码清单列出来,再用到的过程中,逐步分析,最后来这里做个总结。下面的代码是linux-2.6.38中的。 1 /* 2 * The DEVICE structure. 3 * Actually, this whole structure is原创 2014-04-22 13:31:31 · 1634 阅读 · 0 评论 -
【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析
【linux驱动分析】之dm9000驱动分析(一):dm9000原理及硬件分析 【linux驱动分析】之dm9000驱动分析(二):定义在板文件中的资源和设备以及几个宏 【linux驱动分析】之dm9000驱动分析(三):sk_buff结构分析 【linux驱动分析】之dm9000驱动分析(四):net_device结构体 【linux驱动分析】之dm9000驱动分原创 2014-04-21 16:30:58 · 1645 阅读 · 0 评论 -
linux块设备驱动
和字符驱动相比 ,在对磁盘,flash等设备进行读写时,块设备驱动可以进行优化合并等操作,提高了操作效率。 以下代码来自linux-2.6.38。LDD3电子书网页版的地址:http://oss.org.cn/kernel-book/ldd3/一、注册这个任务的函数是 register_blkdev(在 中定义):int register_blkdev(unsigned in原创 2014-04-21 16:01:28 · 919 阅读 · 0 评论 -
【linux驱动分析】ioctl函数的使用
一、用户空间的ioctl int ioctl(int fd, unsigned long cmd, void *data);第一个参数是文件描述符,第二个参数代表传递的命令,它会原样传递给驱动,第三个参数是可选类型的,主要根据第二个参数选择,第三个参数无论是整数还是指针,都会以unsigned long的形式传递给驱动程序。二、内核空间的ioctl原创 2014-04-23 13:17:43 · 4680 阅读 · 0 评论