【Rayeager PX2分享】最简单helloworld驱动编写

论坛里应该有一部分人是想学驱动,殊不知道该怎么入门吧,在这里我教你们写一个helloworld的简单随linux内核加载的驱动。php

1.首先在/kernel/drivers下建一个新的文件夹hello,在文件夹里添加四个文件分别是hello.c,hello.hKconfig,Makefile,linux

hello.c文件里也有注释,这个文件主要就是为了注册和初始化设备文件以及定义驱动接口,主要是用啦file_operations这个结构体,你们想了解驱动能够先了解这个,这个程序里的注释能够帮助你们理解下一个简单驱动的结构工具

2.修改Kconfig,内容以下测试

  

3.修改Makefile,内容以下ui

  

4.返回dirvers目录下修改Kconfig,在最后加一句:source"drivers/hello/Kconfig"spa

5.修改Makefle文件,在里面添加一句   obj-$(CONFIG_HELLO_TEST)       += hello/接口

6.返回kernel目录下,执行makemenuconfig 在/driver路径下找到设备,选定(注:这里设备的名字和咱们以前写的Kconfig有必定的关系,修改Kconfig的相应的参数,能够改变menu下的名字)ip

,而后返回get

makekernel.imgspark

7,而后建立测试文件,在driver目录下建立目录hellotest,加入两个文件test和Android.mk

而后mm,在sdk/out/target/product/rkpx2/system/bin目录下找到测试文件,(如mm没法执行,可在根目录下执行下sourcebuild/envsetup.sh)

8.最后测试下结果,在window目录下,用adb工具把测试文件push进板中,而后在文件所在的位置给文件赋上权限,执行chmod777  test

执行./testhello 或./testgoodbye可看到结果以下,即驱动可成功加载

 


 hellotest.zip 

 hello.zip

相关文章
相关标签/搜索