FAQimx6ull Linux应用层操作spi接口进行数据收发

以配置ecspi4为例。1.配置设备树dma无需进行额外的配置,在imx6ull.dtsi里,ecspi4节点默认是使能dma的:ecspi4: ecspi@02014000 { … dmas
更新时间:2025.02.17 浏览量:0

以配置ecspi4为例。


1.配置设备树

dma无需进行额外的配置,在imx6ull.dtsi里,ecspi4节点默认是使能dma的:

ecspi4ecspi@02014000 {

   …

   dmas = <&sdma 9 7 1>, <&sdma 10 7 2>;

   dma-names = "rx""tx";

   …

};


在dts中加入如下内容:

&iomuxc {

    /* 引脚配置,需根据实际配置进行修改 */

    pinctrl_ecspi4ecspi4grp {

        fsl,pins = <

            MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK   0x70a1

            MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI  0x70a1

            MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO 0x70a1

            MX6UL_PAD_ENET2_RX_ER__ECSPI4_SS0   0x70a1

        >;

    };

};

 

&ecspi4 {

    #address-cells = <1>;

    #size-cells = <0>;

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_ecspi4>;

    status = "okay";

 

    spidev0spi@0 {

        reg = <0>; /* 0表示使用ecspi4控制器的第一个片选,即ECSPI4_SS0 */

        compatible = "rohm,dh2228fv";

        spi-max-frequency = <20000000>; /* spi设备支持的最大频率 */

    };

};



2.配置内核

内核配置需要选上CONFIG_SPI_SPIDEV,然后重新编译。


3.生成的设备节点

在烧写新的设备树与内核之后,进入到系统,会出现/dev/spidevX.Y设备节点,如/dev/spidev1.0。通过访问这个设备节点,可以进行数据收发等操作。


4.应用例程

附件为应用例程代码,该例程提供了数据收发、配置spi设备(工作模式、速度等)的功能。

应用编译命令:arm-linux-gnueabihf-gcc spidev_test.c -o spidev_test。

spidev_test的相关选项:

-D --device   device to use (default /dev/spidev1.1)

-s --speed    max speed (Hz)

-d --delay    delay (usec)

-b --bpw      bits per word

-i --input    input data from a file (e.g. \"test.bin\")

-o --output   output data to a file (e.g. \"results.bin\")

-l --loop     loopback

-H --cpha     clock phase

-O --cpol     clock polarity

-L --lsb      least significant bit first

-C --cs-high  chip select active high

-3 --3wire    SI/SO signals shared

-v --verbose  Verbose (show tx buffer)

-p                Send data (e.g. \"1234\\xde\\xad\")

-N --no-cs    no chip select

-R --ready    slave pulls low to pause

-2 --dual     dual transfer

-4 --quad     quad transfer

-S --size     transfer size

-I --iter     iterations

  • 上一篇:IMX6ULL_字符设备驱动应用笔记
  • 下一篇:没有了