【OK210试用体验】项目进展(1):基于ARM + FPGA的智能监控系统之——内核修改 - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】项目进展(1):基于ARM + FPGA的智能监控系统之——内核修改

7宝 ( 楼主 ) 2015-9-12 11:11:05  只看该作者 倒序浏览
好几天没更新帖子了!因为这两天一直在弄FPGA和ARM直接的视频通信这一块。今天终于有点时间,记录一下项目的进展,今天主要说的一点是关于Android系统内核的一点修改,因为我之前就计划使用摄像头接口作为FPGA和ARM的通信接口,所以,如果想要实现这一目标,必要的内核修改是肯定的,不过经过我的尝试,内核修改的步骤非常简单,回到正题:
这里,七宝同学使用OV9650这一驱动模板进行修改,其他型号的驱动修改应该是一致的,前面的一篇帖子里我尝试了OV9650的接驳测试:https://bbs.elecfans.com/jishu_509798_1_2.html首先要通过这个实体摄像头来测试一下我们的驱动工作是否正常,这对于以后进行的时序模拟的意义非常大,如果驱动有问题,后面就无法进行下去了。
正常情况下,我们的OK210开机进入安卓系统后,点击拍照按钮后,系统会进行摄像头的Probe,也就是探测,并初始化OV9650的关键寄存器,配置其工作模式。如果失败,则会打印一串信息:




并且,Android桌面也会出现摄像头无响应的提示:




通过驱动代码我们可以了解到,出现这个情况是因为初始化函数失败,返回了一个ENDDEV导致的,我们找到OV9650所在驱动文件夹,位于/android-kernel-samsung-dev/drivers/media/video/samsung/fimc 文件夹下的OV965x.h和OV965x.c,这里我们主要修改的是OV965x.c
打开OV965x.c,找到大约614行的ov965x_init函数:


通过摸索发现,只要修改这个函数,就可以让S5PV210在没有摄像头的情况下通过初始化函数,并且显示出FPGA送来的图像信息,否则即使FPGA送来了图像信息,S5PV210也会因为IIC总线没有检测到摄像头而报错。首先我们看到飞凌已经注释了一段程序,这段程序我们不用管它,将下面的:





改为:(将1改成0)




到这里还没完,还需要将最后面的一个函数:




注释为:




这里提醒,一定要留着最后面两行代码,那两行代码是成功初始化后的返回信息,注释了会出问题。
好了,就两步,我们可以成功“欺骗”S5PV210,让其顺利通过初始化,这样才能接受FPGA的图像数据。
重新编译并烧写到flash,开机,进入系统,当我们再次打开摄像头,串口显示信息如下:




错误信息没了!再看Android屏幕,此时是黑屏,当然了,我们还没有送入视频数据,肯定是黑屏,并且屏幕没有响应,这个没有关系,等后面我们送入视频数据后,就正常了。
后面会逐步更新项目进展情况,敬请期待。

2个回复

HelloWii 发表于 2015-9-13 09:08:07
不错,,,期待楼主后面的分享。。。
栾新科 发表于 2015-10-26 11:58:38
楼主,怎么没有见到最新的帖子更新呢,期待中......
您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-12-22 10:51 , Processed in 1.119519 second(s), Total 63, Slave 44 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表