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 Pico rv1103g-luckfox-pico.dts rv1103-luckfox-pico-ipc.dtsi Luckfox Pico mini a rv1103g-luckfox-pico-mini-a.dts rv1103-luckfox-pico-ipc.dtsi Luckfox Pico mini b rv1103g-luckfox-pico-mini-b.dts rv1103-luckfox-pico-ipc.dtsi Luckfox Pico plus rv1103g-luckfox-pico-plus.dts rv1103-luckfox-pico-ipc.dtsi Luckfox Pico pro/max rv1106g-luckfox-pico-pro-max.dts rv1106-luckfox-pico-pro-max-ipc.dtsi Luckfox Pico ultra rv1106g-luckfox-pico-ultra.dts rv1106-luckfox-pico-ultra-ipc.dtsi Luckfox Pico ultra W rv1106g-luckfox-pico-ultra-w.dts rv1106-luckfox-pico-ultra-ipc.dtsi
1.2 luckfox-config 配置简介
luckfox-config 是 Luckfox Pico 根文件系统的一个工具,可以在 Luckfox Pico 上快速配置设备功能。利用动态设备树机制和fdt工具可以在不重新编译dtb完成大部分的设备配置工作。
终端支持
系统类型 Buildroot Ubuntu 串口 支持 支持 SSH 支持 支持 ADB 无法使用方向键 支持 功能
系统类型 Buildroot Ubuntu 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 基本使用方法
打开图形化配置界面:
luckfox-config
键盘上的↑、↓键进行菜单项目的选择,enter键进入,←、→键或者Tab进行 OK和 cancel 按钮的选择,Esc键取消返回,空格键为选择定选项,任何更改都将在重新启动后生效。注意:ADB登录无法使用 方向键和 Tab,只能使用数字选择选项,enter确认。
查看配置情况。引脚使能功能后会被标记“*”号进入锁定状态,如果新使能的接口包含被锁定的引脚将无法继续,可以在 luckfox-config 的 about 菜单或使用命令查看当前引脚的锁定状态 。
luckfox-config show
- 如果引脚复用的功能在pin diagram中没有说明会直接标记对应的 GPIO
- Luckfox Pico Ultra 系列由于 I2C4 与 CSI 摄像头共用,CSI 接口默认开启且 pinctrl-0 中配置了引出的 I2C4 引脚,所以首次开机时会同时标记I2C4所有引脚和RGB引脚
配置保存
常用引脚复用(比如:PWM UART I2C SPI)在配置后立刻生效,驱动不支持动态检测的设备(比如:FBTFT RGB 触摸屏 CSI等)在配置后需要重启才能生效。
注意: 需要重启生效的设置采用的是直接修改 dtb 的方式,在 luckfox.cfg 中的 ENABLE 状态仅作记录,仅修改 luckfox.cfg 在配置加载时不会真正起作用。
配置加载
luckfox-config load
注意: 配置加载在根文件系统启动阶段会自动执行,根据 /etc/luckfox.cfg 中的配置信息创建 dtboverlay 节点写入配置,正常不需要执行该命令。
2.3 常用配置
2.3.1 PWM 配置
进入 Compatible Devices -> PWM 界面,luckfox-config 会显示支持的所有的 PWM 配置。
选中计划配置的选项,选中
enable
使能,选中disable
禁用,如果需要取消配置可以使用方向键选中Cancel
退回上一个界面。如果该引脚已经被复用为其他功能并标记,选中
enable
使能会显示提示信息,需要禁用冲突的配置才能成功使能。
2.3.2 UART 配置
进入 Compatible Devices -> UART 界面,luckfox-config 会显示支持的所有的 UART 配置。
选中计划配置的选项,选中
enable
使能,选中disable
禁用,如果需要取消配置可以使用方向键选中Cancel
退回上一个界面。如果需要配置的引脚被复用为其他功能并标记,选中
enable
使能会显示提示信息,需要禁用冲突的配置才能成功使能。
2.3.3 I2C 配置
进入 Compatible Devices -> I2C 界面,luckfox-config 会显示支持的所有的 I2C 配置。
选中计划配置的选项,选中
enable
使能,选中disable
禁用,如果需要取消配置可以使用方向键选中Cancel
退回上一个界面,如果选中enable
使能会进入速率配置界面。在 Luckfox Pico Ultra 系统中,如果使能了 CSI 将无法配置 I2C4,如果使能了触摸屏将无法配置 I2C3。
如果需要配置的引脚被复用为其他功能并标记,选中
enable
使能会显示提示信息,需要禁用冲突的配置才能成功使能。当触摸屏被使能时,无法配置 I2C3;当 CSI 被使能时,无法配置 I2C4。
2.3.4 SPI 配置
进入 Compatible Devices -> SPI 界面,luckfox-config 会显示支持的所有的 SPI 配置。
选中计划配置的选项,选中
enable
使能,选中disable
禁用,如果需要取消配置可以使用方向键选中Cancel
退回上一个界面,如果选中enable
使能会进入速率配置界面和引脚组合使能界面,可以根据具体需求来判断是否使能 CS 引脚或 MISO 引脚。如果需要配置的引脚被复用为其他功能并标记,选中
enable
使能会显示提示信息,需要禁用冲突的配置才能成功使能。
2.3.5 RGB 配置
注意:目前仅有 Luckfox Pico Ultra / Ultra W 支持触摸屏配置,并且 RGB 配置需要重启后才能生效。
进入 Compatible Devices -> RGB 界面,选中
enable
使能会进入 RGB 配置界面,根据屏幕的产品规格书填写。回车会进入下一个配置界面,填写完成后再次回车即可完成配置。
如果有不符合规范的配置项会有提示。
如果需要配置的引脚被复用为其他功能并标记,选中
enable
使能会显示提示信息,需要禁用冲突的配置才能成功使能。
2.3.6 TouchScreen 配置
注意:目前仅有 Luckfox Pico Ultra / Ultra W 支持触摸屏配置,并且配置仅支持 GT911 触摸芯片,触摸屏配置需要重启后才能生效。
进入 Compatible Devices -> TouchScreen 界面,选中
enable
使能会进入触摸屏I2C地址配置界面,根据实际情况选择,通常选择 0x14 项。如果有其他 I2C3 引脚被使用,无法配置触摸屏,防止触摸屏的使能和禁用影响 I2C3 正在运行的任务。
如果需要配置的引脚被复用为其他功能并标记,选中
enable
使能会显示提示信息,需要禁用冲突的配置才能成功使能。
2.3.7 CSI 配置
进入 Compatible Devices -> CSI 界面,选中
enable
使能,选中disable
禁用。使用 Luckfox Pico Ultra 系列时建议开机后配置一次 CSI,防止影响后续其他配置。
如果有其他 I2C4 引脚被使用,无法配置 CSI ,防止 CSI 配置的使能和禁用影响 I2C4 正在运行的任务。
- 注意: CSI 配置需要重启后才能生效
2.4.8 USB 配置
- 进入 Compatible Devices -> USB 界面,配置 USB 的模式为
peirpheral
或host
。
- 注意: USB 配置需要重启后才能生效