fs4412开发板学习笔记(八)
来源:互联网 发布:网络竞价排名 编辑:程序博客网 时间:2024/05/29 18:04
硬件相关:初始化摄像头模块static int cmos_ov3640_probe(struct i2c_client *client, const struct i2c_device_id *id){ int ret; printk("%s %s %d\n",__FILE__,__FUNCTION__,__LINE__); /*2.3 硬件相关*/ /*2.3.1 映射相应的寄存器*/ 通过底板原理图的摄像头模块 中如:CAM_PCLK查找到核心板中 对应的GPIO为GPJ0_0 GPJ0_7 GPJ1_0 GPJ1_4 通过查看4412的芯片手册可知GPJ的地址为 GPJ0CON:0x11400240 GPJ0DAT : 0x11400244 GPJ1CON:0x11400260 GPJ1DAT : 0x11400264 //================================ GPJ0CON=ioremap(0x11400240, 4); GPJ0DAT=GPJ0CON+1; GPJ0UP=GPJ0DAT+1; GPJ1CON=ioremap(0x11400260, 4); GPJ1DAT=GPJ1CON+1; GPJ1UP=GPJ1DAT+1; /*2.3.2 设置相应的GPIO用于CAMIF(摄像头接口)*/ cmos_ov3640_gpio_cfg(); /*2.3.3 复位一下CAMIF控制器*/ cmos_ov3640_camif_reset(); /*2.3.4 设置、使能时钟(使能HCLK、使能并设置CAMCLK=24MHz)*/SEC_Exynos 4412 P1924 cmos_ov3640_clk_cfg(); /*2.3.5 复位一下摄像头模块*/问:问为什么需要复位摄像头模块?答:IIC能够正常操作CMOS摄像头模块内部的寄存器的前提是: --提供符合它需求的系统时钟(CAMCLK) --需要给它一个复位信号问:怎样才能复位摄像头模块?答:通过操作CAMIF控制器中相应的寄存器,让CAMRST发出复位信号,从而复位摄像头模块,具体操作间驱动源码 /*2.2 注册*/ //-1表示让系统自动找一个设备节点号 ret=video_register_device(&cmos_ov3640_vdev,VFL_TYPE_GRABBER,-1); return 0;}static void cmos_ov3640_gpio_cfg(){ /*设置相应的GPIO用于CAMIF(摄像头接口)*/ *GPJ0CON=0x22222222; *GPJ0DAT=0; *GPJ1CON=0x22222; *GPJ1DAT=0; /*使能上拉电阻*/ *GPJ0UP=1; *GPJ1UP=1;}static void cmos_ov3640_camif_reset(){ /*复位CAMIF控制器*/ 从芯片手册:SEC_Exynos 4412 SCP_Users Manual_Ver.0.10.00_Preliminary.pdf P1942可知CIGCTRLn (n = 0 to 3) Base Address: 0x1180_0000, 0x1181_0000, 0x1182_0000, 0x1183_0000 Address = Base Address + 0x0008, Reset Value = 0x2001_0480 SwRst Bit[31] camera interface software reset}
0 0
- fs4412开发板学习笔记(八)
- fs4412开发板学习笔记(一)
- fs4412开发板学习笔记(二)
- fs4412开发板学习笔记(三)
- fs4412开发板学习笔记(四)
- fs4412开发板学习笔记(五)
- fs4412开发板学习笔记(六)
- fs4412开发板学习笔记(七)
- fs4412开发板学习笔记(九)
- fs4412开发板学习笔记(十)
- fs4412开发板学习笔记(十一)
- fs4412开发板学习笔记(十二)
- fs4412开发板学习笔记(十三)
- fs4412开发板学习笔记(十四)
- fs4412开发板学习笔记(十五)
- fs4412开发板学习笔记(十六)
- fs4412开发板学习笔记(十七)
- fs4412开发板学习笔记(十八)
- 进制转换
- Codeforces Round #327 (Div. 1) E. Birthday【AC自动机+网络流】
- codeforces#292B_Drazil and His Happy Friends-暴力水题
- Codeforces 590B Chip 'n Dale Rescue Rangers
- Cookie深度解析
- fs4412开发板学习笔记(八)
- NSOperation的介绍
- 文件读写
- 【建议112--笔记】受检异常和非受检异常
- Longest Palindromic Substring
- 批量修改文件后缀名
- C语言swap函数总结
- 两台电脑怎么共享文件
- [Leetcode]Gas Station