标签归档:linux

为OpenWRT开发配置交叉编译环境

在Linux环境中进行交叉编译是开发嵌入式系统常见的一种做法,特别是当开发环境和目标系统的架构不同的时候。例如,在OpenWRT这类定制化的Linux系统中,就经常需要使用交叉编译。下面将介绍为什么需要交叉编译,如何在Linux环境下安装交叉编译工具链,以及如何验证工具链是否安装正确。

继续阅读

spi-gpio-custom:灵活控制SPI总线

1. 引言

SPI(Serial Peripheral Interface)是一种常见的串行通信协议,广泛应用于微控制器与外部设备的连接。

Linux内核中的spi-gpio与spi-bitbang模块可使用GPIO引脚进行SPI的位操作,spidev模块可将SPI暴露给用户空间。但是,这些模块并不能“直接”使用:它们被其他内核驱动程序使用。没有办法动态地说“我想在这些引脚上使用一个SPI”。相反,我们需要重新配置、编译内核。

继续阅读

spidev:Linux内核中的用户空间SPI接口

撰写时间:2023/10/24

1 简介

SPI(串行外设接口)是一种常用的通信协议,用于高速全双工通信。Linux内核提供了一种名为spidev的用户空间接口,用于访问SPI设备。

spidev是一个位于Linux内核空间的接口程序。其作用是充当用户程序与内核空间SPI核心底层驱动之间的桥梁。通过spidev接口,开发者可以直接在用户空间进行程序开发以调用底层SPI驱动,这大大降低了SPI驱动开发的门槛。通常情况下,设备驱动的开发需要在内核空间中进行,这对大多数开发者来说是一项相对复杂和陌生的任务。然而,由于spidev的存在,开发者无需深入了解或学习内核开发的各种方法与流程,可以直接使用熟悉的开发工具和语言,来轻松地完成SPI驱动的开发。这样,即便是不熟悉内核开发的人员也能更方便地进行SPI通讯开发。

继续阅读

SPI总线控制器

SPI总线控制器是负责管理SPI通信的硬件或软件模块。在硬件上,它是一个集成电路或微控制器内的一个部分,负责生成SCLK信号、读取和写入数据以及管理CS信号。在某些情况下,SPI控制器可以管理多个CS信号,从而允许与多个从设备通信。

SPI总线控制器通常提供以下功能:

继续阅读