642
- 收藏
- 点赞
- 分享
- 举报
3559a ive 遇到了一个问题
问题: 使用 memcpy 程序很正常不会出现问题。然后使用了ive dma copy 。 运行了一段时间就会卡住。下面打印的ERROR , 不是我应用打印的。 memcpy 程序是好的 我认为不是我软件内存释放的问题。 但是我不认为要申请和释放内存啊。
现在是src 和 dst (1920 1080)的长款格式是一样的, nOffset 是0.
stSrcData.u64VirAddr = pstVideosrc->stVFrame.u64VirAddr[0]+nOffset;
stSrcData.u64PhyAddr = pstVideosrc->stVFrame.u64PhyAddr[0]+nOffset;
stSrcData.u32Width = pstVideodst->stVFrame.u32Width;
stSrcData.u32Height = pstVideodst->stVFrame.u32Height;
stSrcData.u32Stride = pstVideosrc->stVFrame.u32Stride[0];
stDstData.u64VirAddr = pstVideodst->stVFrame.u64VirAddr[0];
stDstData.u64PhyAddr = pstVideodst->stVFrame.u64PhyAddr[0];
stDstData.u32Width = pstVideodst->stVFrame.u32Width;
stDstData.u32Height = pstVideodst->stVFrame.u32Height;
stDstData.u32Stride = pstVideodst->stVFrame.u32Stride[0];
s32Ret = HI_MPI_IVE_DMA(&hIveHandle,&stSrcData,&stDstData,&stCtrl,bInstant);
if (HI_SUCCESS != s32Ret)
{
printf("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do{
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
log 在下面:
ERROR: MMAP ADDR: 0x680aa0c0-0x1680a9940
HI_MPI_IVE_DMA failed s32Ret[0xa01d8003]
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[HI Serial print:uart.c:354:] HiSeral Receive Data = ? len = 3 fs_sel = 1
现在是src 和 dst (1920 1080)的长款格式是一样的, nOffset 是0.
stSrcData.u64VirAddr = pstVideosrc->stVFrame.u64VirAddr[0]+nOffset;
stSrcData.u64PhyAddr = pstVideosrc->stVFrame.u64PhyAddr[0]+nOffset;
stSrcData.u32Width = pstVideodst->stVFrame.u32Width;
stSrcData.u32Height = pstVideodst->stVFrame.u32Height;
stSrcData.u32Stride = pstVideosrc->stVFrame.u32Stride[0];
stDstData.u64VirAddr = pstVideodst->stVFrame.u64VirAddr[0];
stDstData.u64PhyAddr = pstVideodst->stVFrame.u64PhyAddr[0];
stDstData.u32Width = pstVideodst->stVFrame.u32Width;
stDstData.u32Height = pstVideodst->stVFrame.u32Height;
stDstData.u32Stride = pstVideodst->stVFrame.u32Stride[0];
s32Ret = HI_MPI_IVE_DMA(&hIveHandle,&stSrcData,&stDstData,&stCtrl,bInstant);
if (HI_SUCCESS != s32Ret)
{
printf("HI_MPI_IVE_DMA failed s32Ret[%#x]\n", s32Ret);
}
do{
s32Ret = HI_MPI_IVE_Query(hIveHandle, &bFinish, HI_TRUE);
if (bFinish == HI_FALSE)
usleep(100);
} while (bFinish == HI_FALSE);
log 在下面:
ERROR: MMAP ADDR: 0x680aa0c0-0x1680a9940
HI_MPI_IVE_DMA failed s32Ret[0xa01d8003]
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[Func]:HI_MPI_IVE_Query [Line]:574 [Info]:Error,IveHandle(-1) must be (-1,268435455)
[HI Serial print:uart.c:354:] HiSeral Receive Data = ? len = 3 fs_sel = 1
我来回答
回答6个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2019-08-08 09:48:06
-
42014-02-15 16:03:23
-
2015-11-11 10:35:58
-
2019-01-22 17:19:16
-
2018-06-13 09:49:14
-
2018-10-17 09:24:17
-
2020-07-23 09:09:18
-
2019-12-16 17:30:56
-
2018-07-24 16:22:26
-
2018-10-26 08:57:21
-
2017-01-04 10:27:15
-
02022-11-04 16:26:54
-
22021-10-30 11:50:49
-
02022-11-07 15:09:43
-
2021-09-06 17:06:12
-
02022-09-30 11:55:40
-
22019-08-01 14:41:19
-
02019-01-13 17:41:51
-
22023-03-22 15:29:26
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认