一、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 作者:老哥三五瓶
更多資訊,請掃碼關注我們!
評論
腾飞万里
4 個月前
大力瘸腿小赤狐🦊
4 個月前
HJR_128
5 個月前