ZYNQ Linux使用SPI驅動


--- title: ZYNQ Linux使用SPI驅動 EntryName: xilinx-zynq-using-spi-driver-in-linux date: 2020-10-14 10:02:57 categories: tags: - driver - linux - spi ---

配置

Vivado

Vivado中雙擊ZYNQ-PS核(例如ZYNQ7000),選上需要使用的SPI,這一步略。

spi該驅動不支持片選功能,因此若在spi下掛接了多個從設備,而硬件工程中spi0_csn片選接口引出了多個cs信號,則spiddev驅動在注冊時,會在/dev目錄下注冊多個設備,分別對應每個片選接口連接的從設備。

Kernel

Linux內核配置:

CONFIG_SPI_CADENCE
CONFIG_SPI_SPIDEV

Device Drivers  --->
	[*] SPI support  --->
                <*>   Cadence SPI controller
		<*>   User mode SPI device driver support

DTS

/* 新增的內容開始 */
&spi1 { // 注意根據 system-top.dts 中的 修改此處地方
    device@0 {
        compatible = "spidev";
        reg = <0>;
        spi-max-frequency = <5000000>;
        #address-cells = <1>;
        #size-cells = <1>;
    };  
};
/* 新增的內容結束 */

重新編譯內核並啟動系統,即可在/dev目錄下看到注冊的一個SPI字符設備,一般命名為SPIx.x,x代表數字。

App

使用spidev_test.c程序即可。

所在位置(根據PetaLinux版本不同而不同):

  • ${petalinux_path}/components/inux-kernel/xlnx-4.0/Documentation/spi/spi_test.c
  • ${linux}/tools/spi/spidev_test.c


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM