成都魏星

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星  发布于  2016-03-11 10:47:54
采纳率 0%
18个问答
2812

音频数据结构求助

 
AUDIO_FRAME_S结构体中有

HI_VOID *pVirAddr[2];
HI_U32 u32PhyAddr[2];

一个是数据虚拟地址,一个是数据物理地址。这两个地址的使用方法是什么呢?

海思平台中有很多这样的例子,希望能够得到指点

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

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-03-11 11:09:39
认可0
虚拟地址是指linux用户空间可以使用的地址, 可以在应用程序中使用(就是一般的指针), 比如memcpy
物理地址是指实际物理上的地址,通常该地址位于MMZ上,该地址用于硬件,比如DMA, 应用程序一般会不用到

但是, 如果(有的SDK)得到的虚拟地址不正确,就要用物理地址了
在应用程序中用HI_MPI_SYS_Mmap把物理地址映射到用户空间的虚拟地址,然后就可以做为一般指针来使用,用完要HI_MPI_SYS_Munmap一下
有情提醒:要注意两个函数的输入参数,前者是物理地址,后者是映射出来的虚拟地址,不要搞错


成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-03-11 14:27:25
认可0
谢谢楼上的回复。

我现在需要选择左声道,但是SDK文档和sample里面都没有参数使用说明。

unsigned int track_select;
track_select = 0x1;
if (ioctl(s32Acodec_Fd, ACODEC_DACL_SEL_TRACK, &track_select))

麻烦这个0x1是代表那个声道呢?左声道右声道分别是怎么代表的呢?

我现在还没有拿到板子,就只能先跟你们沟通,谢谢

成都魏星

0个粉丝

18

问答

0

专栏

0

资料

成都魏星 2016-03-11 14:27:59
认可0
谢谢楼上的回复。

我现在需要选择左声道,但是SDK文档和sample里面都没有参数使用说明。

unsigned int track_select;
track_select = 0x1;
if (ioctl(s32Acodec_Fd, ACODEC_DACL_SEL_TRACK, &track_select))

麻烦这个0x1是代表那个声道呢?左声道右声道分别是怎么代表的呢?

我现在还没有拿到板子,就只能先跟你们沟通,谢谢
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区