跳到主要内容

luckfox-config 配置

Luckfox Pico 的引脚具有多种复用功能,根据实际项目的需求往往需要对设备树进行调整。本节会在编译阶段和系统运行阶段介绍 Luckfox Pico 引脚复用配置的两种方法,通过了解可以灵活地配置 Luckfox-Pico 引脚接口的功能。

1. 介绍

设备树(Device Tree)是 Linux 内核中的一种用于描述硬件设备的板级信息。设备树文件通常以 .dts 或 .dtsi 为扩展名,其中 .dts 文件描述了具体的硬件设备信息,.dts 包含的.dtsi 文件通常描述了硬件同类设备的通用信息。Luckfox Pico 的设备树文件位于 < luckfox-pico SDK >/sysdrv/source/kernel/arch/arm/boot/dts 目录下。

设备树在编译的过程中会结合 .dts 文件和 .dtsi 文件编译为二进制的dtb文件,在 Luckfox Pico 系统运行时 uboot 就会将 dtb 文件加载到内存中,内核在启动过程中会解析 dtb 文件,根据设备树信息进行初始化设备,加载设备对应的驱动和注册设备控制节点等操作。内核读取 dtb 不仅进行一次,在 Linux4.4 版本后引入了动态设备树(Dynamic Device Tree)的机制,可以在系统运行时将配置信息覆盖到已加载的 dtb 上,内核驱动会根据覆盖后的新配置进行调整。

根据设备树配置的加载流程,可以在编译阶段和系统运行阶段配置设备树信息。

1.1 设备树配置简介

Luckfox Pico 的镜像编译阶段首先需要选择对应的板级支持文件。

./build.sh lunch
  • 板级支持文件信息被软链接到 < luckfox-pico SDK >/.BoardConfig.mk

  • 板级支持文件配置了 Luckfox Pico 型号对应的 .dts 文件,其中 Luckfox Pico 硬件设计通用部分较多的型号使用的 .dts 文件会包含同一个 .dtsi 文件以方便统一管理。

  • 不同型号对应的.dts 和 .dtsi 设备树文件如下:

    型号.dts.dtsi
    Luckfox Picorv1103g-luckfox-pico.dtsrv1103-luckfox-pico-ipc.dtsi
    Luckfox Pico mini arv1103g-luckfox-pico-mini-a.dtsrv1103-luckfox-pico-ipc.dtsi
    Luckfox Pico mini brv1103g-luckfox-pico-mini-b.dtsrv1103-luckfox-pico-ipc.dtsi
    Luckfox Pico plusrv1103g-luckfox-pico-plus.dtsrv1103-luckfox-pico-ipc.dtsi
    Luckfox Pico pro/maxrv1106g-luckfox-pico-pro-max.dtsrv1106-luckfox-pico-pro-max-ipc.dtsi
    Luckfox Pico ultrarv1106g-luckfox-pico-ultra.dtsrv1106-luckfox-pico-ultra-ipc.dtsi
    Luckfox Pico ultra Wrv1106g-luckfox-pico-ultra-w.dtsrv1106-luckfox-pico-ultra-ipc.dtsi

1.2 luckfox-config 配置简介

luckfox-config 是 Luckfox Pico 根文件系统的一个工具,可以在 Luckfox Pico 上快速配置设备功能。利用动态设备树机制和fdt工具可以在不重新编译dtb完成大部分的设备配置工作。

  • 终端支持

    系统类型BuildrootUbuntu
    串口支持支持
    SSH支持支持
    ADB无法使用方向键支持
  • 功能

    系统类型BuildrootUbuntu
    GPIO支持不支持配置默认上下拉模式
    PWM支持支持
    UART支持支持
    I2C支持支持
    SPI支持支持
    FBTFT仅支持 Luckfox Pico / Plus / Pro / Max仅支持 Luckfox Pico / Plus / Pro / Max
    RGB仅支持 Luckfox Pico Ultra / Ultra W仅支持 Luckfox Pico Ultra / Ultra W
    TouchScreen仅支持 Luckfox Pico Ultra / Ultra W仅支持 Luckfox Pico Ultra / Ultra W
    USB支持支持
    CSI支持支持

2. luckfox-config 配置

注意:luckfox-config 的配置基于默认的设备树文件,如果在编译镜像时已经对设备树进行了调整,可能会导致部分功能无法正常使用

2.1 结构

  • luckfox-config 动态设备树配置工具,可以进行图形化交互配置
  • /etc/luckfox.cfg 存储配置信息,用户可进行自定义编辑,每次进入根文件系统都会加载其中的配置项
  • luckfox-config Pin diagram 用于临时存储系统的配置的关键信息,可以让用户直观了解此时引脚的配置状态

2.2 基本使用方法

  1. 打开图形化配置界面:

    luckfox-config 

  2. 键盘上的键进行菜单项目的选择,enter键进入,键或者Tab进行 OK和 cancel 按钮的选择,Esc键取消返回,空格键为选择定选项,任何更改都将在重新启动后生效。注意:ADB登录无法使用 方向键Tab,只能使用数字选择选项,enter确认。

  3. 查看配置情况。引脚使能功能后会被标记“*”号进入锁定状态,如果新使能的接口包含被锁定的引脚将无法继续,可以在 luckfox-config 的 about 菜单或使用命令查看当前引脚的锁定状态 。

    luckfox-config show
    • 如果引脚复用的功能在pin diagram中没有说明会直接标记对应的 GPIO
    • Luckfox Pico Ultra 系列由于 I2C4 与 CSI 摄像头共用,CSI 接口默认开启且 pinctrl-0 中配置了引出的 I2C4 引脚,所以首次开机时会同时标记I2C4所有引脚和RGB引脚
  4. 配置保存

    常用引脚复用(比如:PWM UART I2C SPI)在配置后立刻生效,驱动不支持动态检测的设备(比如:FBTFT RGB 触摸屏 CSI等)在配置后需要重启才能生效。

    注意: 需要重启生效的设置采用的是直接修改 dtb 的方式,在 luckfox.cfg 中的 ENABLE 状态仅作记录,仅修改 luckfox.cfg 在配置加载时不会真正起作用。

  5. 配置加载

    luckfox-config load

    注意: 配置加载在根文件系统启动阶段会自动执行,根据 /etc/luckfox.cfg 中的配置信息创建 dtboverlay 节点写入配置,正常不需要执行该命令。

2.3 常用配置

2.3.1 PWM 配置

  1. 进入 Compatible Devices -> PWM 界面,luckfox-config 会显示支持的所有的 PWM 配置。

  2. 选中计划配置的选项,选中 enable 使能,选中 disable 禁用,如果需要取消配置可以使用方向键选中 Cancel 退回上一个界面。

  3. 如果该引脚已经被复用为其他功能并标记,选中 enable 使能会显示提示信息,需要禁用冲突的配置才能成功使能。

2.3.2 UART 配置

  1. 进入 Compatible Devices -> UART 界面,luckfox-config 会显示支持的所有的 UART 配置。

  2. 选中计划配置的选项,选中 enable 使能,选中 disable 禁用,如果需要取消配置可以使用方向键选中 Cancel 退回上一个界面。

  3. 如果需要配置的引脚被复用为其他功能并标记,选中 enable 使能会显示提示信息,需要禁用冲突的配置才能成功使能。

2.3.3 I2C 配置

  1. 进入 Compatible Devices -> I2C 界面,luckfox-config 会显示支持的所有的 I2C 配置。

  2. 选中计划配置的选项,选中 enable 使能,选中 disable 禁用,如果需要取消配置可以使用方向键选中 Cancel 退回上一个界面,如果选中 enable 使能会进入速率配置界面。

  3. Luckfox Pico Ultra 系统中,如果使能了 CSI 将无法配置 I2C4,如果使能了触摸屏将无法配置 I2C3。

  4. 如果需要配置的引脚被复用为其他功能并标记,选中 enable 使能会显示提示信息,需要禁用冲突的配置才能成功使能。

  5. 当触摸屏被使能时,无法配置 I2C3;当 CSI 被使能时,无法配置 I2C4。

2.3.4 SPI 配置

  1. 进入 Compatible Devices -> SPI 界面,luckfox-config 会显示支持的所有的 SPI 配置。

  2. 选中计划配置的选项,选中 enable 使能,选中 disable 禁用,如果需要取消配置可以使用方向键选中 Cancel 退回上一个界面,如果选中 enable 使能会进入速率配置界面和引脚组合使能界面,可以根据具体需求来判断是否使能 CS 引脚或 MISO 引脚。


  3. 如果需要配置的引脚被复用为其他功能并标记,选中 enable 使能会显示提示信息,需要禁用冲突的配置才能成功使能。

2.3.5 RGB 配置

注意:目前仅有 Luckfox Pico Ultra / Ultra W 支持触摸屏配置,并且 RGB 配置需要重启后才能生效。

  1. 进入 Compatible Devices -> RGB 界面,选中 enable 使能会进入 RGB 配置界面,根据屏幕的产品规格书填写。

  2. 回车会进入下一个配置界面,填写完成后再次回车即可完成配置。

  3. 如果有不符合规范的配置项会有提示。

  4. 如果需要配置的引脚被复用为其他功能并标记,选中 enable 使能会显示提示信息,需要禁用冲突的配置才能成功使能。

2.3.6 TouchScreen 配置

注意:目前仅有 Luckfox Pico Ultra / Ultra W 支持触摸屏配置,并且配置仅支持 GT911 触摸芯片,触摸屏配置需要重启后才能生效。

  1. 进入 Compatible Devices -> TouchScreen 界面,选中 enable 使能会进入触摸屏I2C地址配置界面,根据实际情况选择,通常选择 0x14 项。

  2. 如果有其他 I2C3 引脚被使用,无法配置触摸屏,防止触摸屏的使能和禁用影响 I2C3 正在运行的任务。

  3. 如果需要配置的引脚被复用为其他功能并标记,选中 enable 使能会显示提示信息,需要禁用冲突的配置才能成功使能。

2.3.7 CSI 配置

  1. 进入 Compatible Devices -> CSI 界面,选中 enable 使能,选中 disable 禁用。

  2. 使用 Luckfox Pico Ultra 系列时建议开机后配置一次 CSI,防止影响后续其他配置。

  3. 如果有其他 I2C4 引脚被使用,无法配置 CSI ,防止 CSI 配置的使能和禁用影响 I2C4 正在运行的任务。

    • 注意: CSI 配置需要重启后才能生效

2.4.8 USB 配置

  1. 进入 Compatible Devices -> USB 界面,配置 USB 的模式为 peirpheralhost
  • 注意: USB 配置需要重启后才能生效