一、RK2118M 简介
随着智能座舱的快速发展,对音频需求的极大增加,催生了复杂的硬件连接,多喇叭,多麦,多音区的实际场景,也同时需要更丰富的接口能力,更高的 AI 算力,更具性价比的音频处理芯片。
RK2118M 是一款高性能三核 HiFi4 DSP 处理器,专为智能语音交互、音频输入/输出处理等多方面的车载音频应用而设计。 集成 FIR/IIR 加速器和异步采样率转换器硬件引擎, 进一步提升整体音频处理能力,以满足音频处理要求。 此外 RK2118M 还集成了一个专为音频设计的 NPU,可用于音频 AI 处理。
RK2118M 集成双核 STAR-M33 处理器来运行操作系统、UI 渲染和应用协议栈等。集成 1024KB 系统内存和 eXecute In Place (XIP) Flash 接口使 RK2118M 能够灵活地适应不同的应用开发。
RK2118M 集成了丰富的外设接口,如 SAI(串行音频接口,兼容 I2S、PCM、TDM 协议)、PDM、SPDIF、RMII、UART、I2C、SPI、PWM、CAN、SARADC 等,可以满足不同的应用开发,降低硬件开发复杂度和开发成本。
图(1)展示了 RK2118M 的内部资源和车载音频系统应用。

图(1)
RK_EVB2_AUTOMOTIVE_DSP_RK2118M_V20 是瑞芯微官方发布的 EVB,采用分立电源供电方案,存储采用 SPI Nor Flash。支持 FM/AM 接收器、A2B 芯片、ADC、音频功放、座舱 SOC 等车载应用中常用的设备。 RK2118M 具有灵活方便的 IO 矩阵功能,可在矩阵 IO 上复用 UART、I2C、SPI、PWM、CAN、SARADC 等外设接口,集成了一个稳定的可量产化的方案。EVB 功能接口如图(2)所示:

图(2)
二、开发环境
RK2118M SDK 编译开发环境采用 64bit Ubuntu20.04 或 Ubuntu18.04 的实体机或 WSL(Windows Subsystem for Linux)来使用Ubuntu,具体安装可参考:https://learn.microsoft.com/zh-cn/windows/wsl/install。编译工具选用的是 RT-Thread 官方推荐的 SCons + GCC,SCons 是一套由 Python 语言写的开源构建系统, GCC 交叉编译器由 ARM 官方提供。本文档采用 WSL Ubuntu18.04 作为开发系统。
准备好开发系统之后,按照以下步骤安装必需的工具:
①更新系统软件包列表
$sudo apt update
②安装 gcc-arm-embedded (实际操作可能会不成功,但不影响 SDK 的构建)
$sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
$sudo apt-get update
$sudo apt-get install gcc-arm-embedded
③安装 scons clang-format astyle build-essential 等工具
$sudo apt-get install scons clang-format astyle build-essential dosfstools libncurses5-dev
④安装 python
$sudo apt-get install python3
$sudo apt-get install python3-pip
⑤下载交叉编译器
$tar xvf arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz
$export RTT_EXEC_PATH=/path/to/toolchain/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin
以上操作过程参考图(3)

图(3)
三、SDK 下载与编译
RK2118 的 SDK 通过瑞芯微代码服务器对外发布。获取 RK2118 RT-Thread 软件包。需要向瑞芯微技术窗口(fae@rock-chip.com)获取。
SSH 公钥进行服务器认证授权。获取后可以将对应的文件放在系统家目录下,如图(4)所示。

图(4)
使用 repo 同步代码
①下载 RK repo(即使系统中已经有 repo,依旧推荐使用 RK 提供的 repo,避免无法预期的错误)
$sudo git clone https://gerrit.rock-chips.com:8443/repo-release/tools/repo
图(5)(6)(7)(8)展示了成功完成代码同步的打印信息。

图(5)
$sudo ./repo/repo init --repo-url https://gerrit.rock-chips.com:8443/repo-release/tools/repo -u https://gerrit.rock-chips.com:8443/RTOS/manifests -b rk2118 -m rk2118.xml

图(6)
③ 代码同步
$sudo .repo/repo/repo sync

图(7)
④ 版本确认
$cd .repo/manifests
$git log rk2118.xml

图(8)
⑤ 代码编译
确认 RTT_EXEC_PATH 有被正确设置
$cd bsp/rockchip/rk2118
$./build.sh board/adsp_demo/setting.ini
生成的固件位于 Image/Firmware.img
四、下载运行
下载工具在 SDK 的 bsp\rockchip\tools\ 路径下,解压 SocToolKit_v2.1_20241202_01_win.zip,
双击 SocToolKit 应用程序,出现图(9)所示的界面。点击 OK 。

图(9)
然后按照如下步骤依次操作:
① 点击选中串口设备,根据 PC 设备管理器,选择对应的串口,并设置波特率 1500000。
② 右击鼠标,选择添加,增加一个下载项目,命名为 fw,flash 地址为 0x00000000。
③ 选择 DownloadBin 下载项文件 bsp\rockchip\rk2118\Image\MiniLoaderAll.bin,
该项会通过串口下载到 RK2118M 的 SRAM 中并运行,用于下载其他文件到 falsh。
④ 选择 fw 下载项 bsp\rockchip\rk2118\Image\Firmware.img,这是上一章节中编译
好的运行在 MCU0 上的 RT-Thread 镜像。
完成上述操作后,下载工具界面显示如图(10)所示。

图(10)
最后将板子按照图(11),链接好 12V 电源和下载串口,在按住 maskrom 按钮的同时将电源
开关向下拨到 ON 位置,此时下载工具串口设备栏显示 Maskrom,点击下载按钮,开始下载
固件,对应的串口设备栏显示 Loader。
注意:在执行下载任务时,务必将 AUDIO DEBUG 开发板侧接线拔掉,否则会下载失败,且无任何提示。

图(11)
下载完成后,关闭下载工具(防止占用),使用串口工具打开对应的 COM 口,板子重新上下电,串口工具会打印出启动 LOG,见图(12)

图(12)
五、参考文献
Rockchip_RK2118M_EVB_V20_User_Guide_V1.0_20240820_CN.pdf
Rockchip_RK2118_Quick_Start_RT-Thread_CN.pdf
Rockchip_RK2118_RT-Thread_SDK_Release_CN.pdf
欢迎在博文下方留言评论,我们会及时回复您的问题。
如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com 作者:老哥三五瓶
更多资讯,请扫码关注我们!
