---
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

ZYNQ Linux使用SPI驱动的更多相关文章

  1. [DM8168]Linux下SPI驱动测试

    1.内核自带的SPI相关的驱动文件 项目中有CPU与FPGA进行通信,用到SPI接口: SPI头文件在: linux-kernel/include/linux/spi.h SPI实现在: linux- ...

  2. linux内核SPI总线驱动分析(一)(转)

    linux内核SPI总线驱动分析(一)(转) 下面有两个大的模块: 一个是SPI总线驱动的分析            (研究了具体实现的过程) 另一个是SPI总线驱动的编写(不用研究具体的实现过程) ...

  3. Linux Spi驱动移植小结

    2012-01-07 22:21:29 效果图: 理论学习后,主要是linux中spi子系统设备框架的了解后,主控制器与设备分离的思想,那么我要开始动手了. 1,  make menuconfig添加 ...

  4. linux驱动基础系列--linux spi驱动框架分析

    前言 主要是想对Linux 下spi驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型等也不进行详细说明原理.如果有任何错误地方,请指出,谢谢! spi ...

  5. linux驱动基础系列--linux spi驱动框架分析(续)

    前言 这篇文章是对linux驱动基础系列--linux spi驱动框架分析的补充,主要是添加了最新的linux内核里设备树相关内容. spi设备树相关信息 如之前的文章里所述,控制器的device和s ...

  6. 和菜鸟一起学linux总线驱动之初识spi驱动数据传输流程【转】

    转自:http://blog.csdn.net/eastmoon502136/article/details/7921846 对于SPI的一些结构体都有所了解之后呢,那么再去瞧瞧SPI的那些长见的操作 ...

  7. zynq linux驱动之PL-PS中断【转】

    转自:https://blog.csdn.net/h244259402/article/details/83993524 PC:Windows 10 虚拟机:ubuntu 16.04 vivado:2 ...

  8. Linux驱动:SPI驱动编写要点

    题外话:面对成功和失败,一个人有没有“冠军之心”,直接影响他的表现. 几周前剖析了Linux SPI 驱动框架,算是明白个所以然,对于这么一个庞大的框架,并不是每一行代码都要自己去敲,因为前人已经把这 ...

  9. linux驱动基础系列--Linux下Spi接口Wifi驱动分析

    前言 本文纯粹的纸上谈兵,我并未在实际开发过程中遇到需要编写或调试这类驱动的时候,本文仅仅是根据源码分析后的记录!基于内核版本:2.6.35.6 .主要是想对spi接口的wifi驱动框架有一个整体的把 ...

  10. Linux驱动 - SPI驱动 之三 SPI控制器驱动

    通过第一篇文章,我们已经知道,整个SPI驱动架构可以分为协议驱动.通用接口层和控制器驱动三大部分.其中,控制器驱动负责最底层的数据收发工作,为了完成数据的收发工作,控制器驱动需要完成以下这些功能:1. ...

随机推荐

  1. 数字电路中的等效电路和FPGA中的等效电路

    欢迎各位朋友关注"郝旭帅电子设计团队",本微信公众号会定时更新相关技术类资料.软件等等,希望各位朋友都能在本微信公众号获得一些自己想要的"东西". 本篇内容主要 ...

  2. MacBook M1 虚拟机安装Windows for ARM使用体验

    前言 大家好,我是 刚进入春天还没来得及踏青又开始从早忙到晚的 蛮三刀.去年给大家带来了一篇比较详尽的MacBook M1评测.评测经历了全网的热情转载,成为了我唯一的一篇爆款文章(我该哭还是该笑!) ...

  3. Docker 必知必会----初识

    什么是Docker?Docker 是一个开源的容器管理引擎.开发者可以通过Docker直接管理应用程序所需要的容器.它的logo如下: 为什么需要Docker使用Docker主要有两个原因,1.屏蔽不 ...

  4. 在python中安装包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))

    所以最终的 解决办法:pip install keras -i http://pypi.douban.com/simple --trusted-host pypi.douban.com(其中的kera ...

  5. Linux查看文件指定行数内容与查找文件内容

    Linux查看文件指定行数内容 1.tail date.log 输出文件末尾的内容,默认10行 tail -20 date.log 输出最后20行的内容 tail -n -20 date.log 输出 ...

  6. golang map转xml

    package main import ( "encoding/xml" "fmt" ) type MyMap map[string]interface{} t ...

  7. Ubuntu下MPICH的安装与配置

    原创直达链接 一.MPICH的下载与安装 MPI安装文件下载地址: 博客下载地址 或 官网地址 可以下载3.4.2版本的,本文就是3.4.2版本 1.解压: sudo tar - zxvf mpich ...

  8. 小程序真机报错errMsg: “hideLoading:fail:toast can‘t be found“ ?

    showLoading 和 showToast 同时只能显示一个: showLoading 应与hideLoading 配对使用: 把请求接口统一封装,开始请求接口时showLoading,请求接口后 ...

  9. 处理flex布局

    点击查看代码 <view class="recommend-view"> <view class="title-view"> 热门推荐 ...

  10. 密码学—DES加密算法

    文章目录 DES流程 DES细节 生成密钥 DES加密 E盒扩展 S盒替换 P盒置换 DES流程 因为DES是对比特流进行加密的,所以信息在加密之前先转为二进制比特流 1:生成16把密钥 只取给出的密 ...