.Hisi 3516d_ov4689_5658调试

news/2024/12/2 9:50:05/


-----------------------------------------------------------------------------------------------------------------
修改sample 模块 下面的Makefile.param 进行修改
SENSOR_TYPE ?= SONY_IMX178_LVDS_1080P_30FPS
改为
#SENSOR_TYPE ?= SONY_IMX178_LVDS_1080P_30FPS

#SENSOR_TYPE ?= OMNIVISION_OV4689_MIPI_1080P_30FPS
改为:
SENSOR_TYPE ?= OMNIVISION_OV4689_MIPI_1080P_30FPS

..\mpp\sample\common\sample_comm_vi.c 修改如下:
combo_dev_attr_t MIPI_4lane_SENSOR_OV4689_12BIT_ATTR =
{
    .input_mode = INPUT_MODE_MIPI,
    {

        .mipi_attr =
        {
            RAW_DATA_12BIT,
            {1, 0, 2, 3, -1, -1, -1, -1}
        }
    }
};

改为

combo_dev_attr_t MIPI_4lane_SENSOR_OV4689_12BIT_ATTR =
{
    .input_mode = INPUT_MODE_MIPI,
    {

        .mipi_attr =
        {
            RAW_DATA_12BIT,
            {0, 1, 2, 3, -1, -1, -1, -1}
        }
    }
};

解释,就是把 img_size 变成了1 而wdr_mode 设置为0 禁用。
typedef struct
{
    img_size_t          img_size;                   /* oringnal sensor input image size */
    wdr_mode_e          wdr_mode;                   /* WDR mode */
    lvds_sync_mode_e    sync_mode;                  /* sync mode: SOL, SAV */
    raw_data_type_e     raw_data_type;              /* raw data type: 8/10/12/14 bit */
    lvds_bit_endian     data_endian;                /* data endian: little/big */
    lvds_bit_endian     sync_code_endian;           /* sync code endian: little/big */
    short               lane_id[LVDS_LANE_NUM];     /* lane_id: -1 - disable */

    /* each vc has 4 params, sync_code[i]:
       sync_mode is SYNC_MODE_SOL: SOF, EOF, SOL, EOL
       sync_mode is SYNC_MODE_SAV: invalid sav, invalid eav, valid sav, valid eav */
    unsigned short      sync_code[LVDS_LANE_NUM][WDR_VC_NUM][SYNC_CODE_NUM];
} lvds_dev_attr_t;

重新运行,成功出现图像。

---------------------------------------------------------------------------------------------------------------
二。 调试bv_test 模块
1.
修改sensor Type, 打开bv_test 上一级目录中的Makefile.param:
SENSOR_TYPE ?= SONY_IMX178_LVDS_1080P_30FPS
改为
#SENSOR_TYPE ?= SONY_IMX178_LVDS_1080P_30FPS

#SENSOR_TYPE ?= OMNIVISION_OV4689_MIPI_1080P_30FPS
改为:
SENSOR_TYPE ?= OMNIVISION_OV4689_MIPI_1080P_30FPS

2.
修改W:\mpp\project\bv_test\bv_hal.c
PIC_SIZE_E enPicSize = PIC_HD1080; 

HI_MPI_VB_Init 初始化失败:
修改:缓存池个数,修改为4个
 stVbConf.astCommPool[0].u32BlkCnt  = u32ViChnCnt * 4;
 
 [SAMPLE_COMM_VPSS_StartGroup]-88: HI_MPI_VPSS_CreateGrp failed with 0xa0078010!
[bv_hal_start]-107: start VPSS GROUP failed!

3.
Error:
    mmz_userdev:ioctl_mmb_alloc: hil_mmb_alloc(, 921600, 0x00000000, 0, ) failed!
    System alloc mmz memory failed!
    [SAMPLE_COMM_IVE_CreateImage]-894: Mmz Alloc fail,Error(0xffffffff)

Index: bv_core.c
===================================================================
-#define MAX_GRAY_IMG   64
+#define MAX_GRAY_IMG   10

4 .
W:\mpp\project\common\sample_comm_vi.c 修改如下:
combo_dev_attr_t MIPI_4lane_SENSOR_OV4689_12BIT_ATTR =
{
    .input_mode = INPUT_MODE_MIPI,
    {

        .mipi_attr =
        {
            RAW_DATA_12BIT,
            {1, 0, 2, 3, -1, -1, -1, -1}
        }
    }
};

改为

combo_dev_attr_t MIPI_4lane_SENSOR_OV4689_12BIT_ATTR =
{
    .input_mode = INPUT_MODE_MIPI,
    {

        .mipi_attr =
        {
            RAW_DATA_12BIT,
            {0, 1, 2, 3, -1, -1, -1, -1}
        }
    }
};

============================================================================
如果修改为 ov4689 4M

打开 SENSOR_TYPE ?= OMNIVISION_OV4689_MIPI_4M_30FPS
修改W:\mpp\project\bv_test\bv_hal.c
PIC_SIZE_E enPicSize = PIC_2592x1520; 
stVbConf.astCommPool[0].u32BlkCnt  = u32ViChnCnt * 2;

bv_core.c
#define MAX_GRAY_IMG   4

W:\mpp\project\common\sample_comm_vi.c 修改如下:
combo_dev_attr_t MIPI_4lane_SENSOR_OV4689_12BIT_ATTR =
{
    .input_mode = INPUT_MODE_MIPI,
    {

        .mipi_attr =
        {
            RAW_DATA_12BIT,
            {1, 0, 2, 3, -1, -1, -1, -1}
        }
    }
};

改为

combo_dev_attr_t MIPI_4lane_SENSOR_OV4689_12BIT_ATTR =
{
    .input_mode = INPUT_MODE_MIPI,
    {

        .mipi_attr =
        {
            RAW_DATA_12BIT,
            {0, 1, 2, 3, -1, -1, -1, -1}
        }
    }
};


===================================5658 ERRoR ===================================================
sion
=============SAMPLE_COMM_VI_SetMipiAttr enWDRMode: 0
linear mode
-------OV ov5658 Sensor 5M30fps Initial OK!-------
u32Width:720, u32Square:1
[hal_init_fb]-103: Put variable screen info failed!
process_list_init
MMB LEAK(pid=1128): 0x841FE000, 3686400 bytes, ''
mmz_userdev_release: mmb<0x841FE000> mapped to userspace 0xb699e000 will be force unmaped!
MMB LEAK(pid=1128): 0x84582000, 4915200 bytes, ''
mmz_userdev_release: mmb<0x84582000> mapped to userspace 0xb64ee000 will be force unmaped!
MMB LEAK(pid=1128): 0x84A32000, 1228800 bytes, ''
mmz_userdev_release: mmb<0x84A32000> mapped to userspace 0xb63c2000 will be force unmaped!
MMB LEAK(pid=1128): 0x84B5E000, 3686400 bytes, ''
mmz_userdev_release: mmb<0x84B5E000> mapped to userspace 0xb603e000 will be force unmaped!
MMB LEAK(pid=1128): 0x84EE2000, 4915200 bytes, ''
mmz_userdev_release: mmb<0x84EE2000> mapped to userspace 0xb5b8e000 will be force unmaped!
Segmentation fault

修改 
长和宽
 


http://www.ppmy.cn/news/133599.html

相关文章

【linux】程序找不到动态库.so的解决办法|查看.so动态库信息|.so动态库加载顺序

目录 找不到.so解决方法 方法一&#xff1a;添加环境变量 方法二&#xff1a;复制so文件到lib路径 方法三&#xff1a;&#xff08;推荐&#xff09;添加ldconfig寻找路径 方法四&#xff1a;在编译目标代码时指定该程序的动态库搜索路径 让程序在本目录找到库.so 其他命…

STM32与DM9000A调试(一)

总体描述&#xff1a; DM9000A的PHY 能够以10BASE-T 的标准在UTP3\4\5或者以100BASE-T的标准在UTP5上接口通信。它的自动协商功能是够自动配置DM9000A最大地发挥出自身性能。它同时支持IEEE 802.3X全双工数据流通信。 结构图&#xff1a; 引脚配置 …

MTK Android Led框架分析

1 驱动部分 这部分主要根据驱动源码的初始化部分进行分析 1.1 mtk_leds_drv 路径&#xff1a;/kernel-4.14/drivers/misc/mediatek/leds/mtk_leds_drv.c mt65xx_leds_probe→ *cust_led_list mt_get_cust_led_list → get_cust_led_dtsi //根据leds_name数组以及设备树初始…

Lwip中实现DM9000/DM9003驱动之二

接上文Lwip中实现DM9000/DM9003驱动之一_龙赤子的博客-CSDN博客 目录 四&#xff1a;DM9003EP介绍 1&#xff0e;芯片特性 2&#xff0e;芯片的Block Diagram 3&#xff0e;构建的网络环境 4&#xff0e;分类总结 五&#xff1a;驱动实现 1&#xff0e;基本操作部分 1…

串口通信简介

1. 数据通信的基础概念 1.1 数据通信方式 按数据通信方式分类&#xff0c;可分为串行通信和并行通信两种。串行和并行的对比如下图所示&#xff1a; 串行通信的基本特征是数据逐位顺序依次传输&#xff0c;优点是传输线少、 布线成本低 、 灵活度高等优点&#xff0c;一般用…

ChatGPT工作提效之使用百度地图在首都为六一儿童节献爱心(多边形覆盖物、文本标注、自动获取经纬度、爱心函数)

ChatGPT工作提效系列 ChatGPT工作提效之初探路径独孤九剑遇强则强ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)ChatGPT工作提效之生成开发需求和报价单并转为Excel格式ChatGPT工作提效之小鹅通二次开发批量API对接解决方…

[QT_055]设置QT源码调试(qtc+vs/mingw+msvc)

在开发过程中&#xff0c;我们经常用到调试功能&#xff0c;这样方便查找Bug&#xff1b;Qt是一个开源的框架&#xff0c;可以看到源码。虽然但大部分情况下&#xff0c;我们开发时&#xff0c;只是使用&#xff0c;并没有调试它的源码&#xff0c;但如果想深入了解Qt的一些机制…

2020第十一届蓝桥杯Python组国赛【真题+解析+代码】

&#x1f381;2020第十一届蓝桥杯python组国赛真题 &#x1f680; 真题练习&#xff0c;冲刺国赛 &#x1f680; 2020年第十一届蓝桥python组国赛真题解析代码 博观而约取&#xff0c;厚积而薄发 &#x1f3c6;国赛真题目录 文章目录 &#x1f381;2020第十一届蓝桥杯python组国…