基于全志T113的串口助手 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 基于全志T113的串口助手

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

开源协议: GPL 3.0

(未经作者授权,禁止转载)

已参加:星火计划2023

创建时间: 2023-06-29 10:14:49
更新时间: 2024-04-16 22:25:14
描述
# 项目介绍 (一)本项目是基于全志T113-S3制作的无线串口调试器,上位机由Qt制作的串口助手客户端、下位机数据采集转发装置组成,可以对下位机采集到的数据显示以及对于数据绘制波形。 (二)网络部分由下位机ESP8266提供,通过UDP转发。 (三)数据采集部分由STM32完成串口数据采集,完成采集后,根据使能情况,将进行组包转发。 不足:界面未进行美化。 # 上位机 ![P40404-195727.jpg](//image.lceda.cn/pullimage/I8s5GHF4eFp0mhCZS9NY6K9RcLKr7iQyIQhBntJe.jpeg) ## 电源部分 对PMIC不熟悉,所以上位机使用IP5306进行锂电池充放电管理,由单节4.2V锂电池进行供电。 ## 串口输出 使用CH343P对串口3输出TTL信号的调试信息转换成USB差分信号。也可以不焊CH343P,用TTL转USB工具直接于电脑连接。 ## 屏幕 屏幕使用十寸RGB565,同样支持RGB666,触摸IC使用GT911。 ## WIFI模组 WIFI模组用的是RTL8723DS,这是一款支持WiFi蓝牙双模的芯片,可以后续为上位机提供蓝牙接收能力。 # 下位机 ![P20240409-211615.jpg](//image.lceda.cn/pullimage/xgDpW7SWEjDYe5sal2Js2W5EzyaPuugaMTnMkOeB.jpeg) ## MCU 下位机则是STM32+ESP8266的组合,STM32F103RET6拥有5个串口,串口1-4 对外接收串口数据,串口5则于ESP8266做转发数据交互。 ## 屏幕 使用一款ST7735 的1.8寸(128*160)SPI屏幕。 # 源码 上位机由Awboot+Linux+Buildroot组成。 [交叉编译器下载地址](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) [Awboot源码地址](https://gitee.com/huerli/awboot.git) [Kernel源码地址](https://gitee.com/huerli/linux-kernel-t113.git) [Buildroot源码地址](https://gitee.com/huerli/t113-buildroot.git) [stm32源码地址](https://gitee.com/huerli/harvester.git) [ESP8266源码地址](https://gitee.com/huerli/esp-harvester.git) [串口助手源码地址](https://gitee.com/huerli/serial-udp-com.git) # 开发环境搭建 上位机源码目录结构 ``` |———>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](//image.lceda.cn/pullimage/SyFxSBvBRc69ftTnaL4ZmGwuHjfZdhiz9KLbNK4g.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](//image.lceda.cn/pullimage/0oROIc43bBzRnZHzg1JdvARtR7KnjiFilbpoGMLP.png) ### 烧录awboot 在插入ubuntu时,会挂载在/dev/下,可以通过ls命令查看插入前后的sd文件差异来哪个时插入的sd卡。 ![image.png](//image.lceda.cn/pullimage/cd1GEqsGe5ckRZeFyebLkqsZKWPtJ448XSb6fSoo.png) 如果是在windows下进行格式化的sd卡,会有多个文件挂载在/dev/下,通过fdisk命令进行删除分区。 ![image.png](//image.lceda.cn/pullimage/DAjLVaJKjyce837Ptvuww5nNS97NSSyQO9fmjWoS.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.lceda.cn/pullimage/NRMngLeYptymuzYUxXyFTOwSqsCBJ7CnLrIhFJIk.png) 相对应的需要有串口声明。 ![image.png](//image.lceda.cn/pullimage/nMRIssnukqjqNZvAcmkdH2NTCvlMYBC5Em53l8LQ.png) ## 编译烧录kernel 下拉我已修改的源码配置。这是6.1.7的内核版本,与其他的略有出入。 ``` git clone https://gitee.com/huerli/linux-kernel-t113.git ``` 在Makefile中已经添加了默认的编译器,需要自行修改为自己的交叉编译器。 ``` ARCH =arm CORSS_COMPILE = arm-none-linux-gnueabihf- ``` 在使用前请先清除编译 ```shell make clean ``` 配置 ```shell make allwinner_t113_defconfig ``` 移植了`RTL8723DS`、`RGB565LCD`、`goodix触摸` 编译完成后 会在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](//image.lceda.cn/pullimage/a6IwASMBgn5FeMi5Nfii8rYn0IXZCNqFkRbkBdpK.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](//image.lceda.cn/pullimage/CwDyMnh3CpCCyizt87n13cqWmhjfZf5GHgrlsG0e.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](//image.lceda.cn/pullimage/1Efk2Y9eQ9uuO3PspSdA9YYDjvfMEblTyclV5T2j.png) ## 配置Qt交叉环境 使用Buildroot编译Qt源码想要在QtCreater中使用,就需要添加qmake、gcc、g++到工具中。 ![image.png](//image.lceda.cn/pullimage/uxJyKtoBYsbxpFZI64H3H6B9XWMY5gZj8lZRtTJ9.png) ![image.png](//image.lceda.cn/pullimage/31GPZs62le7u4wsOB0whEJeasrUpapyXOZTb1izR.png) ![image.png](//image.lceda.cn/pullimage/hrX4FdAurYWyOVKDS0Mk94FehisVXZRoXXaEJ6ix.png) ![image.png](//image.lceda.cn/pullimage/xsQUcK0DNkHUmgXSEcMXmMuVEhZOusmM8k4zgrZP.png) # 使用 完成上电后,可以通过终端手动敲命令让串口工具启动,也可以通过开机脚本来执行自启动。
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
暂无
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP