站内搜索
发作品签到
基于全志T113的串口助手
专业版

基于全志T113的串口助手

7.5k
0
0
4

简介

基于qt和linux的嵌入式串口助手

简介:基于qt和linux的嵌入式串口助手
星火计划2024

开源协议

GPL 3.0

创建时间:2023-06-29 10:14:49更新时间:2024-04-17 15:18:33

描述

项目介绍

(一)本项目是基于全志T113-S3制作的无线串口调试器,上位机由Qt制作的串口助手客户端、下位机数据采集转发装置组成,可以对下位机采集到的数据显示以及对于数据绘制波形。
(二)网络部分由下位机ESP8266提供,通过UDP转发。
(三)数据采集部分由STM32完成串口数据采集,完成采集后,根据使能情况,将进行组包转发。
不足:界面未进行美化。

上位机

P40404-195727.jpg

电源部分

对PMIC不熟悉,所以上位机使用IP5306进行锂电池充放电管理,由单节4.2V锂电池进行供电。

串口输出

使用CH343P对串口3输出TTL信号的调试信息转换成USB差分信号。也可以不焊CH343P,用TTL转USB工具直接于电脑连接。

屏幕

屏幕使用十寸RGB565,同样支持RGB666,触摸IC使用GT911。

WIFI模组

WIFI模组用的是RTL8723DS,这是一款支持WiFi蓝牙双模的芯片,可以后续为上位机提供蓝牙接收能力。

下位机

P20240409-211615.jpg

MCU

下位机则是STM32+ESP8266的组合,STM32F103RET6拥有5个串口,串口1-4 对外接收串口数据,串口5则于ESP8266做转发数据交互。

屏幕

使用一款ST7735 的1.8寸(128*160)SPI屏幕。

源码

上位机由Awboot+Linux+Buildroot组成。
交叉编译器下载地址
Awboot源码地址
Kernel源码地址
Buildroot源码地址
stm32源码地址
ESP8266源码地址
串口助手源码地址

开发环境搭建

上位机源码目录结构

|———>arm-none-linux-gnueabihf #交叉编译器
|———>awboot                   #boot
|———>linux_kernel_t113        #内核
|———>buildroot                #根文件系统
|———>drivers                  #网上下载的驱动源码存放位置

安装交叉编译器

- wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz
- tar -xf arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf.tar.xz

改个名字
- mv arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf arm-none-linux-gnueabihf
- cd arm-none-linux-gnueabihf/bin
- pwd
复制输出的内容
- vim ~/.bashrc 
在最后添加
- export PATH=$PATH:/home/huerli/t113/arm-none-linux-gnueabihf/bin
按下键盘左上角【esc】 按住shift+ : 输入wq 退出vim编辑器
- source ~/.bashrc
- arm-none-linux-gnueabihf-gcc -v

输出内容如下所示
image.png

安装编译AWboot

下拉awboot

git clone https://gitee.com/huerli/awboot.git

编译工具

- cd awboot/tools
- gcc mksunxi.c -o mksunxi
- cd ..

修改 Makefile

CROSS_COMPILE?= arm-none-linux-gnueabihf

编译

make -j4

编译完成后出现awboot-boot.bin就说明编译成功了。

image.png

烧录awboot

在插入ubuntu时,会挂载在/dev/下,可以通过ls命令查看插入前后的sd文件差异来哪个时插入的sd卡。

image.png
如果是在windows下进行格式化的sd卡,会有多个文件挂载在/dev/下,通过fdisk命令进行删除分区。

image.png
例如我这里是sdc 和sdc1
d是删除分区
w是保存并退出

sudo fdisk /dev/sdc
d
d
d
w

使用dd命令烧录

huerli@huerli:~/t113/awboot$ sudo dd if=awboot-boot-sd.bin of=/dev/sdc bs=1024 seek=8
记录了34+0 的读入
记录了34+0 的写出
34816字节(35 kB,34 KiB)已复制,0.0151855 s,2.3 MB/s

使用命令查看是否结束sd卡使用

sync

没有任何输出即可拔出,插入开发板。

上电

默认使用串口3

[I] AWBoot r6166 starting...
[I] SMHC: sdhci0 controller v50310 initialized
[I] SHMC: SD card detected
[E] FATFS: mount error: 13
[W] SMHC: loading failed, trying SPI

因为没有kernel和dtb文件,就只能进行到这里。

ps:如果没有对应的输出
1、检查TTL-USB是否完好
2、检查杜邦线
3、检查io是否插对
4、重启电脑,重新烧录

可选项修改输出串口

修改board.h中的 USRAT_DBG 宏
image.png
相对应的需要有串口声明。
image.png

编译烧录kernel

下拉我已修改的源码配置。这是6.1.7的内核版本,与其他的略有出入。

git clone https://gitee.com/huerli/linux-kernel-t113.git

在Makefile中已经添加了默认的编译器,需要自行修改为自己的交叉编译器。

ARCH =arm
CORSS_COMPILE = arm-none-linux-gnueabihf-

在使用前请先清除编译

make clean

配置

make   allwinner_t113_defconfig

移植了RTL8723DSRGB565LCDgoodix触摸
编译完成后 会在arch/arm/boot/下生成zImage 和arch/arm/boot/dts/ 生成sun8i-t113-mangopi-mq-dual.dtb

烧录

接下来需要对sd卡进行分区,新建的分区1用于存放镜像文件和设备树文件,剩余的大小用于存放rootfs
制作分区1

fdisk /dev/sdc
d
d
n
p
选分区时默认回车
第一个扇区:65536
Last sector, +/-sectors or +/-size{K,M,G,T,P} (65536-30916607, 默认 30916607):   +51200  增加25M空间
w

格式化

sudo mkfs.fat /dev/sdc1

挂载

sudo mount /dev/sdc1 /mnt/boot/

复制

sudo cp sun8i-t113-mangopi-mq-dual.dtb zImage /mnt/boot/

卸载

sudo umount /mnt/boot

image.png

编译烧录buildroot

下拉buildroot

git clone https://gitee.com/huerli/t113-buildroot.git

编译,由于会下载很多包,所以进度会缓慢。网络问题导致下载失败,可以多次重试。

make clean && make   allwinner_t113_defconfig && make -j8

这里默认你已经会分区了,这里就不演示了。直接格式化

sudo mkfs.ext4 /dev/sdc2

image.png
编译完成后解压到SD卡上。把 board/allwinner/rootfs/etc/wpa_supplicant.conf 中添加自己的WIFI

sudo mount /dev/sdc2 /mnt/rootfs && sudo tar -xf output/images/rootfs.tar -C /mnt/rootfs/ cp ./board/allwinner/rootfs/etc/init.d/S45wifi /mnt/rootfs/etc/init.d/ && sudo cp ./board/allwinner/rootfs/etc/profile.d/PS1.sh /mnt/rootfs/etc/profile.d && sudo cp ./board/allwinner/rootfs/etc/wpa_supplicant.conf /mnt/rootfs/etc &&cd ../linux-kernel-t113  && sudo make INSTALL_MOD_PATH=/mnt/rootfs  modules_install  && sync && sudo umount /mnt/rootfs

上电之后会自动连接wifi
image.png

配置Qt交叉环境

使用Buildroot编译Qt源码想要在QtCreater中使用,就需要添加qmake、gcc、g++到工具中。

image.png

image.png

image.png

image.png

使用

完成上电后,可以通过终端手动敲命令让串口工具启动,也可以通过开机脚本来执行自启动。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航