embeded/i.mx 8m plus2026. 10. 21. 18:29

imx8mp 에는 여러가지 이상한(?) 것들이 달려있다.

cortex-m7 800Mhz 랑

HiFi DSP 라고 tensilica / xtensa 계열 dsp가 그건데

Advanced Multimedia and Display

  • Video Decode: 1080p60, h.265/4, VP9, VP8
  • Video Encode: 1080p60, h.265/4
  • GPU: 16 GFLOPS (high-precision) OpenGL® ES 3.1/3.0, Vulkan®, Open CL™ 1.2 FP, OpenVG™ 1.1
  • Audio: 18x I2S TDM, DSD512, S/PDIF Tx + Rx, 8-ch PDM Mic input, eARC, ASRC
  • Low power voice accelerator: Cadence® Tensilica® HiFi 4 DSP @ 800 MHz
  • Display: MIPI-DSI, HDMI® 2.0a Tx, LVDS (4/8-lane) Tx

[링크 : https://www.nxp.com/products/i.MX8MPLUS]

 

이전에 생각만 해오던거 오늘은 ai 도움으로 조사중

4 Building DSP Framework on Linux OS
Before you compile the DSP-related code, set up the DSP-related toolchains. The DSP framework, DSP codec wrapper, and DSP codec use Xtensa development toolchain.

[링크 : https://www.nxp.com/docs/en/user-guide/UG10167.pdf]

 

cortex-m7 처럼 rpmsg로 하고, 똑같은 방법으로 펌웨어를 올려서 작동시키면 된다.

기본 컨셉은 ahb를 통해 주변장치가 있으니까 도메인이 존재할거고

리눅스 dtb는 리눅스에서 사용하지 않을 녀석(mcu 들이 사용할 녀석을 제외)을 골라서 사용한다.

ddr 메모리는 mcu / dsp 통신용으로 영역을 선정하고(즉, 리눅스에서 사용하지 않도록 영역 지정)

rpmsg 를 통해서 거기 데이터 있으니 가져가서 처리하라고 찔러준다.

 

xtensa 이긴한데 정확한 아키텍쳐는 찾아봐도 안나오고

그래도 혹시나 하는 마음에 esp32 / esp32-s2 / esp826 바이너리를 빌드해서 dsp에서 돌아가나 테스트 해보려고 함

 

다운로드 경로(zephyr rtos sdk)

[링크 : https://github.com/zephyrproject-rtos/sdk-ng/releases/]

 

테스트 결과

 

일단 esp32 / esp32-s2 로도 돌릴수 있는데 이상하게 느리다는게 좀 단점

zephyr의 것을 쓰면 아무튼 cadence sdk 안쓰고도 가벼운건 돌릴수 있다 정도가 될 듯.

 

+

2026.10.22

zephyr 언급된 문서들

 

AN13970 Running Zephyr RTOS on Cadence Tensilica HiFi 4 DSP

[링크 : https://www.nxp.com/docs/en/application-note/AN13970.pdf]

    [링크 : https://community.nxp.com/t5/i-MX-Processors/Programming-the-Tensilica-HiFi4-DSP/m-p/2079878]

    [링크 : https://openamp-libopenamp-prs.readthedocs.io/en/latest/demos/system_reference-NXP.html]

For details on how to harness the power processing of the DSP by running Zephyr RTOS on the DSP, while running Linux OS on the main Cortex-A core, see the Running Zephyr RTOS on Cadence Tensilica HiFi 4 DSP (AN13970). This covers simple and more complex examples, such as hello_world or IPC samples. In the application note, all examples are explained using the existing drivers and/or frameworks from the Linux OS and Zephyr RTOS.

[링크 : https://www.nxp.jp/docs/en/user-guide/UG10167.pdf]

 

[링크 : https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/hello_world]

    [링크 : https://www.nxp.com/company/about-nxp/smarter-world-blog/BL-HIFI4-DSP-CORE-WITH-ZEPHYR]

 

'embeded > i.mx 8m plus' 카테고리의 다른 글

eiq-portal로 학습 시도(cpu)  (0) 2026.05.27
nxp CMSIS-NN  (0) 2026.05.13
g2d_surface g2d_blit()  (0) 2026.02.10
eiq 모델 정리  (0) 2025.09.16
eiq 데이터 구조  (0) 2025.09.05
Posted by 구차니