root@yy3568-alip:/sys# ls /sys/class/gpio/gpio* -F
/sys/class/gpio/gpio114@ /sys/class/gpio/gpiochip511@
/sys/class/gpio/gpiochip0@ /sys/class/gpio/gpiochip64@
/sys/class/gpio/gpiochip128@ /sys/class/gpio/gpiochip96@
/sys/class/gpio/gpiochip32@
@
符号表示该文件是一个符号链接(symbolic link)
tee
命令用于将数据从标准输入读取并将其内容写入一个或多个文件。
"FPC" 是 Flexible Printed Circuit(柔性印刷电路板)的缩写。这是一种由薄而柔韧的绝缘材料制成的印刷电路板,其中包含了导电线路和元件。在电子设备中,FPC 通常用于需要高密度互连、重量轻、厚度薄和灵活性高的场合。
在硬盘领域,有时会出现需要将 FPC 接口转换为 SATA 接口的情况,尤其是在一些小型设备或定制化设计中,硬盘可能使用了 FPC 作为数据和电源接口。这时,FPC 转 SATA 转接板就是一个适配器,一端是用于连接硬盘的 FPC 接口,另一端则是标准的 SATA 数据和电源接口,从而使得硬盘可以连接到具备 SATA 接口的主板或其他设备上,实现数据传输和供电。
在Wi-Fi术语中,AP(Access Point)指的是无线接入点,它是一种设备,允许无线设备(如笔记本电脑、智能手机和平板电脑)连接到有线网络。AP创建了一个无线局域网(WLAN),允许无线客户端设备通过无线电波与其通信,进而访问互联网或共享本地网络资源。
`nmcli dev wifi` 是Linux系统中用于管理和操作Wi-Fi网络的命令行工具 NetworkManager 的命令,用来扫描附近的无线接入点(AP)。当你运行这个命令时,它会列出周围的Wi-Fi信号及其相关信息,如SSID(网络名称)、信号强度、加密方式等。
sudo i2ctransfer -f -y 5 w2@0x5d 0x80 0x47 r3
:
i2ctransfer
:执行I²C总线上的数据传输操作。-f
:表示强制执行,即便I²C总线没有准备好也尝试进行操作。-y
:允许没有相应设备文件时依然尝试进行操作,通常用于调试尚未建立设备节点的情况。5
:表示使用I²C总线编号为5的总线。w2@0x5d
:指定了I²C设备地址为0x5d
,并且使用读/写模式(write-then-read,即先写后读)。w2
意味着先写入两个字节数据,再读取数据。0x80 0x47
:接下来的两个十六进制数是要写入到设备0x5d
的两个字节数据。r3
:表示在写入数据后从设备读取3个字节的数据。/data/share 100.100.100.0/24(rw,sync,root_squash,no_subtree_check)
NFS(Network File System,网络文件系统)服务器的一个共享目录配置语句。
/data/share
:这是NFS服务器上要共享出去的本地目录。
100.100.100.0/24
:这是允许访问此共享目录的客户端IP地址范围,表示的是从100.100.100.0到100.100.100.255的整个C类子网。
(rw,sync,root_squash,no_subtree_check)
:这些是NFS共享的选项:
rw
:表示客户端对该共享目录具有读写权限。
sync
:同步模式,数据在写入到NFS服务器的共享目录之前,会等待数据完全写入磁盘。这对于数据一致性要求较高的场景很重要,但可能会影响性能。
root_squash
:当来自客户端的请求是来自root用户时,NFS服务器将该请求映射到匿名用户或nobody用户,从而限制了远程root用户的权限,提高了安全性。
no_subtree_check
:禁用子树检查,提高NFS性能,但这也意味着如果客户端在共享目录下有其他子目录的挂载,NFS服务器不会检查这些子目录的权限。在某些安全策略严格的环境中,可能需要启用子树检查以增强安全性。
这个配置在NFS服务器的 /etc/exports
文件中,用于定义对外共享的目录及其权限设置。
systemctl
是在基于 systemd 的 Linux 发行版中用于管理系统服务、系统资源、启动目标以及系统运行状态的命令行工具。systemd 是现代 Linux 系统中的初始化系统及服务管理器,它替代了早期的 SysV init 和 Upstart 系统,旨在提高系统的启动速度、降低进程依赖性并简化服务管理。
systemctl
提供了一系列命令行选项和子命令,使得用户和系统管理员能够:
.service
文件)。举例来说,常见的 systemctl
命令有:
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
systemctl status nginx.service
systemctl enable nginx.service
systemctl get-default
或 systemctl list-units --type=target
systemctl
提供了一个统一且强大的接口,便于系统管理员进行日常维护和故障排查。
SMBus总线是一种二线制串行总线,主要用于系统管理通信。
SMBus,全称为System Management Bus,即系统管理总线,它是基于I²C总线规范设计的一种通信协议。SMBus主要用于在计算机主板上的各种设备之间进行低速的系统管理通信,如电池管理、温度监控、风扇控制等。其特点包括:
总的来说,SMBus总线是一种专门用于系统管理的通信协议,它在硬件设计和软件实现上都提供了便利,使得系统管理工作更加高效和稳定。
AT24C32是一款32Kbit(即4096位)的EEPROM芯片。EEPROM,全称为电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory),是一种非易失性存储技术。
AT24C32属于串行EEPROM存储器芯片,通常用于存储系统配置、用户数据、校准参数等信息。这种类型的芯片通过I²C(Inter-Integrated Circuit)接口进行数据传输,支持3.3V和5V的供电电压,并且具有高达100万次的重复写能力,数据保存时间可长达100年。
gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu
是一个特定版本的 GCC(GNU Compiler Collection)编译器套件,由 Linaro 维护并针对 ARM 64 位架构(也称为 AArch64)进行了优化。这个工具链主要用于在 x86_64 架构的 Linux 系统上交叉编译目标为 AArch64 架构的程序。
gcc
: 表示这是 GNU 编译器集合,包含 C、C++、Fortran 等语言的编译器。linaro
: 指的是 Linaro,这是一个致力于为 ARM 架构开发开源软件的非营利组织。6.3.1
: 这是 GCC 的版本号,表示基于 GCC 6.3.1 版本进行优化和定制。2017.05
: 发布日期,这套工具链于 2017 年 5 月发布。x86_64
: 表示该工具链运行于 x86_64 架构的计算机上。aarch64
: 表明此工具链的目标架构是 ARM 的 64 位架构(AArch64)。linux-gnu
: 表示该工具链生成的代码适用于类 GNU/Linux 系统。export PATH=$PATH:${sdk目录路径}/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
这三个命令都是在Linux环境中设置环境变量
export PATH=$PATH:${sdk目录路径}/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
${sdk目录路径}
需要替换为实际的SDK安装目录路径。添加这个路径是为了能够直接调用其中的交叉编译工具,如aarch64-linux-gnu-gcc等。export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
ALSA(Advanced Linux Sound Architecture,高级Linux声音架构)是Linux操作系统内核的一部分,它是一个用于处理声音和多媒体流的核心子系统,提供对各种音频硬件设备的底层驱动支持。ALSA替代了早期Linux内核中的Open Sound System (OSS),并在Linux 2.6内核及其后续版本中成为默认的声音子系统。
ALSA框架主要包括以下几个关键部分:
内核模块:包含了一系列音频硬件驱动程序,负责与硬件接口通信,管理音频数据传输和同步,并支持多种音频接口标准。
alsa-lib:一套用户空间库,为应用程序提供API(应用程序编程接口),使得开发者可以轻松地编写利用音频硬件的应用程序,而不必直接与内核模块打交道。
控制接口:允许用户和应用程序调整音频硬件的各种参数,比如音量、采样率、通道模式等。
插件架构:ALSA支持一系列插件以增强功能,比如混音器(mixer)组件,能够实现多个音频流的混合和路由。
PCM( Pulse Code Modulation)子系统:用于音频数据的捕获(录音)和回放(播放),支持不同格式和采样率的转换。
MIDI支持:除了音频外,ALSA还提供了对MIDI设备的支持,允许计算机与音乐合成器、控制器和其他MIDI设备之间的交互。
RK平台所使用的MPP库全称为“Media Process Platform”,它是Rockchip(瑞芯微电子)公司为其芯片产品提供的一个媒体处理库。这个库主要用于硬件加速编解码,支持视频编码、解码以及可能的其他媒体处理任务,如视频图像的预处理或后处理。MPP库设计的目的在于简化开发者的工作,通过提供一组接口(如MPI接口),隐藏了硬件级别的复杂操作,使得开发者能够在用户空间方便高效地调用RK芯片的硬件编解码能力。
在RK平台上,通过集成MPP库,开发者能够快速地构建基于RK系列处理器的嵌入式设备上的媒体处理应用程序,如智能电视、安防摄像头、车载娱乐系统以及其他涉及音视频处理功能的设备。借助MPP库,可以充分利用硬件加速优势,提高编解码效率,降低CPU负载,优化系统性能。