嗨,恩智浦支持、
我在 u-boot 中使用这个命令来驱动 M7 的固件。在进入 Linux 系统时,发生了以下错误。该固件来自 " 板\ evkmimx8mp\ driver_examples\ pwm " 项目。
我的主板使用 1GB 的 DDR。我还对 DTS(如下所示)和 M7 固件项目做了相应修改(见 MIMX8ML8xxxLZ_ram.icf.txt)。
命令:
> mmc dev 2;fatload mmc 2:1 0x48000000 'ipwm_cm7.bin';cp.b 0x48000000 0x7e0000 0x20000;bootaux 0x7e0000
> 启动
错误日志:
内存的 DTS 节点:
内存@40000000 {device_type ="内存" ;reg =<0x0 0x40000000 0 0x40000000> ;};预留内存 {#address-cells =<2> ;#size-cells =<2> ;范围;/* 为在 CM7 上运行的 RTOS 预留 16MB */m7_reserved: m7@70000000 {无地图reg =<0 0x70000000 0 0x1000000> ;};vdev0vring0: vdev0vring0@55000000 {reg =<0 0x55000000 0 0x8000> ;无地图};vdev0vring1: vdev0vring1@55008000 {reg =<0 0x55008000 0 0x8000> ;无地图};vdevbuffer: vdevbuffer@55400000 {compatible ="shared-dma-pool" ;reg =<0 0x55400000 0 0x100000> ;无地图};rsc_table: rsc-table@550ff000 {reg =<0 0x550ff000 0 0x1000> ;无地图};};IMX8MP-CM7 {兼容 ="FSL,imx8mn-cm7" ;rsc-da =<0x55000000> ;clocks =<& clk IMX8MP_CLK_M7_DIV> ;clock-names ="core" ;mbox-names ="tx","rx","rxdb" ;mboxes =<& mu 0 1μ 1 1μ 3 1> ;memory-region =<& vdevbuffer>,<& vdev0vring0>,<& vdev0vring1>,<& rsc_table> ;status ="okay" ;fsl,startup-delay-ms =<500> ;};
Hi @Dzen
这种错一般是访问权限问题,你可以看一下uboot/arch/arm/dts/imx8mp-evk-u-boot.dtsi,里面有一个mcu_rdc节点,默认是把SAI3给了M7,你可以删除SAI3以及对应的SDMA3权限定义。
Best Regards,
Zhiming
Hi @Dzen
可以参考内核中的arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts,将sai3 disable掉。
Best Regards,
Zhiming