头像-29080

穿prada的008

  • 福建省福州市
  • 嵌入式
  • 消费电子

个人成就

获得 0 次赞

帮助过0人

hello.zip

论坛里应该有一部分人是想学驱动,却不知道该怎么入门吧,在这里我教大家写一个helloworld的简单随linux内核加载的驱动。 1.首先在/kernel/drivers下建一个新的文件夹hello,在文件夹里添加四个文件分别是hello.c,hello.hkconfig,makefile, hello.c文件里也有注释,这个文件主要就是为了注册和初始化设备文件以及定义驱动接口,主要是用啦file_operations这个结构体,大家想了解驱动可以先了解这个,这个程序里的注释可以帮助大家理解下一个简单驱动的结构 2.修改kconfig,内容如下   3.修改makefile,内容如下   4.返回dirvers目录下修改kconfig,在最后加一句:source"drivers/hello/kconfig" 5.修改makefle文件,在里面添加一句   obj-$(config_hello_test)       += hello/ 6.返回kernel目录下,执行makemenuconfig 在/driver路径下找到设备,选定(注:这里设备的名字和我们之前写的kconfig有一定的关系,修改kconfig的相应的参数,可以改变menu下的名字)    ,然后返回 makekernel.img 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可看到结果如下,即驱动可成功加载  

so文件.zip

反复查阅资料,确认android只需要在kernel中开启uvc支持就能正常使用该标准的摄像头,现在不能使用是怎么回事呢?在多次实现无果后,john只要向chipspark的攻城狮求助。很快,他们就给出了解决方案。具体操作如下: 1、menuconfig选择uvc:(开启kernel的uvc特性) device drivers  --->   multimedia support  --->   video capture adapters  --->   v4l usb devices  --->   usb video class (uvc)          uvc input events device support 2、menuconfig去选soc:(调整rksoc的支持) device drivers  ---> multimedia support  --->   video capture adapters  ---> rockchip supported soc cameras  ---> < > rkxx camera sensor interface driver 3、替换librk_on2.so/camera.rkpx2board.so库:(附在后面) adb push librk_on2.so  /system/lib/ adb push camera.rkpx2board.so /system/lib/hw/       adb的操作方式为,先解压附件提供的adb文件夹到电脑的任意目录,随后px2连上电脑,电脑上打开adb文件夹,在文件夹空白处按住shift并点击鼠标右键,选择“在此处打开命令窗口”       okay    按照刚才的配置编译好kernel,刷入开机~    usb摄像头完美呈现!附上luck8742的测试效果图:       简单总结下这个问题的处置,其实px2作为android的开发板,其本身具备支持uvc标准摄像头的能力,只是在kernel的配置上需要进一步的开启。同时,rk本身对uvc的摄像头,尤其是这次遇到的c270这类采用mpeg编码的摄像头有相应解码的库文件,通过进一步更新库文件即可实现对uvc摄像头的支持哦~!感谢攻城狮的快速反应,感谢广大芯客的大力支持。希望可以跟大家分享更多,谢谢