工具/软件:Linux
尊敬的 TI 专家:
我将 AM5718 IDK 板与 RT Linux SDK 配合使用、 摄像头模块为 Ov2659、在 Linux 登录期间、我可以获取 Ov2659驱动程序初始化信息、并通过 Linux 内核中的 v4l2框架进行注册:
[7.259926] ov2659 0-0030:Nemo ov2659_probe entry!!
[7.260085] ov2659 0-0030:GPIO 查找消费类断电
[7.260090] ov2659 0-0030:使用器件树进行 GPIO 查找
[7.260121] of_get_named_gpio_FLAGS:解析了节点的'Pwrdn-GPIO'属性)
[7.260133] ov2659 0-0030:Nemo 开始到 v4l2_Ctrl_handler_init!!
[7.262740] ov2659 0-0030:找到 OV2656传感器
[7.287523] ov2659 0-0030:已注册 ov2659 0-0030传感器驱动器!!
[8.898506] vip1-s0:端口 B:使用 subdev ov2659 0-0030进行捕获
但目前我们没有显示模块(显示模块正在订购)、因此我们无法运行双摄像头演示示例、此时我们仅使用一个摄像头模块。
我在 main.cpp 中修改了双摄像头演示、如下所示:
#include
#include
#include
#include "loopback.h"
int main (int argc、char * argv[])
{
printf ("Nemo start camera\n");
if (init_loopback ()<0){
/* TODO:确保退出正确发生*/
}
睡眠(5);
status.jpeg = true;
printf ("Nemo 进程框架!\n");
process_FRAME();
睡眠(1);
printf ("Nemo End streaming\n");
end_streaming();
printf ("Nemo 关闭摄像头\n");
exit_devices();
返回1;
}
然后、我遇到了分割故障:
root@am57xx-EVM:~#./dual_cameramera
Nemo 启动摄像头
捕捉0:打开的通道
捕捉0:能够流式传输
捕捉0:初始化成功完成
导出的缓冲区 FD = 6[13161.780648] Nemo v4l2_ctrl_handler_init_class
导出的缓冲区 FD = 8
导出的缓冲区 FD = 10
捕捉1:打开的通道
捕捉1:能够流式传输
VIDIoc_G_parm:器件的 ioctl 不合适
仅检测到一个摄像头
在 am57xx 处理器上运行演示
分段故障(转储内核)
root@am57xx-EVM:~#
在摄像机1上看起来失败、摄像机0看起来正常。 我想在文件夹/usr/share/camera-images 上创建相同的 jpeg 图像,如何修改代码以获得此预期结果?
非常感谢!
此致、
Nemo