1 Linux设备驱动系列----驱动程序遵循的步骤
时间:2010-10-26 来源:abanda
写个能用的驱动还是很简单的,它有一般可遵循步骤。
测试 测试平台:arm9 s3c2440 编译器: arm-linux-gcc-4.3.2 测试源码:
1.驱动加载与卸载
此处指代码级的,并非insmod rmode命令 module_init(initfn); module_exit(exitfn); 其作用控制驱动能够进入,退出内核2.初始化函数(initfn)
step1 申请系统资源 此步骤针对IO驱动,其它驱动可省略 核心函数:request_region,request_mem_region。 step2 申请设备号 核心函数:register_chrdev_region(静态) alloc_chrdev_region(动态) step3 申请驱动内存 核心函数:kmalloc step4 初始化硬件设施并加载设备到内核 核心函数:cdev_add3.退出函数(exitfn)
step 1 卸载内核中的设备 核心函数:cdev_del step 2 释放驱动内存 核心函数:kfree step 3 释放设备号 核心函数:unregister_chrdev_region step 4 释放系统资源 此步骤针对IO驱动,其它驱动可省略 release_region,release_mem_region测试 测试平台:arm9 s3c2440 编译器: arm-linux-gcc-4.3.2 测试源码:
|
相关阅读 更多 +