通过SD转接头使用串口

连接幽兰与上位机

具体方法请看:https://www.nanocode.cn/wiki/docs/youlan/youlansd

1.调用串口

进入dev目录,cd /dev
执行以下命令
echo aaa | sudo tee -a ttyFIQ0

可以看到我们成功在串口打印了想要的信息。

如发现不能正常串口打印可按以下步骤检查

使用刘姥姥检查串口功能

2.检查SD卡是否插上

下载新的llaolao模块:https://github.com/gedulab/llaolao.git
进入文件夹cd llaolao后执行make
使用 sudo insmod llaolao2.ko加载模块
执行lsmod查看模块是否加载

当llaolao模块成功加载后执行以下命令查看SD卡是否插上
echo 3588_sdsts | sudo tee -a /proc/llaolao
再执行dmesg
显示为0时为sd卡已插上,显示为1sd卡未插上

3.检查SD卡的串口功能

执行echo 3588_uart_on | sudo tee -a /proc/llaolao
执行dmesg查看,寄存器后两位的值是aa说明sd卡的串口功能已经开启

在幽兰使用葫芦娃(GourBoy)切换JTAG/SD模式,执行以上操作会发现值为55aaJTAG模式,11aaSD模式

使用脚本检查串口功能

4.查看是哪个tty调用串口打印

我们写个脚本测试一下,创建脚本文件ttytest.sh,写上以下内容。

#!/bin/bash

ttyarr=()

ls -lh /dev > ./dev_list.txt
awk -F " " '{printf("group: %s, dev: %s\n", $4, $10)}' ./dev_list.txt | grep tty > ./tty_list.txt
awk -F " " '{printf("%s\n", $4)}' ./tty_list.txt > ./tty_arr.txt

while read line; do
    ttyarr+=("$line")
done < ./tty_arr.txt

rm -rf ./*.txt

for i in "${!ttyarr[@]}";
do
    echo "----id: $i----dev: ${ttyarr[i]}----"
    echo "hello tty device, your are num:$i, with name: ${ttyarr[i]}" | sudo tee -a /dev/"${ttyarr[i]}"
    echo -e "\n"
done

exit 0

执行以下命令来执行脚本文件

chmod +x ttytest.sh
sudo ./ttytest.sh


我的可以看到是ttyFIQ0调用了串口打印。
echo aaa | sudo tee -a ttyFIQ0那么只需要将后面的串口修改成能正确调用的串口名称就行了

作者:李梓涌  创建时间:2023-08-18 13:00
最后编辑:李梓涌  更新时间:2024-12-20 17:01