embeded/i.mx 8m plus2023. 2. 23. 16:27

아래 링크는 i.mx8m mini용 인듯 하니 imx9mp로 바꾸어서 시도하면 될 듯.

u-boot=> editenv fdt_file
edit: imx8mm-evk-rpmsg.dtb
u-boot=> boot

[링크 : https://community.nxp.com/t5/i-MX-Processors/imx-rpmsg-tty-not-working-on-IMX8M-EVK/m-p/1149859]

 

기본값은 imx8mp-evk.dtb이고 변경할 것은 imx8mp-evk-rpmsg.dtb

u-boot=> pri fdtfile 
fdtfile=imx8mp-evk.dtb


u-boot=> setenv fdtfile imx8mp-evk-rpmsg.dtb
u-boot=> boot

매번 바꾸기 귀찮으면 saveenv 하면 된다.

 

리눅스 에서 rproc 을 통해 MCU를 구동하려고 할 때, 설정된 파일이 존재하지 않으면 일단 아래와 같은 에러가 나고 죽는다.

root@imx8mpevk:/sys/class/remoteproc/remoteproc0# cat firmware 
rproc-imx-rproc-fw
root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo start > state
[   39.920224] remoteproc remoteproc0: powering up imx-rproc
[   39.925719] remoteproc remoteproc0: Direct firmware load for rproc-imx-rproc-fw failed with error -2
[   39.934945] remoteproc remoteproc0: Falling back to sysfs fallback for: rproc-imx-rproc-fw
[   39.943951] remoteproc remoteproc0: request_firmware failed: -2
[   39.949902] remoteproc remoteproc0: Boot failed: -2
-sh: echo: write error: No such file or directory

 

da request 어쩌구 하는데 powering up을 보면 imx-dsp-rproc

이 경우는 dtb에서 cortex-m7을 살리지 않아 tensilia DSP만 살아있어서 발생하는 에러로 추정.

root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo start > state
[  659.684024] remoteproc remoteproc0: powering up imx-dsp-rproc
[  659.690141] remoteproc remoteproc0: Booting fw image imx8mp_m7_TCM_rpmsg_lite_pingpong_rtos_linux_rem2
[  659.714561] remoteproc remoteproc0: Registered carveout doesn't fit da request
[  659.721820] remoteproc remoteproc0: Failed to process resources: -12
[  659.728265] remoteproc remoteproc0: Boot failed: -12
-sh: echo: write error: Cannot allocate memory

[링크 : https://community.nxp.com/t5/i-MX-Processors/imx8qmmek-rpmsg-remoteproc-remoteproc-and-rpmsg-fail/m-p/1401590]

 

실행이 되는거 같긴 한데...

디버그 시리얼 쪽으로도 무언가 출력되는게 안보이는데 머가 문제이려나..

그리고 시스템 자체가 멈춘다.. 뭐야.. (LF_v5.10.72-2.2.0_images_IMX8MPEVK)

root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo imx8mp_m7_TCM_hello_world.elf > firmware 
root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo start > state
[   48.529889] remoteproc remoteproc0: powering up imx-rproc
[   48.539233] remoteproc remoteproc0: Booting fw image imx8mp_m7_TCM_hello_world.elf, size 152688

 

+

# modprobe imx_rpmsg_pingpong
# modprobe imx_rpmsg_tty
# echo hello > /dev/ttyRPMSG30

[링크 : https://www.embeddedartists.com/wp-content/uploads/2019/03/iMX8M_Working_with_Cortex-M.pdf]

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

rpmsg-lite  (0) 2023.03.23
i.mx8m plus cortex-m7 part.2  (0) 2023.02.23
i.mx8m plus win iot 실행  (0) 2023.02.23
i.mx8 tensilica dsp  (0) 2023.02.07
i.mx8m plus win iot  (0) 2023.02.02
Posted by 구차니