SDK 功能配置
本章节将介绍 Tina Linux 系统中配置文件及其配置方法。这里以 V861 BGA_PERF1 为例,演示基础的方案配置方法,对于其他方案请对应其文件路径。
Kconfig 管理配置
SDK 采用 Kconfig 机制对 SDK 和内核进行配置。
Kconfig 是一种固定格式的配置文件。Linux 编译环境中的 menuconfig 程序可以识别这种格式的配置文件,并提取出有效信息生成可视化的配置菜单。
SDK 包含多个 menuconfig,包括对内核进行管理和配置的 kernel_menuconfig,对软件包进行管理和配置的 Tina menuconfig,对 RTOS 进行配置的 Tina-RT menuconfig。
kernel menuconfig
在 Tina Linux 的配置环境中配置好环境变量进入可编译状态后,输入
make kernel_menuconfig
即可进入 kernel menuconfig 配置菜单。

配置菜单源文件为:
device/config/chips/v861/configs/bga_perf1/linux-6.6-xuantie/bsp_defconfig
输出 cconfig 可快速转跳到该目录。
Tina menuconfig
在 Tina Linux 的配置环境中配置好环境变量进入可编译状态后,输入
make menuconfig
即可进入Tina menuconfig配置菜单。

配置菜单源文件为:
openwrt/target/v861/v861-bga_perf1/defconfig
输出 cplat 可快速转跳到该目录。
RTOS menuconfig
在 Tina Linux 的配置环境中配置好环境变量进入可编译状态后,输入
mrtos menuconfig
即可进入 rtos menuconfig 配置菜单。

配置菜单源文件为:
rtos/lichee/rtos/projects/v861_e907/bga_perf1/defconfig
输出 cplat 可快速转跳到该目录。
Kconfig 配置方法
这里以 kernel menuconfig 作为例子,讲解如何使用、配置各选项,并以配置 Wi-Fi,蓝牙驱动为例说明 Kconfig 基础配置方法。
首先我们进入 kernel menuconfig
make kernel_menuconfig
这里就是 kernel menuconfig 的主目录。其具体的操作方法如下图所示。

我们再进入较为常用的 Device Driver ,看一下 各个符号的含义。

其中,可以使用 空格键 选中各个选项,这里以 Multimedia support 选项为例:

也可以使用 Y M N 键来修改选项:

遇到被其他依赖选择的选项,可以查看 Help 页面检查被什么选项所依赖。

进入 Help 页面后,便可以查看这个选项的依赖情况。需要注意的是,有些选项是作为底层依赖无法随意取消,例如这里示例的 Hardware Monitoring support 选项。

Kconfig 所创建的界面还有一个功能,就是搜索功能,方便快速的找到目标选项。这里以搜索 LCD 屏幕 icn6202 驱动为例。
在 Kconfig 的界面中按 / 键,进入搜索页面。

Device Tree
Device Tree(设备树)是标准Linux下定义的一种硬件板级描述机制,通过.dts文件,对硬件进行配置。
.dts文件
Tina Linux 下有三份.dts文件,分别位于BSP仓库和方案目录下。包括如下三份设备树
- 内核设备树:用于描述SoC的系统资源,外设,寄存器配置。
- 方案设备树:用于描述具体的引脚配置,外设功能,Sensor配置等。
- U-Boot 设备树:用于描述方案 Uboot 的相关参数,flash map 等功能。
内核dts文件路径:
bsp/configs/linux-6.6-xuantie/sun252iw1p1.dtsi
方案dts文件路径:
device/config/chips/v861/configs/bga_perf1/linux-6.6-xuantie/board.dts
U-Boot 设备树路径:
device/config/chips/v861/configs/bga_perf1/uboot-board.dts
方案dts优先级高于内核dts方案,遇到冲突时方案dts的内容会覆盖内核dts中的配置。
方案开发时一般建议只修改方案目录下的dts文件 board.dts ,以免影响其它方案。
分区表
在全志平台中,通过 sys_partition.fex 文件配置分区。分区表包括两份,针对 SPI NOR 设备使用 sys_partition_nor.fex 针对非 SPI NOR 设备(例如SPI NAND,eMMC)使用 sys_partition.fex
分区配置文件路径:
device/config/chips/v861/configs/bga_perf1/sys_partition_nor.fex
device/config/chips/v861/configs/bga_perf1/sys_partition.fex
配置格式示例
以rootfs分区为例:
[partition]
name = rootfs
size = 20480
downloadfile = "rootfs.fex"
user_type = 0x8000
每个分区以 [partition] 标识,分区属性及其意义如下表。