Linux Watchdog
看门狗(WDT)是基于定时器的硬件保护机制,通过周期性喂狗确保系统稳定运行,异常时触发复位恢复初始状态。Linux内核采用三层架构(设备驱动层、核心层、统一设备驱动层)实现看门狗子系统,通过字符设备接口与用户空间交互,并支持设备树配置与平台驱动注册。
Linux RTC
文章介绍了Linux实时时钟(RTC)的基础概念、功能、应用场景及特点,对比了内部RTC与外部RTC的优缺点:内部RTC集成在主控芯片内,成本低但精度有限;外部RTC独立运行、精度高但成本高,更适合高精度需求场景。以RK3568开发板为例,分析了其外部RTC芯片RX8010通过I2C5连接,并通过主电源与备用电池切换电路确保断电后时间不丢失。
Linux PWM
PWM(脉冲宽度调制)通过改变占空比控制平均电压或功率,用于电机控制、LED调光等领域。iTOP-RK3568内置16路硬件PWM通道,支持可编程预分频、32位定时/计数、捕获和多种输出模式,其中4路专用于红外应用,各通道可复用到特定GPIO引脚。
Linux UART
UART是一种异步全双工串行通信接口,通过TX和RX两根线传输数据,无时钟线。通信双方需设定相同波特率(如9600、115200),在二进制系统中比特率等于波特率。每帧数据包含1位起始位、8位数据位、可选的奇偶校验位和停止位,以LSB优先顺序传输。串口接口电平类型有TTL、RS232、RS485、RS422,通常需要电平转换芯片。
Qemu 模拟树莓派4b Linux module开发环境
使用QEMU模拟树莓派4B,搭建Linux模块开发环境。选择ARM官方便携式交叉编译器(如aarch64-none-linux-gnu-gcc),编译内核与根文件系统。根文件系统可通过busybox、buildroot或yocto构建,需注意工具链与内核版本一致,环境基于WSL2的Archlinux。
Linux SPI
SPI(串行外设接口)是一种由摩托罗拉提出的同步全双工串行通信协议,使用SCLK、MOSI、MISO和CS四根信号线实现主从设备间的数据交换,支持多从设备通过独立片选或菊花链方式接入,通信时主设备提供时钟并同时收发数据。
Linux I2C
I2C(Inter-Integrated Circuit)是一种由飞利浦公司发明的同步串行通信协议,采用主从式架构,通过SCL时钟线和SDA数据线进行通信,支持标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps),使用7位或10位地址寻址,支持多主机仲裁。硬件I2C通过专用电路实现,速率高、CPU占用低,适用于高速数据场景;软件I2C使用GPIO模拟时序,灵活但速率较
Soc启动流程
SoC上电后,片内BootROM(一级启动程序)初始化硬件并采集启动引脚电平,从eMMC、SD卡等外部存储设备将可执行程序读入片内SRAM执行。由于SRAM容量小,通常采用SPL(二级程序加载器)方案:BootROM加载小于SRAM的SPL,SPL初始化外部SDRAM后,将u-boot读入SDRAM并跳转执行。部分方案中,SPL可细分为TPL(芯片级初始化)和SPL(加载trust和u-boot)
topeet RK3568 Linux5.10 编译
介绍在Arch Linux WSL环境下,使用aarch64-linux-gnu-gcc 15.1.0编译器编译Topeet提供的RK3568平台Linux 5.10内核、U-Boot及根文件系统的过程,包括解决clangd对GCC内联汇编报错的源码修改,并列出U-Boot支持的不同defconfig配置。
Linux 单总线
单总线是一种仅需一根信号线即可实现双向数据传输和时钟同步的串行通信协议,具有节省IO口、结构简单等优点。文章以DS18B20数字温度传感器为例,详细介绍了其单总线通信步骤、性能参数(如-55°C~+125°C测量范围、9-12位分辨率、±0.4°C精度)、引脚配置及多点组网能力。
