资讯动态

SBC‑TLT153 嵌入式 Linux 应用开发,交叉编译与 GDB 调试实践(中)

发布时间:2026/10/15 21:26:24 来源:尧图企业网站定制
3 Linux常用开发案例Linux常用开发案例位于产品资料“4-软件资料\Demo\”路径下的base-demos目录。其中案例bin目录存放可执行文件案例src目录存放源码。如需重新编译Linux常用开发案例请将对应案例src目录拷贝至Ubuntu工作目录下在src目录执行如下命令配置交叉编译工具链并执行make命令进行案例编译。编译完成后将在当前目录下生成可执行文件。Host#source /home/tronlong/T153/environmentHost# make3.1 led_flash案例3.1.1 案例功能本案例通过向单板机用户可编程指示灯LED设备节点反复交替写入1、0数值实现LED闪烁效果。LED点亮与熄灭时间均为0.5s。程序流程如下图所示。LED设备节点为/sys/class/leds/user-ledX/目录下的brightness。3.1.2 操作说明将本案例bin目录下的可执行程序led_flash拷贝至单板机文件系统并在可执行程序所在目录执行如下命令运行程序即可看到单板机LED以0.5s的时间间隔进行闪烁。同时串口终端打印系统全部LED设备信息和程序当前控制的LED设备信息。Target# ./led_flash -helpTarget# ./led_flash -n 33.1.3 关键代码1预定义LED数组。程序由此数组获取LED信息数组信息必须为系统已有LED信息否则程序运行报错。2LED亮灭操作和时间间隔。3.2 uart_rw案例3.2.1案例功能本案例实现串口读写功能。备注SBC-TLT153单板机未引出RS-485/RS-232接口因此本案例使用EPC-TLT153-BU工控机为例进行测试。程序流程如下图所示。串口初始化时将设置波特率、模式、数据位、停止位等参数。通过设备文件描述符对串口进行读写操作。本案例支持的串口以及串口对应设备节点如下表所示。3.2.2 操作说明1RS-232串口测试我司EPC-TLT153-BU工控机默认配置RS-485/RS-232接口为RS-485功能。请联系我司销售或技术服务人员将EX-TLBaseUART扩展板的拨码开关SW7拨至RS-232档位配置为RS-232功能。本次以EPC-TLT153-BU工控机的RS-232功能为例进行演示请通过USB转RS-232公头串口线和杜邦线将RS-232(G1、R1、T1)串口连接至PC机的USB接口硬件连接如下图所示。将本案例bin目录下的可执行程序uart_rw拷贝至文件系统并在该可执行程序所在目录执行如下命令查看程序参数信息。Target# ./uart_rw -ha)接收测试打开设备管理器本次测试中调试串口DEBUG端口号为COM16RS-232串口的端口号为COM18如下图所示。打开串口调试终端设置COM16波特率为1152008N1无校验位。设置COM18波特率为1152008N1无校验位并建立串口连接。调试串口终端执行如下命令等待接收上位机发送的数据。Target# ./uart_rw -d /dev/ttyAS7 -r -s 8在RS-232串口终端点击View - Command (Chat) Window选中并打开Command (Chat) Window窗口。在窗口中输入数据例如Tronlong再按回车键。调试串口终端将会打印接收到的数据。b)发送测试执行如下命令通过RS-232串口发送数据至上位机数据已在程序中定义。Target# ./uart_rw -d /dev/ttyAS7 -w -s 8RS-232串口终端将会打印接收到的数据如下图所示。2RS-485串口测试本次以EPC-TLT153-BU工控机的RS-485(G1、B1、A1)串口为例进行演示其他RS-485(Gx、Bx、Ax)串口测试同理。请使用RS-232转RS-485模块、USB转RS-232公头串口线将RS-485串口连接至PC机的USB接口硬件连接如下图所示。执行如下命令进行RS-485串口数据读写操作。RS-485串口测试步骤与现象与RS-232类似命令中的设备节点请根据实际情况修改即可。Target# ./uart_rw -d /dev/ttyAS7 -r -s 8 //读操作Target# ./uart_rw -d /dev/ttyAS7 -w -s 8 //写操作3.2.3 关键代码1串口初始化函数。2串口读写函数。3回环测试。4相关逻辑。3.3 can_perf案例3.3.1 案例功能本案例基于SocketCAN实现CAN/CAN-FD总线通信包含数据收发测试及误码率统计。程序原理如下。备注SBC-TLT153单板机未引出CAN FD接口因此本案例使用EPC-TLT153-BU工控机为例进行测试。发送端1发送指定数量帧2帧的数据长度由参数指定3发送从0至255的递增数4每一帧的发送间隔由参数指定。接收端1接收CAN总线上的数据包2提取数据包数据进行校验3每接收到1000个数据帧打印一次帧数4打印误码率总接收帧数信息。程序流程如下图。3.3.2 操作说明本次测试以EPC-TLT153-BU工控机的CAN FDG1、L1、H1接口设备节点为can0为例进行演示如需测试CAN FDG2、L2、H2接口请将设备节点修改为can1。请准备两块EPC-TLT153-BU工控机使用杜邦线将两个EPC-TLT153-BU工控机的CAN FD接口H1端子、L1端子和G1端子进行直连。接口的连接关系如下表所示。工控机上电启动将本案例bin目录下的可执行程序can_perf分别拷贝至两个工控机的文件系统进入可执行程序所在目录执行如下命令查看程序参数信息。Target# ./can_perf -h参数解析-dCAN接口的对应节点-r作为接收端读取数据-w作为发送端发送数据-f收发数据帧的数量-l帧的数据长度-i帧间隔时长单位为us默认为0-m模式选择默认为CAN模式0CAN模式1CAN FD模式-h帮助信息。将工控机1和工控机2上电启动进入工控机文件系统分别执行如下命令配置CAN FD接口波特率为1Mbps配置数据波特率为5Mbps并启动CAN0总线。Target# ip link set can0 downTarget# ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd onTarget# ip link set can0 up在工控机1的终端执行如下命令设置工控机1的CAN0总线等待接收数据。Target# ./can_perf -d can0 -r -f 50000 -m 1在工控机2的终端窗口下设置工控机2的CAN0总线以1000us的时间间隔发送50000帧数据至工控机1的CAN0总线。备注当执行的命令未设置-i参数默认发送数据帧间隔时长为0us由于数据发送过快可能导致系统资源如缓冲区迅速耗尽从而触发No buffer space available错误并造成数据帧丢失。Target# ./can_perf -d can0 -w -f 50000 -i 1000 -m 1从打印信息可以得知接收端工控机1成功接收50000帧数据误码率为0.00%耗时为0.161秒。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑