Linux设备驱动
gqwang2005
爱好计算机、音乐、电影、运动
展开
-
linux板级设备的初始化过程
出处:start_kernel() -> setup_arch(&command_line) -> mdesc =setup_machine(machine_arch_type) -> list = lookup_machine_type(nr)-> return struct machine_desc. 内核在启动的时候就是最先运行start_kernel() ,然后她就转载 2009-01-07 14:25:00 · 595 阅读 · 0 评论 -
Linux2.6.21之ARM2410电源管理分析
由于arm系统中没有bios设备, 所以要使用APM(Advanced Power Management),只能为arm系统创建一个虚拟的字符设备来模拟APM与用户空间进行通讯. 这就是drivers/char/apm-emulation.c文件。drivers/char/apm-emulation.c: 此文件实现了一个misc设备apm_bios,实质上也是一个字符设原创 2009-01-07 20:53:00 · 2229 阅读 · 0 评论 -
LCD & framebuffer开发心得
Linux内核:2.6.24 帧缓冲设备属于字符设备,采用了“文件层-驱动层”的接口方式。在驱动层上,Linux为帧缓冲设备定义的接口为struct fb_info结构。在文件层次上,Linux为其定义了下面的操作函数:struct file_operations。 软件运行流程:在文件层次上,原创 2009-01-11 14:28:00 · 900 阅读 · 0 评论 -
如何参与Linux内核开发
Chinese translated version of Documentation/HOWTOIf you have any comment or update to the content, please contact theoriginal document maintainer directly. However, if you have problemcommun转载 2009-01-12 10:50:00 · 1082 阅读 · 0 评论 -
如何使用proc文件系统让用户空间和内核空间进行交互
参考:http://www.ibm.com/developerworks/cn/linux/l-proc.html下面再给出一个proc系统中write_proc函数的例子:static int usb_power = 1;static int usb_proc_write(struct file* file, const char* buffer, unsigned long c原创 2009-02-16 08:43:00 · 776 阅读 · 0 评论 -
编译内核模块命令
$ make INSTALL_MOD_PATH=xxx modules_install其中,INSTALL_MOD_PATH指定模块的安装路径。原创 2009-04-05 15:40:00 · 533 阅读 · 0 评论 -
使用nopage方法重新映射RAM
在驱动程序中,使用remap_pfn_range函数映射内存中的保留页(如X86系统中的640KB~1MB区域)和设备IO内存。而使用nopage函数来映射RAM。static char data[PAGE_SIZE];void scullp_vma_open(struct vm_area_struct *vma) { }void scullp_vma_close(struct vm_ar原创 2009-06-08 15:28:00 · 1860 阅读 · 0 评论