아래 링크는 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 |
실행이 되는거 같긴 한데...
디버그 시리얼 쪽으로도 무언가 출력되는게 안보이는데 머가 문제이려나..
그리고 시스템 자체가 멈춘다.. 뭐야.. (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 |