TI中文支持网
TI专业的中文技术问题搜集分享网站

TDA4VM: vision_app下的freertos应用的管脚配置

Part Number:TDA4VM

您好,我看在PDK下的ti/drv里的案例,大多数是通过Board_init来配置管脚复用情况,但是vision_app下我看没有,是不是vision_app下的管脚配置是通过linux的DTS配置文件共用的,可以不用单独配置了?比如ti/drv/spi的案例,是通过Board_init来配置了spi的管脚复用,如果我要通过更改vision_app/platform/j721e/freertos/mcu2_0下的案例来使用SPI,是不是只需要在linux/arch/arm64/dts/ti/下的设备树文件修改就可以了?

Gary Lu:

您好,

是的,您的理解是正确的。

,

wei dong:

k3-j721e-main.dtsi里配置

main_spi1: spi@2110000 { compatible = "ti,am654-mcspi","ti,omap4-mcspi"; reg = <0x00 0x02110000 0x00 0x400>; interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>; #address-cells = <1>; #size-cells = <0>; clocks = <&k3_clks 267 1>; power-domains = <&k3_pds 267 TI_SCI_PD_EXCLUSIVE>; dmas = <&main_udmap 0xc604>, <&main_udmap 0x4604>; dma-names = "tx0", "rx0"; };

在k3-j721e-sk.dts里配置

&main_spi1 { pinctrl-names = "default"; pinctrl-0 = <&spi1_pins_default>; status="okay";

};

spi1_pins_default: spi1_pins_default { pinctrl-single,pins = < J721E_IOPAD(0x1dc, PIN_OUTPUT, 0) /* (Y1) SPI1_CLK */ J721E_IOPAD(0x1e0, PIN_OUTPUT, 0) /* (Y5) SPI1_D0 */ J721E_IOPAD(0x1e4, PIN_INPUT, 0) /* (Y2) SPI1_D1 */ J721E_IOPAD(0x1d4, PIN_OUTPUT, 0) /* (Y3) SPI1_CS0 */ >; };

帮忙看看这样配置mainspi1后,是不是就可以在vision_app下的freeRTOS里直接可以使用main_spi1了,不用再配置board_init了?有没有可能会有冲突的,比如A72的LINUX可能也会用到SPI1,然后可能再在MCU上操作SPI1的话就无法操作了?

,

Gary Lu:

在这种配置下,A72的Linux系统和MCU都可以使用SPI1,因为Linux和FreeRTOS是通过设备树进行资源分配的,不会发生冲突。设备树会根据配置来分配资源,确保不同的操作系统或应用程序可以正确地共享硬件资源。

但是,需要确保在使用SPI1时,不会出现资源冲突或竞争条件。例如,如果A72的Linux系统和MCU同时尝试访问SPI1,可能会导致通信错误或不稳定的行为。因此,需要在软件层面进行协调,确保在任何给定时间内只有一个操作系统或应用程序使用SPI1。

总之,根据您的设备树配置,您可以在Vision_app下的FreeRTOS中直接使用main_spi1,而无需再进行额外的板级初始化。但是,在实际使用中需要注意资源的协调和管理,以避免不必要的冲突。

,

wei dong:

再确认以下,这个设备树的配置,是要修改linux目录下的,还是要修改u-boot目录下?

,

Gary Lu:

wei dong said:linux

LInux

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: vision_app下的freertos应用的管脚配置
分享到: 更多 (0)