jz_x1600e-sensor调试

jz_x1600e-sensor调试 阿帅 2023-12-27 14:51:59 1090

文章目录

概述

开发板将摄像头的视频输出到lcd屏幕上面,本文记录该数据流所涉及的所有模块

硬件信息

    sensor型号:SC031, DVP连接方式
    控制信息通过i2c总线0连接至sensor
    lcd型号:kwh035

数据流

视频数据流如下:

    sensor -> isp -> dsp -> cim -> soc -> frame_buffer -> lcd

cim输出的数据格式:在camera驱动的sensor_attribute_check_init中设置。需要根据sensor的数据格式来确定
sensor输出给cim的数据格式:在sensor驱动中sensor_attr结构体中指定

主要涉及的模块

概述

底层:module_driver:
    devices/camera/x1600/sc031_dvp
    soc/x1600/camera/
    soc/x1600/fb/
    device/lcd/x1600/lcd_kwh035

上层:
libhardware2:
    src/cmds/camera_software_preview.c
libutils2:
    src/lib/image_format_conversion/*

camera驱动:soc/x1600/camera

相当于数据流中的cim层

cim_init:
    struct jz_cim_data *drv = &jz_cim_dev;//全局
    主要初始化drv的mclk和gate clk和cim_misc_fops

注意这里cim_init中并没有对drv进行注册

cim_misc_fops中重要的接口:
.mmap           = cim_mmap,
.unlocked_ioctl = cim_ioctl, 

camera_register_sensor
    将sensor结构体加入drv中,并调用misc_register注册自身

sensor驱动:devices/camera/x1600/sc031_dvp

相当于dsp和cim之间的硬件接口层

init_sc031
    //注册i2c驱动和i2c设备,为下发控制命令做准备
    i2c_add_driver(&sc031_driver)
    i2c_register_device(&sensor_sc031_info, i2c_bus_num);

sc031_driver.sc031_probe
    init_gpio
    //将sensor信息和相关接口注册到cim框架中
    camera_register_sensor(&sc031_sensor_attr);

fb驱动:soc/x1600/fb

frame buffer驱动
提供jz_fb_register_lcd接口,用于注册lcd设备
具体看相关源码

lcd驱动:device/lcd/x1600/lcd_kwh035

调用jzfb_register_lcd注册自身
具体看相关源码

应用:src/cmds/camera_software_preview.c

open(camera device)// camera_device即camera驱动调用misc_register注册后得到的文件映射
ioctl(fd, CMD_get_info, info);//获取sensor info
mmap;//sensor输出的数据地址
camera_power_on
camera_stream_on
fb_open //打开fb设备
void *cam_mem = camera_wait_frame(cam_fd);//获取sensor原始数据
y8_to_rgb;//图像数据转换
fb_pan_display//将转换后的数据显示至lcd
camera_put_frame//将内存中cam_mem同步到dma中
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
阿帅
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
阿帅
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区