2248796_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2248796_zh-CN

2248796_zh-CN

imx8mp-evk 多核 M 核 UART 资源访问失败

在使用 imx8mp-evk 进行异构通信时,我尝试从 M 内核调用 UART3,但失败了。以下是我的程序。

1。修改 uboot 设备树 mcu_rdc。编译并生成 falsh.bin 之后、烧了它

hjk003_0-1764123430485.pnghjk003_0-1764123430485.png

2。进入 U-Boot 并启动 Linux 系统。

hjk003_1-1764123515906.pnghjk003_1-1764123515906.png

3. 根据演示修改的 M-core 代码。

hjk003_2-1764123571437.pnghjk003_2-1764123571437.png

4.

hjk003_3-1764123601664.pnghjk003_3-1764123601664.png

hjk003_4-1764123626665.pnghjk003_4-1764123626665.png

调用发送函数时,PC 没有收到任何数据。

hjk003_5-1764123689621.pnghjk003_5-1764123689621.png


Re: imx8mp-evk multicore M-core UART resource access failed

@Zhiming_Liu 

同样的设置时钟频率我也尝试过,但还是没有输出

hjk003_0-1764142779109.pnghjk003_0-1764142779109.png


Re: imx8mp-evk multicore M-core UART resource access failed

Hi @hjk003 

请拷贝UART4的时钟配置代码,改成UART3。CLOCK_EnableClock(kCLOCK_Uart3)只能解除门控,不能设置对于的clock源和时钟速率。

Zhiming_Liu_0-1764141185051.pngZhiming_Liu_0-1764141185051.png

Best Regards,
Zhiming

Re: imx8mp-evk multicore M-core UART resource access failed

@Zhiming_Liu顺便说一下,我的项目是基于对 evkmimx8mp_rpmsg_lite_pingpong_rtos_linux_remote_cm7 所做的演示更改。

Re: imx8mp-evk multicore M-core UART resource access failed

@Zhiming_Liu当然,这是我的项目。

Re: imx8mp-evk multicore M-core UART resource access failed

您好@hjk003
,能否在此分享您的项目?或发送私人信息。


致敬,
Zhiming

Re: imx8mp-evk multicore M-core UART resource access failed

@Zhiming_Liu感谢您的回复。但是,我不想更改默认调试串行端口;我想使用另一个 UART3。

左侧包含我的函数,右侧包含用于安装调试串行端口的配置。

hjk003_0-1764138610526.pnghjk003_0-1764138610526.png


Re: imx8mp-evk multicore M-core UART resource access failed

您好@hjk003

请确保您已将所有 UART4 替换为 UART3,并低于 UART_INSTANCE。

Zhiming_Liu_0-1764136362949.pngZhiming_Liu_0-1764136362949.png

致敬,
Zhiming

Re: imx8mp-evk multicore M-core UART resource access failed

@Zhiming_Liu 好的,感谢回复。我尝试一下。

Re: imx8mp-evk multicore M-core UART resource access failed

Hi @hjk003 

1.首先关于RDC的配置,uboot里只分配给M7就行,这段配置会写在RAM中,ATF起来之后会读取这段配置,然后写入对应的寄存器。

2.关于这个共享访问的问题,我们建议将一组外设只分配给一个核心,例如你把GPIO2都分给M7,如果A53要访问的GPIO2下面的IO,需要通过rpmsg的机制来实现属性控制。其他外设类似。

3.设备树里的pinctrl并不会管UART 管脚分配给谁了,只要定义在里面,驱动就会设置对应的iomux寄存器。虽然M7和A53都有访问权限,但是后占有的就可能读写有问题。你可以试试在uboot里加载M7固件,看看是不是正常的,保留A53 设备树里的pinctrl设置。

Best Regards,
Zhiming

Re: imx8mp-evk multicore M-core UART resource access failed

Hi @hjk003 

我这边之前是测试过的,一般确保uboot里M7独占UART3,SDK里只有复制UART4的代码就可以启动了。DbgConsole_Init里用的UART INSTANCE你改了吗?



Best Regards,
Zhiming

Tags (1)
No ratings
Version history
Last update:
‎11-28-2025 03:24 AM
Updated by: