4376
- 收藏
- 点赞
- 分享
- 举报
hi3516a+ar0134不出图像,麻烦各位大神帮看看是怎么回事?
思路:
一、先生成ar0134的库文件
1、转到Hi3516A_SDK_V1.0.7.0/mpp/component/isp/sensor/目录下,拷贝aptina_ar0230后,粘贴并改名为aptina_ar0134。
2、进入aptina_ar0134目录,将含有“0230”字段的文件都改名,将“0230”的字段都替换成“0134”。
3、修改Makefile文件,修改部分如下:
TARGETLIB := $(LIBPATH)/libsns_ar0134.a
TARGETLIB_SO := $(LIBPATH)/libsns_ar0134.so
4、修改ar0134_sensor_ctl.c
将所有(共3处)sensor_linear_1080p30_init替换成sensor_linear_720p60_init,并将sensor_linear_1080p30_init函数的内容替换,寄存器的初始化命令供应商给出。
5、修改ar0134_cmos.c,将所有(共5处)SENSOR_2M_1080p30_MODE替换成SENSOR_LINER_720p60_MODE,将所有(共11处)0230替换成0134,将AR0134_ID改成134后,保存。
6、转到Hi3516A_SDK_V1.0.7.0/mpp/component/isp目录,执行make,编译后在Hi3516A_SDK_V1.0.7.0/mpp/component/isp/lib和Hi3516A_SDK_V1.0.7.0/mpp/lib目录下即可生成libsns_ar0134.a和libsns_ar0134.so。
二、修改sample相关文件
1、修改Hi3516A_SDK_V1.0.7.0/mpp/sample/Makefile.param文件,搜索ar0230,发现有三处,将这三处拷贝后粘贴并将新粘贴的部分的“0230”字段修改为“0134”字段,其余不变,将SENSOR_TYPE ?= APTINA_AR0134_HISPI_720P_60FPS前面的#去掉,将之前的SENSOR_TYPE注释掉后保存。
2、修改Hi3516A_SDK_V1.0.7.0/mpp/sample/common/sample_comm_vi.c文件,搜索APTINA_AR0230_HISPI_1080P_30FPS(共4处),分别添加相关代码后,如下图:
第一处HI_S32 SAMPLE_COMM_VI_StartDev函数
case APTINA_AR0134_HISPI_720P_60FPS:
memcpy(&stViDevAttr, &DEV_ATTR_LVDS_BASE, sizeof(stViDevAttr));
stViDevAttr.stDevRect.s32X = 0;
stViDevAttr.stDevRect.s32Y = 0;
stViDevAttr.stDevRect.u32Width = 1280;
stViDevAttr.stDevRect.u32Height = 720;
break;
第二处SAMPLE_COMM_VI_StartIspAndVi函数
case APTINA_AR0134_HISPI_720P_60FPS:
stCapRect.u32Width = 1280;
stCapRect.u32Height = 720;
break;
第三处HI_S32 SAMPLE_COMM_VI_GetSizeBySensor函数
case APTINA_AR0134_HISPI_720P_60FPS:
*penSize = PIC_HD720;
break;
第四处SAMPLE_COMM_VI_SetMipiAttr函数
if (pstViConfig->enViMode == APTINA_AR0134_HISPI_720P_60FPS)
{
pstcomboDevAttr = &HISPI_4lane_SENSOR_AR0134_12BIT_720p_NOWDR_ATTR;
}
再添加AR0134的combo_dev_attr_t属性结构体
combo_dev_attr_t HISPI_4lane_SENSOR_AR0134_12BIT_720p_NOWDR_ATTR =
{
/* input mode */
.input_mode = INPUT_MODE_HISPI,
{
.lvds_attr = {
.img_size = {1920, 1080},
HI_WDR_MODE_NONE,
LVDS_SYNC_MODE_SOL,
RAW_DATA_12BIT,
LVDS_ENDIAN_LITTLE,
LVDS_ENDIAN_LITTLE,
.lane_id = {0, 1, 2, -1, -1, -1, -1, -1}, //因为只用到三个lane
.sync_code = {
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane0
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane1
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane2
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane3
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane0
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane1
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane2
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane3
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
}
}
}
};
保存。
3、修改sample_comm.h文件,在SAMPLE_VI_MODE_E里添加APTINA_AR0134_HISPI_720P_60FPS。
保存并退出。make,编译后生成新的sample_vio文件。
三、修改load3516a脚本,添加ar0134的支持,添加部分如下:
ar0134|ar0230|ar0237)
四、挂载驱动后,提示
==== Your input Sensor type is ar0134 ====
运行后,程序并不报错,如下:
/nfsroot/mpp # ./sample_vio 5 0
=============SAMPLE_COMM_VI_SetMipiAttr enWDRMode: 0
Aptina AR0134 sensor linear 720p60 - 3 Lane HiSPI init success!
u32Width:720, u32Square:1
---------------press the Enter key to exit!---------------
五、帧同步部分只找到
六、用示波器测量,结果如下,SLVS0~SLVS2有数据输出,SLVSC没有数据输出,CVBS有数据但无显示
麻烦各位大神帮帮我
一、先生成ar0134的库文件
1、转到Hi3516A_SDK_V1.0.7.0/mpp/component/isp/sensor/目录下,拷贝aptina_ar0230后,粘贴并改名为aptina_ar0134。
2、进入aptina_ar0134目录,将含有“0230”字段的文件都改名,将“0230”的字段都替换成“0134”。
3、修改Makefile文件,修改部分如下:
TARGETLIB := $(LIBPATH)/libsns_ar0134.a
TARGETLIB_SO := $(LIBPATH)/libsns_ar0134.so
4、修改ar0134_sensor_ctl.c
将所有(共3处)sensor_linear_1080p30_init替换成sensor_linear_720p60_init,并将sensor_linear_1080p30_init函数的内容替换,寄存器的初始化命令供应商给出。
5、修改ar0134_cmos.c,将所有(共5处)SENSOR_2M_1080p30_MODE替换成SENSOR_LINER_720p60_MODE,将所有(共11处)0230替换成0134,将AR0134_ID改成134后,保存。
6、转到Hi3516A_SDK_V1.0.7.0/mpp/component/isp目录,执行make,编译后在Hi3516A_SDK_V1.0.7.0/mpp/component/isp/lib和Hi3516A_SDK_V1.0.7.0/mpp/lib目录下即可生成libsns_ar0134.a和libsns_ar0134.so。
二、修改sample相关文件
1、修改Hi3516A_SDK_V1.0.7.0/mpp/sample/Makefile.param文件,搜索ar0230,发现有三处,将这三处拷贝后粘贴并将新粘贴的部分的“0230”字段修改为“0134”字段,其余不变,将SENSOR_TYPE ?= APTINA_AR0134_HISPI_720P_60FPS前面的#去掉,将之前的SENSOR_TYPE注释掉后保存。
2、修改Hi3516A_SDK_V1.0.7.0/mpp/sample/common/sample_comm_vi.c文件,搜索APTINA_AR0230_HISPI_1080P_30FPS(共4处),分别添加相关代码后,如下图:
第一处HI_S32 SAMPLE_COMM_VI_StartDev函数
case APTINA_AR0134_HISPI_720P_60FPS:
memcpy(&stViDevAttr, &DEV_ATTR_LVDS_BASE, sizeof(stViDevAttr));
stViDevAttr.stDevRect.s32X = 0;
stViDevAttr.stDevRect.s32Y = 0;
stViDevAttr.stDevRect.u32Width = 1280;
stViDevAttr.stDevRect.u32Height = 720;
break;
第二处SAMPLE_COMM_VI_StartIspAndVi函数
case APTINA_AR0134_HISPI_720P_60FPS:
stCapRect.u32Width = 1280;
stCapRect.u32Height = 720;
break;
第三处HI_S32 SAMPLE_COMM_VI_GetSizeBySensor函数
case APTINA_AR0134_HISPI_720P_60FPS:
*penSize = PIC_HD720;
break;
第四处SAMPLE_COMM_VI_SetMipiAttr函数
if (pstViConfig->enViMode == APTINA_AR0134_HISPI_720P_60FPS)
{
pstcomboDevAttr = &HISPI_4lane_SENSOR_AR0134_12BIT_720p_NOWDR_ATTR;
}
再添加AR0134的combo_dev_attr_t属性结构体
combo_dev_attr_t HISPI_4lane_SENSOR_AR0134_12BIT_720p_NOWDR_ATTR =
{
/* input mode */
.input_mode = INPUT_MODE_HISPI,
{
.lvds_attr = {
.img_size = {1920, 1080},
HI_WDR_MODE_NONE,
LVDS_SYNC_MODE_SOL,
RAW_DATA_12BIT,
LVDS_ENDIAN_LITTLE,
LVDS_ENDIAN_LITTLE,
.lane_id = {0, 1, 2, -1, -1, -1, -1, -1}, //因为只用到三个lane
.sync_code = {
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane0
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane1
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane2
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY0_lane3
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane0
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane1
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane2
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
{{0x6, 0x6, 0x36, 0x36}, //PHY1_lane3
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36},
{0x6, 0x6, 0x36, 0x36}},
}
}
}
};
保存。
3、修改sample_comm.h文件,在SAMPLE_VI_MODE_E里添加APTINA_AR0134_HISPI_720P_60FPS。
保存并退出。make,编译后生成新的sample_vio文件。
三、修改load3516a脚本,添加ar0134的支持,添加部分如下:
ar0134|ar0230|ar0237)
四、挂载驱动后,提示
==== Your input Sensor type is ar0134 ====
运行后,程序并不报错,如下:
/nfsroot/mpp # ./sample_vio 5 0
=============SAMPLE_COMM_VI_SetMipiAttr enWDRMode: 0
Aptina AR0134 sensor linear 720p60 - 3 Lane HiSPI init success!
u32Width:720, u32Square:1
---------------press the Enter key to exit!---------------
五、帧同步部分只找到
六、用示波器测量,结果如下,SLVS0~SLVS2有数据输出,SLVSC没有数据输出,CVBS有数据但无显示
麻烦各位大神帮帮我
我来回答
回答1个
时间排序
认可量排序
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2017-03-06 15:43:30
-
2018-10-12 15:31:13
-
2017-02-07 16:57:57
-
2018-10-23 14:15:55
-
2018-12-11 16:16:56
-
2018-12-02 11:18:27
-
2017-01-06 11:11:50
-
2018-09-08 10:47:26
-
2021-01-14 14:08:03
-
2019-01-09 11:00:57
-
2018-09-16 08:58:26
-
2017-03-09 17:41:13
-
2018-10-17 10:42:42
-
2021-03-15 17:14:19
-
2020-11-11 18:25:19
-
2021-04-07 17:50:53
-
2019-01-16 15:35:15
-
2020-05-08 14:29:05
-
2018-03-12 23:19:45
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认