树莓派dtparam命令的使用

dtparam 是树莓派(Raspberry Pi)系统中一个用于动态配置设备树(Device Tree)参数的命令行工具。它允许用户在启动时或运行时修改硬件接口的配置参数,例如启用/禁用特定硬件模块(如摄像头、I2C、SPI 等)或调整其工作模式。设备树是 Linux 内核用来描述硬件配置的一种机制,而 dtparam 提供了一种简洁的方式来调整这些配置。


基本语法

1
dtparam [选项] <参数>=<值> ...

主要用途

  1. 动态修改设备树参数:无需重新编译设备树文件(.dtb),直接通过命令行或配置文件调整硬件设置。
  2. 硬件接口管理:启用或禁用树莓派的硬件外设接口(如 UART、I2C、SPI 等)。
  3. 调试与开发:快速测试不同硬件配置,无需重启设备(部分参数可能需要重启生效)。

常用选项

选项 说明
-l 列出当前已启用的设备树参数。
-h 显示帮助信息。
-v 详细输出模式(显示调试信息)。

常见用例

1. 显示对应参数的帮助信息

1
dtparam -h eth_led0 eth_led1  # 显示 eth_led0 eth_led1 帮助信息

2. 启用硬件接口

在终端中直接运行以下命令(需 root 权限):

1
2
3
4
sudo dtparam i2c_arm=on    # 启用 ARM 端的 I2C
sudo dtparam spi=on # 启用 SPI
sudo dtparam audio=on # 启用音频接口
sudo dtparam camera=on # 启用摄像头接口(旧版系统)

3. 禁用硬件接口

1
2
sudo dtparam i2c_arm=off   # 禁用 I2C
sudo dtparam spi=off # 禁用 SPI

4. 调整参数值

1
2
sudo dtparam i2c_arm_baudrate=400000  # 设置 I2C 波特率为 400kHz
sudo dtparam audio=on,pwm_irq=off # 启用音频并禁用 PWM IRQ

5. 在 /boot/config.txt 中永久配置

大多数情况下,用户会在 /boot/config.txt 文件中添加 dtparam 配置,使参数在系统启动时自动生效:

1
2
3
# 启用 I2C 和 SPI,并设置 I2C 波特率
dtparam=i2c_arm=on,i2c_arm_baudrate=400000
dtparam=spi=on

常用参数列表

以下是一些常用的 dtparam 参数(具体支持情况可能因树莓派型号和系统版本而异):

参数 说明
i2c_arm=on/off ARM 端的 I2C 接口(GPIO 2/3)
i2c_vc=on/off VC(VideoCore)端的 I2C 接口(通常用于 HAT EEPROM)
spi=on/off SPI 主接口(GPIO 7-11)
audio=on/off 音频接口(3.5mm 耳机孔或 HDMI 音频)
camera=on/off CSI 摄像头接口(旧版系统使用 start_x=1
uart0=on/off 主 UART(PL011,默认用于蓝牙)
uart1=on/off 迷你 UART(默认用于 GPIO 14/15)
watchdog=on/off 硬件看门狗
pwm=on/off PWM 输出(GPIO 12/13/18/19)

注意事项

  1. 参数冲突:某些参数可能与 dtoverlay 加载的叠加层(overlay)冲突,需检查 /boot/config.txt 避免重复配置。
  2. 重启生效:部分参数修改需要重启系统(如摄像头、音频接口)。
  3. 兼容性:不同树莓派型号支持的参数可能不同(如树莓派 Zero 与树莓派 4B 的硬件差异)。
  4. 持久化配置:临时通过命令行修改的参数在重启后会失效,需将配置写入 /boot/config.txt 以永久生效。

查看已启用的设备树参数

1
2
3
dtparam -l
# 或使用 vcgencmd 查看
vcgencmd get_config dtparam

示例:启用 I2C 和 SPI

  1. 编辑 /boot/config.txt
    1
    2
    dtparam=i2c_arm=on
    dtparam=spi=on
  2. 重启树莓派:
    1
    sudo reboot
  3. 验证接口是否启用:
    1
    ls /dev/i2c-* /dev/spi*

通过 dtparam,可以灵活配置树莓派的硬件资源,满足不同项目的需求。如果需要更复杂的硬件配置(如自定义设备树叠加层),可结合 dtoverlay 命令使用。


树莓派dtparam命令的使用
https://dnacore.github.io/post/f0e009d8-cfef-4e46-8ede-9a3b348b86f4.html
作者
DNACore
发布于
2025年2月25日
更新于
2025年2月25日
许可协议