【问题标题】:Enable hardware SPI on Xillinux在 Xillinux 上启用硬件 SPI
【发布时间】:2016-08-31 18:49:30
【问题描述】:

我有一块运行 Xillinux 1.3 的 MicroZed 板。我想将一个外部 SPI ADC 连接到它,并在 linux 中编写一个应用程序来从 ADC 读取值。 Xillinux 中未启用 Zynq 设备的硬件 SPI 接口。我该如何启用它,我必须重新编译 FSBL 和 U-boot,但我不知道从哪里开始。我可以只修改 Xillinux 的 Vivado 设计并从那里开始,还是必须从头开始?

【问题讨论】:

    标签: embedded-linux fpga xilinx vivado zynq


    【解决方案1】:

    您不必修改 FSBL 或 U-boot。您只需要将 SPI 控制器添加到设备树并更新可编程逻辑,以便 SPI 引脚连接到您的 ADC。

    Xilinx SDK 具有用于创建设备树文件的工具,如Build Device Tree Blob 页面所述。

    我通常手动编辑 .dts 文件,但您仍需要运行 dtc 将它们转换为该页面所述的二进制格式。

    例如,下面是zynq-zc770-xm013.dts 板的 .dts 片段,该板启用 SPI 连接到闪存芯片:

    &spi0 {
        status = "okay";
        num-cs = <4>;
        is-decoded-cs = <0>;
        eeprom: at25@0 {
            at25,byte-len = <8192>;
            at25,addr-mode = <2>;
            at25,page-size = <32>;
    
            compatible = "atmel,at25";
            reg = <2>;
            spi-max-frequency = <1000000>;
        };
    };
    

    【讨论】:

      【解决方案2】:

      您必须执行 2 个步骤。

      1- 在内核源代码中修改主板的硬件描述符文件 (.h) 并添加 spi 设备。首先,看一下电路板的原理图和处理器的数据表,以确保使用正确名称的正确器件

      2- 在你的内核配置中添加 spidev

      现在构建并启动内核,如果您检查 /dev/,您应该会找到 spidev** 的东西。

      【讨论】:

        猜你喜欢
        • 2016-01-24
        • 1970-01-01
        • 2010-09-29
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 2015-03-15
        • 1970-01-01
        相关资源
        最近更新 更多