基于 i.MX RT685 的 FLAC 移植和编解码器性能评估
本应用笔记介绍了FLAC编解码库在i.MX RT6xx上的移植,对比了CM33与HiFi4 DSP之间的性能差异,并使用GNU profiler工具分析了FLAC库中耗时函数,并对在i.MX RT685 evk板上进一步的性能优化提出了建议。
有关如何使用该软件的完整说明,请参阅 AN13793。https
://www.nxp.com.cn/docs/en/application-note/AN13793.pdf
主板:EVK-MIMXRT685
类别:音频、SDMMC、RTOS
外设:SDMMC、UART、GPIO
工具链:IAR
目录
1.软件
- SDK:2.12.1
- FLAC:1.3.4
- FatFS:R0.14b
- CM33:IAR嵌入式工作台9.30.1
- HiFi4:Xtensa Xplorer 9.0.18
2.硬件
- Micro USB 线缆
- EVK-MIMXRT685 REV E2 板
- 个人电脑
- SD卡
3. 设置
- 将您的音乐文件(.wav 格式)复制到 SD 卡;
- 将SD卡插入EVK-MIMXRT685板;
- 将您的音乐文件名添加到文件列表数组(maincm33.c@line51)并构建(重要);
- 使用微型 USB 线连接 PC 主机和开发板上的 Jlink USB 端口 (J5)
- 使用以下设置打开串行终端:
- 115200波特率
- 8个数据位
- 无奇偶校验
- 一个停止位
- 无流量控制
- 将程序下载到目标板。
- 在 IDE 中启动调试器以开始运行演示。
4.结果
下面的日志显示了此演示在终端窗口中的输出:
```
FLAC example to demonstrate how to use FLAC with CM33&HiFi4 core.
Please insert a card into board.
Card inserted.
Now timerTicks is 2314
MU example polling!
CM33: input:16khzmonosine10s.wav
input:16khzmonosine10s.wav, filesize is 320044
start encoder #0: compress level:0
wav samplerate:16000, totalksamples:160000
Heap addr:163000
encode consume time.60 ms
...
```
5. 常见问题解答
5.1 本 AN 评估哪些类型的音频?
为了全面验证和评估 RT685 EVK 上的 FLAC,我们使用以下音频:
5.2 这个demo的工作流程是怎样的?
首先运行CM33核心例程(?CM33_FLAC_TEST?),然后获取SD卡上保存的编码文件和解码文件。之后在PC上查看文件。最后运行HiFi4核心例程(?HiFi4_FLAC_TEST?),比较耗时差异。
- CM33_FLAC_TEST工作流程:
- 步骤1.CM33将.wav编码为.flac,编码文件保存到SD卡;
- 步骤2.CM33将.flac解码为.wav,解码文件保存到SD卡;
- 步骤3.CM33将.wav编码为.flac,编码文件保存到SRAM;
- 步骤4.CM33将.flac解码为.wav,解码文件保存到SRAM;
- HiFi4_FLAC_TEST工作流程:
- Step1.CM33启动HiFi4
- Step2.HiFi4 将.wav编码为.flac,编码文件保存到SRAM;
- 步骤3.HiFi4将.flac解码为.wav,解码文件保存到SRAM;
5.3 如何调试HiFi4内核?
将DSP_IMAGE_COPY_TO_RAM配置更改为 0,即可调试 HiFi4 内核。更多详细信息,请参阅i.MX RT600 评估套件入门指南。
6. 支持
如果您需要帮助,请联系 FAE 或创建工单到NXP 社区。
项目元数据
有关此示例的内容/正确性的问题可以作为此 GitHub 存储库中的问题输入。
来源:恩智浦appcodehub
534
