henman

henman

0个粉丝

7

问答

0

专栏

0

资料

henman  发布于  2018-06-19 10:49:14
采纳率 0%
7个问答
2999

3516ev100+imx291,调试vi。

 
在淘宝上看到友商有个模组是3516ev100+imx291的,正好看到驱动包里面有imx290的驱动,觉得应该差不多,就入手了一个,然后就开始了悲催的调试。

首先看看vi,只见IntfM项赫然显示LVDS,我就觉得惨了,搞了个非常规设计的硬件。

然后看看mipi,
Devno WorkMode RawDataType LinkIdx LaneCount        LaneId     PhyData
     0     LVDS       RAW12       0         4    0, 1, 2, 3   0xa103a10
感觉和之前的一款3516d+imx291的有点类似,就硬着头皮去找以前的资料。

1、现在是load脚本按照以下初始化:别问我为什么是ar0237,我是抄的。
        ar0237|ar0330)
                        bus_type="i2c";
                        pinmux_mode="i2c_dc";
                        sensor_clk_freq=27000000;
                        intf_mode="default";
                        viu_frequency=83300000;  # 83.3M, viu clock frequency
                        isp_div=1;                # isp div clk, freq = viu_clk_freq / div

2、sensor驱动是移植了以前imx291的:应该是ok的,写寄存器的时候没有提示异常,我猜应该是写进去了。
Sony imx291 sensor 1080P30fps(LVDS port) init success!

3、vi的参数是从16d里面抄了imx178的参数,抄过来之后发现结构体不一样,随便改一下试试吧。我可以肯定这个参数里面一定有错误。
combo_dev_attr_t LVDS_4lane_SENSOR_IMX178_12BIT_1080p_ATTR =
{
    /* input mode */
    .input_mode = INPUT_MODE_LVDS,
    {
        .lvds_attr = {
            .img_size = {1920, 1080},
            .raw_data_type = RAW_DATA_12BIT,
            .wdr_mode = HI_WDR_MODE_NONE,
            .sync_mode = LVDS_SYNC_MODE_SAV,
            .vsync_type = {LVDS_VSYNC_NORMAL, 0, 0},
            .fid_type = {LVDS_FID_IN_SAV, HI_FALSE},
            .data_endian = LVDS_ENDIAN_BIG,
            .sync_code_endian = LVDS_ENDIAN_BIG,
            .lane_id = {0, 1, 2, 3},
            .sync_code = {
                {   {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0}
                },

                {   {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0}
                },

                {   {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0}
                },

                {   {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0},
                    {0xab0, 0xb60, 0x800, 0x9d0}
                },
            }
        }
    }
};


4、sample用的是16ev100的sample,增加了一个新的291的sensor宏。
跑起来理所当然的vi没中断。。。日志如下:我觉得问题最大的应该是mipi的PhyData,这个值会根据combo_dev_attr_t的值改变,我对这个参数最没信心。

/proc/umap# cat vi

[VIU] Version: [Hi3516CV300_MPP_V1.0.3.0 B020 Release], Build Time: [Nov 26 2017, 12:44:21]

-----MODULE PARAM---------------------------------------------------------------
detect_err_frame  drop_err_frame   stop_int_level    yuv_skip   delay_line
              10               0                0           0           16

-----VI-VPSS ONLINE STATE-------------------------------------------------------
     OnlineState
          online

-----VI MODULE STATE------------------------------------------------------------
     ModuleState
         Started

-----VI PORT SIZE---------------------------------------------------------------
     Dev   WIDTH  HEIGHT
       0       0       0

-----VI DEV ATTR1---------------------------------------------------------------
     Dev   IntfM     WkM     ComMsk0     ComMsk1   ScanM     AD0     AD1     AD2
       0    LVDS    1Mux    fff00000           0       P      -1      -1      -1

-----VI DEV ATTR2---------------------------------------------------------------
     AD3     Seq   DPath   DType    DRev    CapX    CapY    CapW    CapH  BasW  BasH  Comp HReph VReph
      -1     N/A     ISP     RGB       N       0      20    1920    1080     0     0     N  NONE  NONE

-----VI HIGH DEV ATTR 1---------------------------------------------------------
     Dev  InputM     WkM     ComMsk0     ComMsk1   ScanM     AD0     AD1     AD2

-----VI HIGH DEV ATTR 2---------------------------------------------------------
     AD3     Seq   CombM   CompM    ClkM     Fix    FldP   DPath   DType    DRev

-----VI HIGH DEV ATTR 3---------------------------------------------------------
    CapX    CapY    CapW    CapH  BasW  BasH  Comp HReph VReph

-----VI PHYCHN ATTR 1-----------------------------------------------------------
  PhyChn    CapX    CapY    CapW    CapH    DstW    DstH  CapSel  Mirror    Flip
       0       0       0    1920    1080    1920    1080    both       N       N

-----VI PHYCHN ATTR 2-----------------------------------------------------------
   IntEn  PixFom  SrcRat  DstRat    Comp
       Y   SP420      -1      -1       N

-----VI PHYCHN STATUS 1---------------------------------------------------------
  PhyChn     Dev      IntCnt  VbFail      LosInt  TopLos  BotLos  BufCnt    IntT
       0       0           0       0           0       0       0       0       0

-----VI PHYCHN STATUS 2---------------------------------------------------------
   SendT   Field  Stride MaxIntT     IntGapT     MaxGapT LIntCnt  ThrCnt AutoDis
       0     frm    1920       0           0           0       0       0       0

-----VI PHYCHN STATUS 3---------------------------------------------------------
CasAutD  TmgErr      ccErrN      IntRat
       0       0           0           0

-----VI LDC ATTR----------------------------------------------------------------
PhyChn  ViewType  Ratio minRatio  COffX  COffY Enable

-----VI FLASH ATTR--------------------------------------------------------------
Dev   Mode StartTime  DuraTime  InterVal CapIdx Enable  FlashedNum
   0   Once         0         0         0      0      N           0

-----VI CSC ATTR----------------------------------------------------------------
Dev   Type HueVal  ContrVal   LumaVal  StatuVal    TVMode
   0    709     50        50        50        50         N

-----VI DCI ATTR----------------------------------------------------------------
Dev Enable BlackGain ContrGain LightGain  ManBlendEn  BlendRatio  BlackStretchEn
   0      Y        32        32        32          NA          NA              NA

-----VI VC NUMBER---------------------------------------------------------------
Dev   Linear     DES0     DES1     DES2
   0       NA       NA       NA       NA

-----VI WDR ATTR----------------------------------------------------------------
Dev      Mode  BufNum    DstW    DstH  PoolId   VcNum  DesNum   State    Comp
   0      NONE       0    1920    1080      -1       0       0    Init       N

-----VI WDR DES STATUS----------------------------------------------------------
Dev     Idx    IntGap    IntCnt  CcErrCnt

-----VI WDR SRC STATUS----------------------------------------------------------
Dev     Idx    IntGap    IntCnt  CcErrCnt

-----VI WDR COMBINE STATUS------------------------------------------------------
Dev    IntGap    IntCnt  CcErrCnt
   0         0         0         0
/proc/umap# cat hi_mipi

Module: [MIPI], Build Time: [Nov 26 2017, 12:45:41]

-----Combo DEV ATTR-----------------------------------------------------------------
Devno WorkMode RawDataType LinkIdx LaneCount        LaneId     PhyData
     0     LVDS       RAW12       0         4    0, 1, 2, 3  0xee0000ff

-----Mipi Crop Info-----------------------------------------------------------------
   Devno   bEnCrop    ImgX    ImgY    ImgW    ImgH
       0         0       0       0       0       0

-----lvds detect info----------------------------------------------------
Devno WDR_Frame   width  height
     0       LEF       0       0
     0      SEF1       0       0
     0      SEF2       0       0
     0      SEF3       0       0

-----fsm timeout and escape info---------------------------------------------
link clkTOutCnt d0TOutCnt   d1TOutCnt   d2TOutCnt   d3TOutCnt clkEscCnt  d0EscCnt  d1EscCnt  d2EscCnt  d3EscCnt
    0          0         0           0           0           0         0         0         0         0         0

-----LVDS/SUBLVDS/HISPI phy and lane state info--------------------------------------
Devno StatErr Link0WErr Link0RErr Link0HSynErr Link0VSynErr
     0      0         0         0            0            0
Devno  Lane0Err  Lane1Err  Lane2Err  Lane3Err
     0         0         0         0         0

-----ALING Err info--------------------------------------
Devno FIFO_FullErr  Lane0Err  Lane1Err  Lane2Err  Lane3Err
     0            0         0         0         0         0
/proc/umap#









我来回答
回答12个
时间排序
认可量排序

henman

0个粉丝

7

问答

0

专栏

0

资料

henman 2018-06-19 10:53:30
认可0
各位小伙伴们,有没有资源提供一下?要钱的开个价,我问问老板愿不愿意掏钱。交个朋友的也行,我这里也许也会有一些资源是别人感兴趣的。

硬件肯定是好的,把别人的固件还原就ok了。

mengxp

0个粉丝

18

问答

0

专栏

1

资料

mengxp 2018-06-19 11:19:34
认可0
直接逆向他程序的初始化阶段就可以了,.so拿来直接用。根本不用自己写。

stephanooa

0个粉丝

3

问答

0

专栏

0

资料

stephanooa 2018-06-19 14:09:16
认可0
vi 的参数可以抄下16a 290的,特别是.sync_code 同步码这个不能错的。

henman

0个粉丝

7

问答

0

专栏

0

资料

henman 2018-06-19 16:48:22
认可0
3楼的小伙伴:vi的初始化,应该是静态编译,没有什么so的,所以逆向无从下手。
4楼的小伙伴:16a的sdk,是没有290和291的,所以想抄也没地方抄。

stephanooa

0个粉丝

3

问答

0

专栏

0

资料

stephanooa 2018-06-19 17:13:34
认可0
本帖最后由 stephanooa 于 2018-6-19 17:16 编辑

驱动包里面有imx290的驱动
这个是指sdk原始的驱动还是友商提供的?如果是sdk自带的话是用mipi而不是lvds,sensor驱动是有差别的。

jie781097073

0个粉丝

24

问答

0

专栏

0

资料

jie781097073 2018-07-02 11:57:19
认可0
我们有做16cv300+290的lvds的

joshyueby

0个粉丝

3

问答

1

专栏

0

资料

joshyueby 2019-01-04 16:02:36
认可0
加油!我也是某宝买的套件,不过是hi3516c,成功了哟~

qn1515577064

0个粉丝

15

问答

0

专栏

0

资料

qn1515577064 2019-01-05 10:16:00
认可0
是mipi 还是 DC 还是lvds  要分清楚。。。你的vi 宽高都没检测到。。。看硬件手册  看电路用的什么接口

qn1515577064

0个粉丝

15

问答

0

专栏

0

资料

qn1515577064 2019-01-05 10:17:40
认可0
一会i2c_dc  一会lvds 开头又说mipi......  看你就是瞎搞:lol

qn1563864970

0个粉丝

5

问答

0

专栏

2

资料

qn1563864970 2020-06-09 16:52:12
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=120104&ptid=50893]joshyueby 发表于 2019-1-4 16:02[/url]
加油!我也是某宝买的套件,不过是hi3516c,成功了哟~[/quote]

你好  是cv200的SDK吗

hero

0个粉丝

1

问答

0

专栏

0

资料

hero 2018-06-20 11:23:57
认可0
:lol:lol:kiss::kiss:

henman

0个粉丝

7

问答

0

专栏

0

资料

henman 2018-06-21 06:50:28
认可0
6楼小伙伴你好。
友商是没有sdk提供的,这里的sdk都是指海思的sdk。
我就是看着sdk包里面有290的驱动,还专门比对了290和291的sdk,感觉他俩应该是一样的,我才入手了一个291的模组。
等发现驱动不起来了,我再去仔细的研究,发现模组硬件上应该是lvds接口,而sdk的290驱动,是mipi驱动,没有参考价值,唉。。。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

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

详细说明

易百纳技术社区