基于海思HI3559CV100移植IMX178

2024-02-22 09:50

本文主要是介绍基于海思HI3559CV100移植IMX178,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主芯片:HI3559CV100

主芯片手册:Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南.pdf

主芯片MPP手册:HiMPP V4_Password_Removed.pdf

SENSOR:IMX178

SENSOR手册:IMX178LQJ-C_Data_Sheet.pdf

SDK:Hi3559AV100R001C02SPC010


IMX178的移植,主要涉及SENSOR端寄存器的配置、主芯片端VI各模块的配置,本文主要基于这两点进行移植过程的描述,其他功能模调用、PINMUX配置、驱动调用、Makefile修改等,可参考IMX334。

IMX178调试

根据SDK中的IMX334,首先拷贝sony_imx334文件夹,重命名为sony_imx178,并将所有334相关字段全部改为178

sony_imx178文件夹中主要包含imx178_cmos.c(图像质量相关)、imx178_sensor_ctl.c(寄存器配置相关),IMX178的调试主要包括I2C调试和寄存器配置,主要集中在imx178_sensor_ctl.c文件中

IMX178的I2C调试

参考IMX178手册,获取I2C Slave Address为0x34,Slave Address长度为8bit,Register Address长度为16比特,高位在前、低位在后

 

I2C写寄存器写入方式如下

int imx178_write_register(VI_PIPE ViPipe, int addr, int data)
{if (0 > g_fd[ViPipe]){return HI_SUCCESS;}int idx = 0;int ret;char buf[8];if (imx178_addr_byte == 2){buf[idx] = (addr >> 8) & 0xff;idx++;buf[idx] = addr & 0xff;idx++;}else{buf[idx] = addr & 0xff;idx++;}if (imx178_data_byte == 2){buf[idx] = (data >> 8) & 0xff;idx++;buf[idx] = data & 0xff;idx++;}else{buf[idx] = d

这篇关于基于海思HI3559CV100移植IMX178的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/734871

相关文章

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本  1.2 认识Nano版本 2 STM32F446U上移植RT-Thread  2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet  2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码  2.2.3.

libmad音频解码库-Linux交叉编译移植

下载并解压libmad-0.15.1b.tar.gz 下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz $tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b 1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

s3c2440---PWM使用之蜂鸣器驱动移植

一、蜂鸣器驱动介绍 1.1.什么是蜂鸣器               蜂鸣器是一种简单的声响发生器,常用于电子产品中作为警示或提醒作用。其基本原理是通过交替改变直流电的电压方向来产生声音,一般使用交替电流产生声音会比较稳定。 1.2.蜂鸣器的类别 1.有源蜂鸣器 1)结构原理 有源蜂鸣器内部自带振荡源,只需接通电源即可发声。内部电路会自动产生一定频率的振荡信号,从而驱动蜂鸣器发声。

【GD32】---- 移植工程模板及点灯测试

1 新建模板文件夹 新建一个名叫03_GD32TemplateProject的文件夹,用于建造工程模板 2 移植官方库文件 在模板文件夹里新建5个文件夹,分别存放官方库文件和系统驱动文件 01_main 存放main函数 02_Startup 存放系统启动文件 03_System 存放官方的系统文件 04_Firmware_PeripheralDriver 存放官方

[rk3588 ubuntu20.04]移植ROS2

目录 1 使用命令行安装ROS2 1.1设置语言 1.2添加源 1.3安装ROS2 1.4设置环境变量 2 在编译源码阶段安装ROS2 2.1调整roofts.img大小 2.2 安装ROS2 3 ROS2功能测试 1 使用命令行安装ROS2 1.1设置语言         设置语言为UTF-8。 sudo apt update && sudo apt insta

新路程----海思 uboot(1)

先看start.s吧 .globl _start //.global声明_start为全局符号,_start就会被连接器链接到,也就是链接脚本中的入口地址了。_start: b reset //跳转到reset 下面的代码是设置arm的异常向量表ldr pc, _undefined_instruction //把label后的数据或者指令内容赋值给pcldr pc, _softw

新路程------编译海思代码遇到的问题

问题如下,解决方案就在问题下方,我的ubuntu版本是14.04 ********************************************************************** “mkimage” command not found – U-Boot images will not be built sudo apt-get install u-boot-

新路程--------安装海思Hi3516A/Hi3516D SDK出现问题

搞板子首先要配置开发环境,这个编译的要求不高,所以虚拟机就可以搞定了,于是我就在windows上装了vm然后安装了虚拟机 vm的版本是11,ubuntu的版本是12.04,别的我没试过,至少可以保证这两个是ok的。    然后装sdk,根据使用说明来,先copy sdk到home目录下(哪个目录应该无所谓,为了方便起见放在了home里),然后点击那个sdk.unpack,结果出问题了