《全志T113-S3 TinaSDK学习笔记》---终端uart串口修改

目录

1 硬件情况

2 修改

2.1 boot0

2.1 uboot

2.1.1 配置文件修改

2.2 kernel

2.2.1 内核设备树

2.2.2 环境变量

2.2.3 修改Kernel的配置文件

2.3 roofs

3 编译

4 END


1 硬件情况

UART1---->UART3
PG6PB6
PG7PB7

图1

如图1所示,源码串口是UART1,我们需要修改为UART3

2 修改

总共需要修改几个地方:boot0、uboot、kernel、rootfs

以100ask_pro开发板为例

2.1 boot0

nano device/config/chips/t113/configs/100ask/sys_config.fex

注释uart1,新增uart3

图2中,PB07<7>这个7对应的就是芯片数据手册function7复用功能号UART3如图3所示

 图2

图 3

2.1 uboot

2.1.1 配置文件修改

查看配置文件位置,如图4所示

nano device/config/chips/t113/configs/100ask/BoardConfig.mk

图 4

nano lichee/brandy-2.0/u-boot-2018/configs/sun8iw20p1_uart3_defconfig

打开该文件,如图5所示的INDEX+1表示用到的串口,uart3 +1 = 4

图 5

这里需要注意,如果这一步未修改则uboot的log就不会显示,如何确定是修改哪个配置文件

通过mboot,可以看到用哪个配置文件,如果提示如下,则说明使用的是Tina-Linux\lichee\brandy-2.0\u-boot-2018\configs\sun8iw20p1_defconfig

我们可以直接修改.config文件

通过搜索lichee\brandy-2.0\u-boot-2018\.config配置文件就可以搜索到CONFIG_CONS_INDEX

uart3则=4

也可以菜单配置,cd lichee/brandy-2.0/u-boot-2018

make menuconfig,这里配置的则是uboot的菜单,Device Drivers->Serial drivers,UART used for console

2.2 kernel

2.2.1 内核设备树

nano device/config/chips/t113/configs/100ask/board.dts

&pio 节点,修改uart3如图6所示

图 6

注意搜索PB6看看有没有被其它功能复用,有就屏蔽

&uart3节点启用,uart1禁用

图 7

2.2.2 环境变量

修改env.cfg文件,因为该文件中存放了启动的环境变量

nano device/config/chips/t113/configs/100ask/env.cfg

图 8

earlyprintk变量指定了启动时日志打印的设备,第一个参数未对应设备,第二个参数设备地址,console指定了串口和波特率,设备地址通过查看t113-i_uaer_mannual手册memort mapping可确认,如图9所示

图 9

2.2.3 修改Kernel的配置文件

通过make kernel_menuconfig指令配置内核,找到kernel hacking->Kernellow-level debugging functions,修改寄存器地址如图10所示,地址看图9所示

图 10

2.3 roofs

这里就是修改文件系统的配置文件,最终生成在系统的/etc/路径下

这一步最关键,直接影响终端是否能用,前面的只是boot和内核打印log的配置,未配置这一步的话启动后终端就无法使用了

如果板级文件夹下没有inittab文件则就修改common下的就好,缺点是不同板子没法不同修改

nano target/allwinner/t113-common/base-files/etc/inittab

图11 中askfirst表示进入终端时首次是否需要按enter,把askfirst改为respawn就可以去掉了 Please press Enter to activate this console

图 11

正确的做法是将inittab复制到板级文件夹下,这样子lunch切换时就会跟随板子变化串口

cp target/allwinner/t113-common/base-files/etc/inittab target/allwinner/t113-100ask/base-files/etc/

修改板级文件:nano target/allwinner/t113-100ask/base-files/etc/inittab

3 编译

mboot,注意uboot的更改需要使用mboot编译,经测试直接使用make的话uboot不会更新

make

pack

4 END

### 关于全志 T113 主线 U-Boot 的编译配置与使用 #### 1. 配置环境准备 为了成功编译主线 U-Boot,需先安装必要的开发工具链以及依赖项。以下是常见的准备工作: - 安装交叉编译器:对于 ARM 架构,推荐使用 `gcc-arm-linux-gnueabihf` 工具链。 - 安装基础依赖库:包括但不限于 `build-essential`, `libncurses-dev`, 和 `flex bison`。 ```bash sudo apt-get update && sudo apt-get install build-essential libncurses-dev flex bison gcc-arm-linux-gnueabihf ``` 此部分操作确保了后续编译过程中的必要组件已就绪[^2]。 --- #### 2. 获取并编译主线 U-Boot 获取最新版本的主线 U-Boot 是实现功能优化的关键步骤之一。具体流程如下所示: - 下载官方仓库代码: ```bash git clone https://sourceforge.net/p/u-boot/git/code/HEAD.git u-boot-mainline cd u-boot-mainline ``` - 设置目标板级支持(Board Support Package, BSP),针对 T113 芯片指定对应的配置选项: ```bash make CROSS_COMPILE=arm-linux-gnueabihf- t113_defconfig ``` 上述命令会加载默认配置文件至 `.config` 中,该文件定义了一系列硬件特性及其初始化逻辑[^1]。 --- #### 3. 自定义裁剪策略 根据实际需求调整不必要的模块可以有效减少固件体积和启动延迟时间。主要方法有两方面考虑: - **修改 DTS 文件**:DTS (Device Tree Source) 描述了设备树结构,在路径 `"device/config/chips/t113_i/configs/tlt113-evm-nand/uboot-board.dts"` 中编辑相关内容来适配特定外设连接情况。 - **精简 Defconfig**:通过移除无用的功能开关降低复杂度。例如禁用串口调试信息输出以加快引导速度: ```diff CONFIG_DEBUG_UART=y -> CONFIG_DEBUG_UART=n ``` 这些改动均记录在 uboot 源码目录下的 `{CHIP}_*_defconfig` 文件里[^3]。 --- #### 4. 编译生成镜像 完成以上设置之后即可执行最终一步——正式构建项目: ```bash make CROSS_COMPILE=arm-linux-gnueabihf- ``` 如果一切顺利的话,则会在当前工作区找到名为 `u-boot.bin` 的二进制结果文件,它就是可以直接烧录到存储介质上的程序映象。 --- #### 5. 测试验证阶段 最后把制作好的 bootloader 写入 NAND Flash 或 eMMC 存储单元,并重启测试整个系统的响应表现如何正常运作起来。这可能涉及到一些额外脚本编写辅助自动化部署流程等工作环节。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值