超强算力+实时响应!米尔发布基于STM32MP25x核心板Debian系统
发布时间:2025-3-7 15:51
发布者:swiftman
一、系统概述 MYD-LD25X搭载的Debian系统包含以太网、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI显示和摄像头等功能,同时也集成了XFCE轻量化桌面、VNC远程操控、SWITCH网络交换和TSN时间敏感网络功能,为工业设备赋予“超强算力+实时响应+极简运维”的体验! ![]() ![]()
![]() ![]() 图:MYC-LD25X核心板及开发板 二、亮点功能介绍 1、Xfce桌面 Xfce是一款轻量级的开源桌面环境,旨在提供高效、稳定和易于使用的桌面体验。 轻量级:Xfce以资源效率为目标,注重在低资源消耗下提供快速响应和流畅的用户体验。它适用于各种硬件配置,包括旧式计算机和嵌入式设备。 简洁和直观:Xfce遵循简洁和直观的设计原则,提供了直观易用的用户界面,使用户能够快速上手和自定义桌面环境。 模块化:Xfce采用模块化的设计,桌面环境由多个独立的组件(如面板、窗口管理器、文件管理器等)组成,用户可以根据自己的需求进行定制和配置。 1.1.启动Xfce myir-image-debian系统默认已经包含xfce显示界面,开发板启动进入系统后,接上屏幕会显示如下界面,说明成功启动Xfce,需输入设置的账户进入系统界面。 ![]() ![]() 图1.1 xfce显示界面 2、VNC远程控制 2.1. vnc简介 VNC(Virtual Network Computing,虚拟网络计算)是一种远程桌面控制技术,允许用户通过互联网或局域网远程访问和控制另一台计算机的桌面环境。系统默认安装了TigerVNC。以下是其核心特点和应用:
2.2. 启动VNC服务 Debian系统默认上电就开启VNC服务端,使用下面命令查看vnc服务: root@myd-ld25x:~# ps -ef | grep vncroot 2348 1 0 15:14 ? 00:00:00 /usr/bin/perl /usr/bin/vncserver -geometry 1280x720 -depth 24 -localhost no :1root 2349 2348 0 15:14 ? 00:00:01 /usr/bin/Xtigervnc :1 -localhost=0 -desktop myd-ld25x:1 (root) -rfbport 5901 -PasswordFile /tmp/tigervnc.QQW419/passwd -SecurityTypes VncAuth,TLSVnc -auth /root/.Xauthority -geometry 1280x720 -depth 24root 2350 2348 0 15:14 ? 00:00:00 /bin/sh /etc/X11/Xtigervnc-sessionroot 2356 2350 0 15:14 ? 00:00:00 tigervncconfig -iconicroot 4836 3480 0 16:48 ttySTM0 00:00:00 grep vnc 2.3 客户端连接测试
![]() ![]() 图2.1 客户端VNC界面
(如192.168.40.198或myd-ld25x): root@myd-ld25x:~# cat /etc/hosts127.0.0.1 myd-ld25xroot@myd-ld25x:~# ifconfig end1: flags=4099 通过VNC服务器的log,获取端口/显示编号,如:1(对应端口5901)或直接指定端口号5901: root@myd-ld25x:~# cat .vnc/myd-ld25x:1.log Xvnc TigerVNC 1.12.0 - built 2023-01-06 16:01Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst)See https://www.tigervnc.org for information on TigerVNC.Underlying X server release 12101006, X.Org Mon Mar 3 18:02:44 2025 vncext: VNC extension running! vncext: Listening for VNC connections on all interface(s), port 5901 vncext: created VNC server for screen 03NI3X0 New Xtigervnc server 'myd-ld25x:1 (root)' on port 5901 for display :1.3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /tmp/tigervnc.otB4Rd/passwd myd-ld25x:1 to connect to the VNC server.[mi] mieq: warning: overriding existing handler (nil) with 0xaaaae7efad10 for event 2[mi] mieq: warning: overriding existing handler (nil) with 0xaaaae7efad10 for event 3..................................................
格式:目标地址:显示编号或 目标地址::端口号 以主机名为例子,配置完成后,点击”OK”按钮,如下图所示: ![]() ![]() 图2.2 客户端VNC配置
![]() ![]() 图2.3 VNC连接成功界面 3、交换机功能 3.1. 交换机简介 以太网交换机是一种硬件设备,用于连接局域网(LAN)上的设备,并在这些设备之间转发数据包。它在OSI模型的数据链路层(第2层)运行,并使用MAC地址来确定每个数据包的目的地。以太网交换机可以通过减少冲突和拥塞来提高网络性能,同时还可以提供如虚拟局域网(VLAN)和基于端口的访问控制等安全功能。与以太网桥接器相比,以太网交换机在CPU使用率方面更为高效。由于硬件以太网交换机负责数据转发、过滤和优先级排序,因此减轻了CPU的工作负担。这样一来,CPU可以专注于处理其他任务,从而进一步提升网络性能。本节主要介绍myd-ld25x作为交换机进行双网段转发功能。 3.2. 网络拓扑介绍 STM32MP257有两个以太网控制器,MYD-LD25X以太网控制器1支持交换机功能。其网络拓扑如下图: ![]() ![]() 图3.1 网络拓扑图 根据上图很容易了解网络拓扑结构: [Device1] (169.254.1.2) │├── end2 接口│[MP25 板] │├── end2 接口: 169.254.1.1(连接 Device1)├── sw0p2 接口: 192.168.0.20(连接 Device2 end2)│└── IP 转发已启用 (`echo 1 > /proc/sys/net/ipv4/ip_forward`) [Device2] (192.168.0.11) 3.3.关键拓扑配置解析
3.4.转发功能配置与测试
![]() ![]() 图3.2 选择交换机设备树
配置设备1(开发板或者PC)网络接口IP和路由,这里Device1使用一块MYD-LD25X开发板: Board EEWORLDBBCODETK4gt; ifconfig end2 169.254.1.2 upBoard EEWORLDBBCODETK4gt; ip route add default via 169.254.1.1 配置设备2(开发板或者PC)网络IP和路由,这里Device2也使用一块MYD-LD25X开发板:Board EEWORLDBBCODETK4gt; ifconfig end2 192.168.0.11 upBoard EEWORLDBBCODETK4gt; ip route add default via 192.168.0.10 3.5.连通性验证从Device1->Device2,当执行ping 192.168.0.11 时, 数据包从 Device1 发送到默认网关MYD-LD25X (169.254.1.1),MYD-LD25X根据路由表将数据包转发到 sw0p2 接口 (192.168.0.20)。Device2 收到数据包并回复,路径反向同理。Board EEWORLDBBCODETK4gt; ping 192.168.0.11PING 192.168.0.11 (192.168.0.11) 56(84) bytes of data.64 bytes from 192.168.0.11: icmp_seq=1 ttl=63 time=0.959 ms64 bytes from 192.168.0.11: icmp_seq=2 ttl=63 time=0.618 ms64 bytes from 192.168.0.11: icmp_seq=3 ttl=63 time=0.649 ms64 bytes from 192.168.0.11: icmp_seq=4 ttl=63 time=0.669 ms64 bytes from 192.168.0.11: icmp_seq=5 ttl=63 time=0.625 ms64 bytes from 192.168.0.11: icmp_seq=6 ttl=63 time=0.624 ms64 bytes from 192.168.0.11: icmp_seq=7 ttl=63 time=0.630 ms64 bytes from 192.168.0.11: icmp_seq=8 ttl=63 time=0.669 ms 从Device2->Device1,过程一样:Board EEWORLDBBCODETK4gt; ping 169.254.1.2 PING 169.254.1.2 (169.254.1.2) 56(84) bytes of data.64 bytes from 169.254.1.2: icmp_seq=1 ttl=63 time=0.761 ms64 bytes from 169.254.1.2: icmp_seq=2 ttl=63 time=0.688 ms64 bytes from 169.254.1.2: icmp_seq=3 ttl=63 time=0.678 ms64 bytes from 169.254.1.2: icmp_seq=4 ttl=63 time=0.640 ms64 bytes from 169.254.1.2: icmp_seq=5 ttl=63 time=0.676 ms64 bytes from 169.254.1.2: icmp_seq=6 ttl=63 time=0.614 ms64 bytes from 169.254.1.2: icmp_seq=7 ttl=63 time=0.608 ms64 bytes from 169.254.1.2: icmp_seq=8 ttl=63 time=0.543 ms 通过MYD-LD25X板作为路由中转,成功实现了两个不同子网(169.254.1.0/24和 192.168.0.0/24)间的通信。 4、TSN4.1.TSN简介TSN代表时间敏感网络(Time-Sensitive Networking),它是由电气和电子工程师协会(IEEE)开发的一系列标准,旨在通过以太网网络提供确定性和低延迟的通信。TSN旨在支持实时应用,如工业自动化、汽车以及音频/视频流传输。TSN通过在网络中的所有设备之间提供时间同步,并使用流量整形和调度机制为时间关键型流量分配优先级和网络资源,从而实现确定性通信。TSN还支持冗余和容错机制,以确保高可用性和可靠性。此处列出了IEEE定义的TSN标准的完整清单。TSN的关键特性包括:
4.2. 网络拓扑介绍通过预留4个带宽序列,给每个序列分别不同的优先级,如下网络拓扑图所示: ![]() ![]() 图4.1 QAV例子 如上图所示,配置网口如下:
4.3. 网络流量控制
在接受端(PC或者其他开发板)接收端创建vlan端口:root@localhost:~# ip link add link eno0 name eno0.200 type vlan id 200 root@localhost:~# ip link set eno0.200 up root@localhost:~# ip addr add 192.168.200.30/24 dev eno0.200
为每个队列分配不同的带宽// Set bandwidth of queue 1 to be 100Mbpsroot@myd-ld25x:~# tc qdisc replace dev end0 parent 100:2 cbs idleslope 100000 sendslope -900000 hicredit 150 locredit -1350 offload 1 // Set bandwidth of queue 2 to be 200Mbps root@myd-ld25x:~# tc qdisc replace dev end0 parent 100:3 cbs idleslope 200000 sendslope -800000 hicredit 300 locredit -1200 offload 1 // Set bandwidth of queue 3 to be 300Mbps root@myd-ld25x:~# tc qdisc replace dev end0 parent 100:4 cbs idleslope 300000 sendslope -700000 hicredit 450 locredit -1050 offload 1
在MYD-LD25X开发板,使用iperf3开始传输数据流://Stream with SKB priority 6 : TOS=0x14 == SO_PRIORITY=6// https:man7.org/linux/man-pages/man8/tc-prio.8.htmlroot@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5003 -l1472 -t60 --tos 0x14 &//Stream with SKB priority 4root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5002 -l1472 -t60 --tos 0x1a &//Stream with SKB priority 2root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5001 -l1472 -t60 --tos 0xa &//Stream with SKB priority 0 (Best effort)root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5000 -l1472 -t60 &
|
网友评论