TinaLinux在t113平台Tina 5.0 OpenWRT开发详解:配置文件介绍与定制连载
SBC-T113S产品特性:
SBC-T113S产品功能评估图:
Tina系统配置:
本章节将介绍 Tina Linux 系统中配置文件及其配置方法。
Kconfig 管理配置
Tina Linux采用 Kconfig 机制对 SDK 和内核进行配置。
Kconfig 是一种固定格式的配置文件。Linux 编译环境中的 menuconfig 程序可以识别这种格式的配置文件,并提取出有效信息生成可视化的配置菜单。
Tina Linux 包含两个 menuconfig,一个是对内核进行管理和配置的 kernel_menuconfig,一个是对软件包进行管理和配置的 Tina menuconfig。
kernel menuconfig
在 Tina Linux 的配置环境中配置好环境变量进入可编译状态后,输入
make kernel_menuconfig
即可进入 kernel menuconfig 配置菜单。
配置菜单源文件为:
tina/device/config/chips/t113_s4/configs/sbc-t113s_nand
/linux-5.4/config-5.4 #t113_s4和sbc-t113s_nand
分别为芯片名和实际方案名,根据当前选择的编译方案决定输出 cconfig 可快速转跳到该目录。
Tina menuconfig
在 Tina Linux 的配置环境中配置好环境变量进入可编译状态后,输入
make menuconfig
即可进入Tina menuconfig配置菜单。
配置菜单源文件为:
tina/openwrt/target/t113_s4/sbc-t113s_nand/defconfig #t113_s4
和
sbc-t113s_nand
为芯片名和实际方案名,根据当前选择的编译方案决定,输出 cdevice 可快速转跳到该目录。
Kconfig 配置方法
这里以 kernel menuconfig 作为例子,讲解如何使用、配置各选项,并以配置 Wi-Fi,蓝牙驱动为例说明 Kconfig 基础配置方法。
首先我们进入 kernel menuconfig
make kernel_menuconfig
这里就是 kernel menuconfig
的主目录。其具体的操作方法如下图所示。
Device Tree
Device Tree(设备树)是标准Linux下定义的一种硬件板级描述机制,通过.dts文件,对硬件进行配置。
dts文件
Tina Linux下有两份.dts文件,分别位于内核和方案目录下。
内核dts文件路径:
tina/kernel/linux-5.4/arch/arm/boot/dts/
属于T113_S4的的.dts文件包括:
sun8iw20p1 .dtsi #T113_S4主DTS配置文件
sun8iw20p1 -clk.dtsi #T113_S4时钟配置文件
sun8iw20p1 -pinctrl.dtsi #T113_S4引脚配置文件
方案dts文件路径:
tina/device/config/chips/t113_s4/configs/sbc-t113s_nand/linux-5.4/board.dts
方案dts优先级高于内核dts方案,遇到冲突时方案dts会覆盖内核dts中的配置。
方案开发时一般建议只修改方案目录下的dts文件 board.dts ,以免影响其它方案。
分区表
在全志平台中,通过 sys_partition.fex 文件配置分区。
分区配置文件路径:
tina/device/config/chips/t113_s4/configs/sbc-t113s_nand/linux-5.4/sys_partition.fex
配置格式示例
以rootfs分区为例:
[partition]
name = rootfs
size = 20480
downloadfile = "rootfs.fex"
user_type = 0x8000
每个分区以 [partition] 标识,分区属性及其意义如下表。
Table: 分区属性
属性 |
含义 |
必选 |
备注 |
name |
分区名 |
Y |
|
size |
分区大小 |
Y |
单位:扇区(512B), |
downloadfile |
分区烧入的镜像文件 |
N |
注2 |
verify |
量产后校验标识 |
N |
(默认)1:使能; 0:禁用 |
user_type |
分区属性 |
N |
注4 |
keydata |
量产时是否擦除本分区 |
N |
0x8000:使能; 其他无效 |
更多请参考《Tina Linux 存储开发指南》
env.cfg
env用于配置一些系统级参数,如启动等待时间、内核会用到的环境变量、系统加载状态、串口及打印等级、安全校验参数等。
芯片默认env配置文件路径:
device/config/chips/t113_s4/configs/default/env.cfg
具体方案env配置文件路径:
device/config/chips/t113_s4/configs/sbc-t113s_nand/linux-5.4/env.cfg
具体方案的配置文件优先级大于芯片默认配置文件。
sys_config.fex
sysconfig是全志平台定义的一种GPIO配置的方法。适用于BOOT0与Uboot环境
配置文件路径为:
tina/device/config/chips/t113_s4/configs/sbc-t113s_nand/sys_config.fex
GPIO配置格式:
Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
sys_config.fex的配置优先级高于u-boot设备树的优先级,当配置冲突时会以 sys_config.fex配置为准。
作者:szembed