tag 标签: 米尔

相关博文
  • 2025-5-9 17:38
    89 次阅读|
    0 个评论
    1.概述 MYD-YG2LX采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和视频处理单元(支持H.264硬件编解码),16位的DDR4-1600 / DDR3L-1333内存控制器、千兆以太网控制器、USB、CAN、SD卡、MIPI-CSI等外设接口,在工业、医疗、电力等行业都得到广泛的应用。 米尔基于瑞萨RZ/G2L开发板 本文主要介绍基于MYD-YG2LX开发板进行系统启动时间优化的调试案例,一般启动方式有去掉常规uboot,直接使用SPL加载内核和保留常规uboot加载内核的方式,MYD-YG2LX目前使用的是保留常规uboot的方法启动,启动时间20s+,接下来介绍的主要包括TFA、Uboot、Kernel和文件系统时间优化。 2.硬件资源 USB-TTL调试串口线一根 MYD-YG2LX开发板一块 12V电源适配器一个 3.软件资源 Linux虚拟机 米尔提供的SDK交叉工具链 Linux5.10.83 4.环境准备 进行调试之前,需要安装好Linux虚拟机等相关开发环境,具体可以参考 《MYD-YG2LX_Linux软件开发指南》 的2.0章节。 5.启动时间优化 5.1.1. TFA优化 TFA引导启动的log主要有以下,如果我们认为不是太美观,可以到TFA源码中使用grep命令去搜索关键的信息打印,然后把相关的打印去掉,这可能需要花点功夫去寻找。 例如(grep -rn “BL2:”)搜索到关键的文件(以下图示只是其中的一个地方),然后屏蔽即可。 另外,需要检查源码下面的这个寄存器有没有设置,有则忽略,没有则需要打开,这样会减少系统在启动中的时间。 static void cpu_cpg_setup ( void ) { while (( mmio_read_32 ( CPG_CLKSTATUS ) CLKSTATUS_DIVPL1_STS ) != 0x00000000 ); mmio_write_32 ( CPG_PL1_DDIV , PL1 _DDIV_DIVPL1_SET_WEN | PL1 _DDIV_DIVPL1_SET_1_1); while (( mmio_read_32 ( CPG_CLKSTATUS ) CLKSTATUS_DIVPL1_STS ) != 0x00000000 ); } void cpg_early_setup ( void ) { cpu_cpg_setup (); cpg_ctrl_clkrst (early_setup_tbl , ARRAY_SIZE (early_setup_tbl)); } 最后编译TFA以及更新即可。 5.1.2. Uboot优化 正常的启动log如下,我们需要对这部分进行优化,优化可以从下面3个点出发。 裁剪uboot,减少uboot大小。 MYD-YG2LX平台的2G DDR配置文件在configs/myc-rzg2l_defconfig,1G DDR的配置文件在configs/myc-rzg2l_ddr1gb_defconfig,可以在这个配置文件中屏蔽掉一些自己不需要的功能,这个需要根据实际情况删除不需要的功能,例如: 移除bootdelay的倒计时时间 bootdelay一般默认都是2-3s,移除可以直接修改include/configs/myc-rzg2l.h文件,例如: 关闭uboot的打印log 关闭uboot相关的日志打印,可以到uboot的源码路径下搜索关键的信息,然后进行屏蔽即可(以下图示只是其中的一个地方),例如: 最后编译与更新uboot即可。 5.1.3. Kernel优化 Kernel典型的修改主要有以下: 简单:通过在 cmdline 中添加 quiet 来减少控制台消息 适度:通过移除驱动程序、文件系统、子系统来精简内核,从减少内核解压或加载的时间 适度:通过移除未使用的硬件接口精简设备树 棘手:开始优化行为不良的驱动程序,这是一个相对复杂和困难的任务。优化驱动程序可以提高其性能、稳定性和兼容性,从而改善系统的整体表现。然而,如果驱动程序的行为不良,例如出现崩溃、卡顿或冲突等问题,那么进行优化就会变得更加棘手和挑战。这需要深入分析和修复驱动程序的问题,调整其代码和算法,以使其更加高效和可靠。 使用Bootgraph分析内核启动的调用时间,移除花费时间长的驱动和优化需要使用的驱动 总之优化还算是一项蛮复杂的项目,我们此次主要从以下几点优化: 去掉kernel的打印等级,需要到内核源码下屏蔽掉log属性和到uboot源码下把log等级升高,内核修改如下: Uboot修改如下: 关掉kernel不需要的一些外设资源,缩小内核大小(需要根据自己的情况来进行修改) 可以到设备树中屏蔽掉一些不需要的接口和到内核配置文件中屏蔽掉一些不需要的驱动配置,例如: 使用Bootgraph分析内核启动的调用时间,移除花费时间长的驱动和优化需要使用的驱动。 首先需要在uboot加上时间戳和init debug调用: setenv bootargs 'rw rootwait earlycon root=/dev/mmcblk0p2 printk.time=1 initcall_debug=1' 然后启动内核,采集启动log,如下: dmesg boot-kernel. log 返回内核源码目录,进入内核源码scripts目录,只需下面命令,生成直观图形,如下: ./bootgraph.pl boot-kernel.log boot-kernel.svg 然后打开boot.svg查看花费时间最大的驱动调用,没用的就关闭,需要用的就优化。 最后编译以及更新内核即可。 5.1.4. 文件系统优化 MYD-YG2LX的文件系统是基于yocto构建的,关于yocto如何构建可以参考 《MYD-YG2LX_Linux软件开发指南》 的3.0章节。 文件系统主要使用下面这3个命令就可以找到花费时间最多的服务,然后可以根据实际情况优化。当然也可以把所有的服务以图形的形式表现出来,这样更加直观,采用systemd-analyze plot boot.svg可以把每个服务启动顺序和消耗时间显示出来,针对这些服务,移除掉不需要的或者调整服务之间的启动顺序。 systemctl list-unit-files --state=enabled #查看所有开机自启的服务 systemd-analyze blame #查看服务的初始化时间 systemd-analyze critical-chain #查看启动花费时间最多的 5.1.5. 启动测试 经过以上的优化后可以打包一个sd卡刷机包并刷到板子的emmc,关于如何打包可以参考 《MYD-YG2LX_Linux软件开发指南》 的4.3章节,最后再启动测试,执行systemd-analyze即可看到启动时间,效果如下:
  • 2025-4-18 15:02
    99 次阅读|
    0 个评论
    本文将介绍基于米尔电子MYD-LD25X开发板(米尔基于STM35MP257开发板)的环境监测系统方案测试。 摘自优秀创作者-lugl4313820 一、前言 环境监测是当前很多场景需要的项目,刚好我正在论坛参与的一个项目:Thingy:91X 蜂窝物联网原型开发平台的试用。把两个项目结合起来,实现一个简单的环境监测系统。 二、硬件平台 1、米尔-STM32MP257开发板 2、Thingy:91X 三、项目规划 1、米尔-STM32MP257开发板,板载了wifi模块,通过wifi连接到互联网。 2、启用MQTT,连接到私有的服务器,并订阅指定的主题。 3、使用QT设计UI界面。 4、接收数据并在UI界面中展示。 四、QT设计 1、QT安装 1.1. 下载在线安装包,现在好像只有一个在线安装包了。网址: Index of /qtproject/official_releases/online_installers/ 1.2. 下载好后,上传给虚拟机,执行安装。安装有几个地方要注意。 其他的按官方的教程就可以安装了。 2、Kit的配置 在官方给出的示例中,与这个版本的不一样,首先设置GCC只需要选择gcc就行了,然后g++自动在下面选择: 最后是QT version的选择要按下图选择。 这样就可以进行交叉编译了,然后如下: 3、创建桌面程序 在文章介绍的基础上,我创建了一个基于QT的桌面程序,其UI界面如下: 4、定义标签值 给相应的需要显示的label根据接收的数据,定义了相应的标签值: 5、引入QT的QtMqtt/QMqttClient 库 https: / /mbb.eet-china.com/forum /topic/ 150530_1_1 .html 【注】在官方发布的固件中,是没有QTMqtt的连接文件的,当运行带的QtMqtt的程序会报错: error while loading shared libraries: libQt5Mqtt.so. 5 : cannot open shared object file: No such file or directory 需要从SDK中复制到开发板目录中。 6、检测连接状态 同时为了实现检测与MQTT服务器的连接状态,需要引入一个线程,用于检测是否连接到服务器: void run () override { while ( true ) { if (m_client) { QString statusText = m_client- state () == QMqttClient::Connected ? "连接服务器:成功" : "连接服务器:失败" ; emit updateStatus (statusText) ; } msleep ( 1000 ); // 每秒检测一次 } } 7、在main中编写代码如下: MainWindow:: MainWindow (QWidget *parent) : QMainWindow (parent), ui (new Ui::MainWindow), m_client (new QMqttClient (this)) // 初始化MQTT客户端实例 { ui - setupUi (this); // 设置MQTT客户端参数 m_client - setHostname ( "hostname" ); m_client - setPort ( 1883 ); // 默认MQTT端口 m_client - setClientId ( "client_id" ); m_client - setUsername ( "usrename" ); m_client - setPassword ( "pwd" ); // 连接信号槽,处理连接成功事件 connect (m_client, QMqttClient::connected, this, () { // 连接成功,修改label的文本 ui - mqtt_client_state - setText ( "连接服务器:成功" ); // 订阅主题 m_client - subscribe ( QMqttTopicFilter ( "devacademy/publish/topic" )); }); // 连接信号槽,处理消息接收事件 connect (m_client, QMqttClient::messageReceived, this, MainWindow::onMessageReceived); // 启动MQTT连接 m_client - connectToHost (); // 创建并启动连接状态检测线程 MqttConnectionChecker *checker = new MqttConnectionChecker (m_client, ui - mqtt_client_state, this); connect (checker, MqttConnectionChecker::updateStatus, this, ( const QString status) { ui - mqtt_client_state - setText (status); }); checker - start (); } 8、编译订阅回调如下: void MainWindow:: onMessageReceived ( const QByteArray message, const QMqttTopicName topic) { Q_UNUSED (topic); // 解析JSON数据 QJsonDocument doc = QJsonDocument:: fromJson (message); if (!doc. isNull () doc. isObject ()) { QJsonObject obj = doc. object (); double temp = obj. value ( "temp" ). toDouble (); double press = obj. value ( "press" ). toDouble ()/ 100 ; double humidity = obj. value ( "humidity" ). toDouble (); int iaq = obj. value ( "iaq" ). toInt (); double co2 = obj. value ( "co2" ). toDouble (); double voc = obj. value ( "voc" ). toDouble (); //将这些数据更新到UI ui - label_temp - setText (QString:: number (temp, 'f' , 2 )); ui - label_press - setText (QString:: number (press, 'f' , 2 )); ui - label_humidity - setText (QString:: number (humidity, 'f' , 2 )); ui - label_iaq - setText (QString:: number (iaq, 'f' , 2 )); ui - label_co2 - setText (QString:: number (co2, 'f' , 2 )); ui - label_voc - setText (QString:: number (voc, 'f' , 2 )); // 在这里可以将解析后的数据更新到UI或其他处理逻辑 } else { qDebug () "Invalid JSON message received" ; } } 五、实验效果 编译好程序后,上传到开发板,运行后,效果如下: 六、总结 米尔-STM32MP257开发板,通过QT来设计UI界面,通过mqtt来订阅指定的主题,实现环境监测。在物联网方面大有作为!
  • 热度 1
    2025-3-13 17:52
    465 次阅读|
    0 个评论
    文章来源:硬件笔记本 最近,AI的风刮得是真猛啊!各种AI工具层出不穷,仿佛一夜之间,人工智能就从科幻走进了现实。作为一名硬件工程师,我自然也按捺不住内心的激动,琢磨着怎么把AI和硬件结合起来,搞点有意思的项目。 这不,机会来了!刚好看到国内知名主板厂商 米尔电子 新推出了一款 RK3576开发板 ,主打AI边缘计算,性能强劲,价格还亲民,跟他们工作人员聊了聊,问我有没有兴趣体验一下,这还用说?当然是安排! 01 开发板介绍 收到开发板的第一时间,我就迫不及待地拆开了包装。不得不说,米尔的包装还是很用心的,防震泡沫包裹得严严实实,开发板完好无损。 拿出开发板,第一印象就是精致小巧,巴掌大的板子上集成了各种元器件,布局紧凑,做工精细。 开发板是与核心板配套使用的扩展底板, 咱们先来一张正面照,可以看到丰富的外设接 口。 DC JACK ( 12VDC/3A 5.5-2.1DC插座) USB TYPE-C (debug调试接口) WIFI/BT (板载WIFI模块) Audio ( 1路音频接口,3.5mm耳麦插座) DP (1路DP接口,MiniDP插座) HDMI (1路HDMI接口,HDMI Type-A插座) USB ( 2路USB3.0,采用1x2 Type-A接口) Ehernet ( 2路10/100/1000M 以太网RJ45接口) 风扇接口 (一路风扇插座1x2x2.0mm) 2.54mm间距的40PIN排针 ( GPIO/I2C/ UART/SPI/CAN-FD) 再来一张背面照片 背面接口包括: SD接口 (1路 SD卡槽) SSD接口 (M.2 NVME SSD盘插座,尺寸2280,PCIE信号) MIPI-DSI接口 (4路MIPI-DSI,FPC插座,多媒体显示接口) 下面进行细节展示: DC JACK 5.5-2.1DC,通用型号,可以兼容市面上大多数电源适配器。 旁边是通用的type-C接口,用于DEBUG调试。 有5个按键,功能分别是MaskRom、RST、PWR、V+、V-,每个按键位置都有丝印标注。 有三颗贴片LED指示灯,分别表示PWR,RUN,USER,能很清楚的了解设备的工作状态。 搭配板载模块WIFI模块AP6256,支持2.4GHz和5GHz频段,集成蓝牙5.0,使用标准的U.FL(IPEX)天线接口。 1路音频接口,3.5mm耳麦插座,用于连接耳机或麦克风,支持音频输入输出,适用于多种场景。 旁边是MiniDP接口,比标准DisplayPort更小,有效节约主板的占用空间。主要用于视频和音频传输,支持高分辨率和高刷新率,最高可达8K@60Hz或4K@120Hz。 标准的HDMI TYPE-A接口,具有高带宽、音视频一体化、广泛兼容性和高可靠性,成为音视频传输的主流接口。 从板内向外看,HDMI和DP接口的差分信号线上都有ESD静电管作为接口防护,DP接口还有共模电感,能有效抑制EMI。 两个USB3.0接口,两个千兆以太网口。 网口背面细节展示。 主板两侧各有一个2.54mm间距的40PIN排针,其实当我看到主板第一眼最醒目的就是这个橙色的排针,再搭配黑色的主板,整体看起来有种高端大气上档次的感觉。这个针座有丰富的GPIO接口,可根据实际项目需求进行应用,满足各种使用场景。 板子背面的可插入SD卡,能够方便地进行存储卡的读写操作。 SSD插槽,主要用于连接固态硬盘,通过高速传输特性提升设备的读写速度和存储容量‌。 MIPI-DSI接口,包含3组4 lane的MIPI CSI摄像头输入接口,以及一个MIPI DSI显示输出接口,需要FPC软件线进行连接,可以清晰看到接口处也加了ESD防静电管。 米尔金色的丝印真的很好看,不像咱们通用的白色丝印,看起来就很喜欢。米尔MYIR,是Make Your Idea Real第一个大写字母的缩写,很有寓意。 细心的同学会发现,板子的四个角都有塑料间隔柱,当我们进行产品开发时,可以直接把它放在桌面,不用再单独找一张纸进行绝缘隔离,这个高度刚刚好,细节拉满。 咱们做硬件的有一个癖好,看到坏的东西就想修,看到板子就想拆。 大家可以看到这个散热器热别大,我很好奇,散热器下面的主芯片模块又是什么样子,说干就干,继续拆解散热器。 散热器下面可以看到这个 金属屏蔽罩里面就是米尔的SOC核心板 ,核心板是以SMD贴片的形式焊接在底板,管脚LGA贴片封装,通过 LGA 焊盘引出信号和电源地共计381PIN。板卡采用12层高密度PCB设计,沉金工艺生产,独立的接地信号层。 外形尺寸:43mm*45mm*3.85mm(含屏蔽罩),是相当的小,元件多,空间小,也难怪是12层板。 不得不提一句,这种模组的要求是非常的高,内部集成了内部集成了PMIC、DDR、eMMC等芯片,以及各种阻容、电感器件,对于布局和走线要求很高,一般公司不一定做得出来,就算你做出来了,也不一定保证可靠性,所以一般的企业没有必要做核心板,直接买现成的可以节约很多时间和精力。 写到这里,我感触颇深。近年来,国产芯片发展迅猛,像RK3576这样的高性能芯片不断涌现,打破了国外厂商的垄断,像RK3576核心板、开发板这样的优秀产品出现,更加助力中国科技的腾飞! 这就是RK3576 SoC,通过金属壳边缘可以看到芯片周边很多的阻容元件,上面可以明显看到散热硅胶垫留下的印迹,芯片主要是通过散热硅胶垫将CPU的热量导出到外部散热器。 RK3576 是咱们的 重头戏 ,作为一款 主打AI边缘计算的开发板 ,它搭载了瑞芯微近期推出的第二代高性能AIOT平台——RK3576,采用先进的 8nm制程工艺 , 四核Cortex-A72+四核Cortex-A53架构 , 主频高达2.4GHz , 内置Mail-G52 MC3 GPU 。 更重要的是,它集成了 NPU神经网络处理单元 ,AI算力高达 6TOPS ,可以轻松运行各种AI模型。 板子的信息都基本了解,开始上电,板厂已经烧录好了固件,接上我的家用办公显示屏,成功点亮。 02 资料完整 ,认证通过,售后有保障 作为个人玩家, 我比较关心的是他们的资料是否完善 ,一个简单的产品介绍就有几十页,文档内容也很规范。 当然,一旦你购买了他们家的产品,可以下载更完善的 HDK和SDK参考资料 ,包含开发板的技术规格、设计指南、接口说明、驱动程序、示例代码和必要的软件工具,以便于开发者能够顺利进行产品的开发。 作为企业, 认证要求是必选项 ,有了相关认证,可以为整个产品的开发周期节约很多时间和精力。 该模块通过了传导CE和辐射RE测试,而且是ClassB标准,这两项测试通过,必将为整个产品加分。 再看辐射波形,余量在10dB以上,吊打其它大多数产品了。 再好的产品,在使用过程中,也难免会遇到各种问题, 可靠的售后服务 也是相当重要,这一点咱们做产品的人深有体会。遇到问题不可怕,可怕的是当你遇到问题,供应商态度差,回复慢,不专业,解决不了问题,就很让人头疼。 据王工了解,这款 MYD-LR3576 米尔开发板的公司 ,专注于嵌入式处理器模组设计研发、生产、销售于一体,在咱们嵌入式行业已经深耕10多年,产品都做过信号量测,高低温可靠性测试,EMC测试和防静电测试以及其它测试, 大厂品质有保证 。 最后,给大家附上米尔RK3576核心板、开发板、边缘计算盒子的配置型号: 散热器下面可以看到这个 金属屏蔽罩里面就是米尔的SOC核心板 ,核心板是以SMD贴片的形式焊接在底板,管脚LGA贴片封装,通过 LGA 焊盘引出信号和电源地共计381PIN。板卡采用12层高密度PCB设计,沉金工艺生产,独立的接地信号层。 外形尺寸:43mm*45mm*3.85mm(含屏蔽罩),是相当的小,元件多,空间小,也难怪是12层板。 不得不提一句,这种模组的要求是非常的高,内部集成了内部集成了PMIC、DDR、eMMC等芯片,以及各种阻容、电感器件,对于布局和走线要求很高,一般公司不一定做得出来,就算你做出来了,也不一定保证可靠性,所以一般的企业没有必要做核心板,直接买现成的可以节约很多时间和精力。 写到这里,我感触颇深。近年来,国产芯片发展迅猛,像RK3576这样的高性能芯片不断涌现,打破了国外厂商的垄断,像RK3576核心板、开发板这样的优秀产品出现,更加助力中国科技的腾飞! 这就是RK3576 SoC,通过金属壳边缘可以看到芯片周边很多的阻容元件,上面可以明显看到散热硅胶垫留下的印迹,芯片主要是通过散热硅胶垫将CPU的热量导出到外部散热器。 RK3576 是咱们的 重头戏 ,作为一款 主打AI边缘计算的开发板 ,它搭载了瑞芯微近期推出的第二代高性能AIOT平台——RK3576,采用先进的 8nm制程工艺 , 四核Cortex-A72+四核Cortex-A53架构 , 主频高达2.4GHz , 内置Mail-G52 MC3 GPU 。 更重要的是,它集成了 NPU神经网络处理单元 ,AI算力高达 6TOPS ,可以轻松运行各种AI模型。 板子的信息都基本了解,开始上电,板厂已经烧录好了固件,接上我的家用办公显示屏,成功点亮。 02 资料完整 ,认证通过,售后有保障 作为个人玩家, 我比较关心的是他们的资料是否完善 ,一个简单的产品介绍就有几十页,文档内容也很规范。 当然,一旦你购买了他们家的产品,可以下载更完善的 HDK和SDK参考资料 ,包含开发板的技术规格、设计指南、接口说明、驱动程序、示例代码和必要的软件工具,以便于开发者能够顺利进行产品的开发。 作为企业, 认证要求是必选项 ,有了相关认证,可以为整个产品的开发周期节约很多时间和精力。 该模块通过了传导CE和辐射RE测试,而且是ClassB标准,这两项测试通过,必将为整个产品加分。 再看辐射波形,余量在10dB以上,吊打其它大多数产品了。 再好的产品,在使用过程中,也难免会遇到各种问题, 可靠的售后服务 也是相当重要,这一点咱们做产品的人深有体会。遇到问题不可怕,可怕的是当你遇到问题,供应商态度差,回复慢,不专业,解决不了问题,就很让人头疼。 据王工了解,这款 MYD-LR3576 米尔开发板的公司 ,专注于嵌入式处理器模组设计研发、生产、销售于一体,在咱们嵌入式行业已经深耕10多年,产品都做过信号量测,高低温可靠性测试,EMC测试和防静电测试以及其它测试, 大厂品质有保证 。 最后,给大家附上米尔RK3576核心板、开发板、边缘计算盒子的配置型号:
  • 热度 1
    2025-3-7 14:08
    642 次阅读|
    0 个评论
    一、系统概述 MYD-LD25X搭载的Debian系统包含以太网、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI显示和摄像头等功能,同时也集成了XFCE轻量化桌面、VNC远程操控、SWITCH网络交换和TSN时间敏感网络功能,为工业设备赋予“超强算力+实时响应+极简运维”的体验! 类别 名称 描述 源码 TF-A Arm Trusted Firmware2.8 OP-TEE OP-TEE 3.19 Bootloader U-boot 2022.10 Kernel Linux Kernel 6.1.82 文件系统 myir-image-debian Debian12文件系统 工具 烧录工具 STM32CubeProgrammer 文档 MYD-LD25X_Debian系统开发指南 包含源码编译,烧录等 注:目前Debian系统只适配了高配置开发板型号:MYD-LD257-8E2D-150-I 图: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。以下是其核心特点和应用: 协议基础:基于RFB协议(Remote Framebuffer Protocol),通过传输屏幕图像的更新部分和用户输入指令实现交互。 客户端-服务端架构: 服务端:运行在MYD-LD25X上,负责分享屏幕并接收客户端指令。 客户端:用户通过客户端连接到服务端,查看并操作远程桌面。 网络传输:默认使用TCP端口5900+N(N为显示器编号,如:1对应5901)。 2.2.启动VNC服务 Debian系统默认上电就开启VNC服务端,使用下面命令查看vnc服务: root@myd-ld25x:~# ps -ef | grep vnc root 2348 1 0 15 :14 ? 00 :00:00 /usr/bin/perl /usr/bin/vncserver -geometry 1280x720 -depth 24 -localhost no :1 root 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 24 root 2350 2348 0 15 :14 ? 00 :00:00 /bin/sh /etc/X11/Xtigervnc-session root 2356 2350 0 15 :14 ? 00 :00:00 tigervncconfig -iconic root 4836 3480 0 16 :48 ttySTM0 00 :00:00 grep vnc 2.3客户端连接测试 下载客户端 Windows下载并安装客户端软件(如 RealVNC Viewer ),如下图所示: 图2.1客户端VNC界面 获取连接信息 通过myd-ld25x开发板获取目标设备的IP地址或主机名 (如192.168.40.198或myd-ld25x): root @myd-ld 25 x :~# cat /etc/hosts 127.0 . 0.1 myd-ld25x root @myd-ld 25 x :~# ifconfig end1: flags= 4099 UP,BROADCAST,MULTICAST mtu 1500 ether 38 :d5: 47 : 00 : 29 : 62 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 ( 0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 ( 0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 65 base 0 xc000 end2: flags= 4163 UP,BROADCAST,RUNNING,MULTICAST mtu 1500 inet 192.168 . 40.198 netmask 255.255 . 255.0 broadcast 192.168 . 40.255 inet6 fe80::bd6: 742 b :ef7 e :ee6f prefixlen 64 scopeid 0 x20link ether 5 e : 08 : 0 d : 0 e : 83 :b6 txqueuelen 1000 (Ethernet) RX packets 12454 bytes 2524533 ( 2.4 MiB) RX errors 0 dropped 129 overruns 0 frame 0 TX packets 476 bytes 41087 ( 40.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 68 base 0 x8000 通过VNC服务器的log,获取端口/显示编号,如:1(对应端口5901)或直接指定端口号5901: root @myd-ld 25 x :~# cat .vnc/myd-ld25 x : 1 .log Xvnc TigerVNC 1.12 . 0 - built 2023 - 01 - 06 16 : 01 Copyright (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 0 3 NI3X0 New Xtigervnc server 'myd-ld25x:1 (root)' on port 5901 for display : 1 . 3 NI3X0 Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /tmp/tigervnc.otB4Rd/passwd myd-ld25 x : 1 to connect to the VNC server. mieq : warning : overriding existing handler (nil) with 0 xaaaae7efad10 for event 2 mieq : warning : overriding existing handler (nil) with 0 xaaaae7efad10 for event 3 .................................................. 输入连接地址 依次点击VNC客户端界面“File-New connection”输入服务器和主机名,格式如下: 格式:目标地址:显示编号或目标地址::端口号 示例1(主机名+显示编号):myd-ld25x:1 示例2(IP+端口):192.168.40.198:5901 以主机名为例子,配置完成后,点击”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网络拓扑图 根据上图很容易了解网络拓扑结构: ( 169.254.1.2 ) │ ├── end2 接口 │ │ ├── end2 接口: 169.254.1.1 (连接 Device1) ├── sw0p2 接口: 192.168.0.20 (连接 Device2 end2) │ └── IP 转发已启用 (`echo 1 /proc/sys/net/ipv4/ip_forward`) ( 192.168.0.11 ) 3.3.关键拓扑配置解析 myd-ld25x的配置 从网络拓扑图可知,myd-ld25x被当作为交换机/网关,连接不同的子网络, 子网1配置169.254.1.0/24(通过end2接口);子网2:配置192.168.0.0/24(通过sw0p2接口)。启用ip_forward后,myd-ld25x可将来自子网1的流量转发到子网2,反之亦然。 Device1配置 设置IP为169.254.1.2,默认网关指向myd-ld25x的end2接口(169.254.1.1)。使得所有非本子网的流量(如访问192.168.0.11)通过网关myd-ld25x转发。 Device2配置 设置IP为192.168.0.11,默认网关指向myd-ld25x的sw0p2接口(192.168.0.20)。使所有非本子网的流量(如访问169.254.1.2)通过网关myd-ld25x转发。 3.4.转发功能配置与测试 切换交换机设备树 启动开发板,在uboot阶段选择交换机设备树,如下图所示: 图3.2选择交换机设备树 转发功能配置 根据拓扑结构对myd-ld25x开发板板进行配置,启动设备并设置 end1/sw0ep 接口,同时启用IP转发功能,使设备能够充当路由器,转发网络流量。 root @myd - ld25x : ~ # ifconfig end2 169.254.1.1 up root @myd - ld25x : ~ # ifconfig sw0p2 192.168.0.20 up root @myd - ld25x : ~ # echo 1 /proc/sys/net/ipv4/ip_forward 配置设备1(开发板或者PC)网络接口IP和路由,这里Device1使用一块MYD-LD25X开发板: Board $ ifconfig end2 169.254.1.2 up Board $ ip route add default via 169.254.1.1 配置设备2(开发板或者PC)网络IP和路由,这里Device2也使用一块MYD-LD25X开发板: Board $ ifconfig end2 192.168.0.11 up Board $ 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 $ ping 192.168 .0 .11 PING 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 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 2 ttl= 63 time= 0.618 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 3 ttl= 63 time= 0.649 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 4 ttl= 63 time= 0.669 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 5 ttl= 63 time= 0.625 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 6 ttl= 63 time= 0.624 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 7 ttl= 63 time= 0.630 ms 64 bytes from 192.168 .0 .11 : icmp_seq= 8 ttl= 63 time= 0.669 ms 从Device2-Device1,过程一样: Board $ 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 ms 64 bytes from 169.254 .1 .2 : icmp_seq= 2 ttl= 63 time= 0.688 ms 64 bytes from 169.254 .1 .2 : icmp_seq= 3 ttl= 63 time= 0.678 ms 64 bytes from 169.254 .1 .2 : icmp_seq= 4 ttl= 63 time= 0.640 ms 64 bytes from 169.254 .1 .2 : icmp_seq= 5 ttl= 63 time= 0.676 ms 64 bytes from 169.254 .1 .2 : icmp_seq= 6 ttl= 63 time= 0.614 ms 64 bytes from 169.254 .1 .2 : icmp_seq= 7 ttl= 63 time= 0.608 ms 64 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、 TSN 4.1.TSN简介 TSN代表时间敏感网络(Time-Sensitive Networking),它是由电气和电子工程师协会(IEEE)开发的一系列标准,旨在通过以太网网络提供确定性和低延迟的通信。TSN旨在支持实时应用,如工业自动化、汽车以及音频/视频流传输。 TSN通过在网络中的所有设备之间提供时间同步,并使用流量整形和调度机制为时间关键型流量分配优先级和网络资源,从而实现确定性通信。TSN还支持冗余和容错机制,以确保高可用性和可靠性。此处列出了IEEE定义的TSN标准的完整清单。TSN的关键特性包括: 时间同步:TSN使用精确时间协议(PTP)来同步网络中所有设备的时钟,精度可达亚微秒级。IEEE 802.1AS-Rev 流量整形和调度:TSN使用服务质量(QoS)机制为时间关键型流量分配优先级和网络资源,并防止拥塞和数据包丢失。IEEE 802.1Qav和IEEE 802.1Qbv 互操作性:TSN设计为与现有以太网网络兼容,并支持不同供应商和设备之间的互操作性。 总体而言,TSN为以太网网络上的实时通信提供了一个标准化且可靠的解决方案,有助于在各行各业启用新的应用和用例。802.1Qav和802.1Qbv之间的选择取决于应用的特定需求。802.1Qav通常用于带宽需求可变且不可预测的应用,而802.1Qbv则通常用于带宽需求固定且可预测的应用。MYD-LD25X独立网口end2和switch都支持TSN功能。本节将以myd-ld25x开发板独立以太网为例,展示TSN 802.1Qav如何提升流量整形效果。 4.2.网络拓扑介绍 通过预留4个带宽序列,给每个序列分别不同的优先级,如下网络拓扑图所示: 图4.1 QAV例子 如上图所示,配置网口如下: 使用4个队列(Q0-Q3)。每个队列在硬件中都有预留的带宽。最多支持4个队列。 队列0无带宽限制,用于通用流量。 队列1预留了最大带宽的10%(100Mbps) 队列2预留了最大带宽的20%(200Mbps) 队列3预留了最大带宽的30%(300Mbps) Q3是最高优先级队列,而Q0是最低优先级队列。 4.3.网络流量控制 创建vlan端口 在MYD-LD25X开发板发送端执行下面命令创建vlan端口,并建立端口映射: root @myd - ld25x : ~ # ip link add link end2 name end2.200 type vlan id 200 root @myd - ld25x : ~ # ip link set end2.200 type vlan egress 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7 root @myd - ld25x : ~ # ifconfig end2.200 192.168.200.60 netmask 255.255.255.0 在接受端(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 配置网络流量 CBS用于通过限制流量类别的数据速率来强制实施服务质量;为了将数据包划分为不同的流量类别,用户可以选择使用mqprio。 root @myd -ld25x:~ # tc qdisc add dev end0 clsact root @myd -ld25x:~ # tc qdisc add dev end0 handle 100: parent rootmqprio num_tc 4 map 0 0 1 1 2 2 3 3 3 3 3 3 3 3 3 3 queues 1 @0 1 @1 1 @2 1 @3 hw 0 为每个队列分配不同的带宽 // Set bandwidth of queue 1 to be 100 Mbps root @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 200 Mbps 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 300 Mbps root @myd - ld25x : ~ # tc qdisc replace dev end0 parent 100:4 cbs idleslope 300000 sendslope - 700000 hicredit 450 locredit - 1050 offload 1 流量测试 在连接到端点end2且IP地址为192.168.200.30的远程PC或其他设备上运行4个iperf会话,以生成具有不同优先级的多个数据流。 root @localhost :~ # iperf3 -s -p 5003 root @localhost :~ # iperf3 -s -p 5002 root @localhost :~ # iperf3 -s -p 5001 root @localhost :~ # iperf3 -s -p 5000 在MYD-LD25X开发板,使用iperf3开始传输数据流: //Stream with SKB priority 6 : TOS=0x14 == SO_PRIORITY=6 // https:man7.org/linux/man-pages/man8/tc-prio.8.html root @myd-ld 25 x :~# iperf3 -c 192.168 . 200.30 -u -b 0 -p 5003 -l1472 -t60 --tos 0 x14 //Stream with SKB priority 4 root @myd-ld 25 x :~# iperf3 -c 192.168 . 200.30 -u -b 0 -p 5002 -l1472 -t60 --tos 0 x1a //Stream with SKB priority 2 root @myd-ld 25 x :~# iperf3 -c 192.168 . 200.30 -u -b 0 -p 5001 -l1472 -t60 --tos 0 xa //Stream with SKB priority 0 (Best effort) root @myd-ld 25 x :~# iperf3 -c 192.168 . 200.30 -u -b 0 -p 5000 -l1472 -t60 测试结果 对于优先级为6且带宽为300Mbps的队列3,使用TC规则后: root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5003 -l1472 -t60 --tos 0 x14 5238 root@myd-ld25x:~# warning: UDP block size 1472 exceeds TCP MSS 1448 , may result in fragmentation / drops Connecting to host 192.168.200.30 , port 5003 local 192.168.200.60 port 56663 connected to 192.168.200.30 port 5003 Interval Transfer Bitrate Total Datagrams 0.00-1.00 sec 34 . 7 MBytes 291 Mbits/sec 24720 1.00-2.00 sec 34 . 7 MBytes 291 Mbits/sec 24710 2.00-3.00 sec 34 . 7 MBytes 291 Mbits/sec 24730 3.00-4.00 sec 34 . 6 MBytes 291 Mbits/sec 24680 4.00-5.00 sec 34 . 6 MBytes 290 Mbits/sec 24670 对于优先级为4且带宽为200Mbps的队列2,使用TC规则后: root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5002 -l1472 -t60 --tos 0 x1a 5335 root@myd-ld25x:~# warning: UDP block size 1472 exceeds TCP MSS 1448 , may result in fragmentation / drops Connecting to host 192.168.200.30 , port 5002 local 192.168.200.60 port 33494 connected to 192.168.200.30 port 5002 Interval Transfer Bitrate Total Datagrams 0.00-1.00 sec 23 . 3 MBytes 195 Mbits/sec 16600 1.00-2.00 sec 23 . 2 MBytes 195 Mbits/sec 16550 2.00-3.00 sec 23 . 2 MBytes 195 Mbits/sec 16550 3.00-4.00 sec 23 . 2 MBytes 195 Mbits/sec 16550 4.00-5.00 sec 23 . 2 MBytes 195 Mbits/sec 16550 5.00-6.00 sec 23 . 2 MBytes 195 Mbits/sec 16550 对于优先级为2且带宽为100Mbps的队列1,使用TC规则后: root@myd-ld25x:~# iperf3 -c 192.168 .200 .30 -u -b 0 -p 5001 -l1472 -t60 --tos 0xa 5376 warning: UDP block size 1472 exceeds TCP MSS 1448 , may result in fragmentation / drops root@myd-ld25x:~# Connecting to host 192.168 .200 .30 , port 5001 local 192.168 .200 .60 port 40923 connected to 192.168 .200 .30 port 5001 Interval Transfer Bitrate Total Datagrams 0.00 -1.00 sec 11.7 MBytes 98.3 Mbits/sec 8350 1.00 -2.00 sec 11.7 MBytes 97.9 Mbits/sec 8310 2.00 -3.00 sec 11.7 MBytes 97.7 Mbits/sec 8300 3.00 -4.00 sec 11.7 MBytes 97.9 Mbits/sec 8310 4.00 -5.00 sec 11.7 MBytes 97.8 Mbits/sec 8310 5.00 -6.00 sec 11.7 MBytes 97.8 Mbits/sec 8300 6.00 -7.00 sec 11.7 MBytes 97.9 Mbits/sec 8310 对应优先级为0且带宽无限制的流量,使用TC规则后: root@myd-ld25x:~# iperf3 -c 192.168.200.30 -u -b 0 -p 5000 -l1472 -t60 5426 root@myd-ld25x:~# warning: UDP block size 1472 exceeds TCP MSS 1448 , may result in fragmentation / drops Connecting to host 192.168.200.30 , port 5000 local 192.168.200.60 port 47330 connected to 192.168.200.30 port 5000 Interval Transfer Bitrate Total Datagrams 0.00-1.00 sec 101 MBytes 845 Mbits/sec 71800 1.00-2.00 sec 104 MBytes 875 Mbits/sec 74300 2.00-3.00 sec 105 MBytes 880 Mbits/sec 74750 3.00-4.00 sec 105 MBytes 880 Mbits/sec 74700 4.00-5.00 sec 105 MBytes 881 Mbits/sec 74790 5.00-6.00 sec 105 MBytes 878 Mbits/sec 74560
  • 热度 1
    2025-2-28 15:22
    553 次阅读|
    0 个评论
    近日,米尔电子携手推出全新一代ARM核心板——基于瑞芯微RK3562(J)处理器的MYC-YR3562核心板及开发板。这款核心板凭借其强大的性能、丰富的接口和灵活的扩展能力,为工业控制、物联网网关、边缘计算等领域提供了高性价比的解决方案。 核心板基于 RK3562 或RK3562J处理器,采用四核ARM Cortex-A53架构,主频高达2GHz,集成Mali-G52 GPU,支持4K视频解码和1080P视频编码。相较于前代产品,RK3562在性能上有了显著提升,同时保持了较低的功耗,堪称ARM中量级处理器中的多面手。MYC-YR3562核心板存储配置存储器1GB/2GB LPDDR4、8GB/16GB eMMC等多个型号供选择,配备开发板供开发者评估使用。下面详细介绍这款核心板的优势。 瑞芯微 R K3562处理器, 1 TOPS NPU,升级摄像头 I SP RK3562J/RK3562 是一款专为消费电子及工业设备设计的高性能、低功耗四核应用处理器。配备四核 ArmCortex-A53 +Cortex-M0,主频最高可达2.0GHz;具有1TOPS NPU,与TensorFlow、PyTorch、Caffe、ONNX、MXNet、Keras、Darknet 等深度学习框架兼容;集成 Mali G52 GPU,支持OpenGL ES1.1/2.0/3.2、OpenCL2.0 和 Vulkan1.1。 丰富的多媒体资源 RK3562支持3D GPU Mail-G52-2EE,13M ISP,支持1080P@60fps H.264 编码,4K@30fps H.265、1080P@60fps H.264解码,支持丰富多媒体接口MIPI CSI/Parallel RGB/LVDS/MIPI DSI等。 根据主芯片、存储器件参数的不同,MYC-YR3562核心板细分为3种型号。 核心板配置型号 产品型号 主芯片 NPU 内存 存储器 工作温度 MYC-YR3562J-8E1D-180-I RK3562J / 1 GB LPDDR4 8 GB -40℃~+85℃工业级 MYC-YR3562J-16E2D-180-I RK3562J / 2 GB LPDDR4 16 GB -40℃~+85℃工业级 MYC-YR3562-16E2D-200-C RK3562 1 TOPS 2 GB LPDDR4 16 GB 0℃~+70℃商业级 MYC-YR3562核心板选型表 开发板配置型号 产品型号 对应核心板型号 工作温度 MYD-YR3562-16E2D-200-C MYC-YR3562-16E2D-200-C 0℃~+70℃ 商业级 MYD-YR3562J-16E2D-180-I-GK MYC-YR3562J-16E2D-180-I -40℃~+85℃ 工业级 MYD-YR3562开发板选型表
相关资源
  • 所需E币: 0
    时间: 2024-2-24 22:36
    大小: 1.84MB
    上传者: 电子阔少
    米尔这款首发的国产核心板批量上市了!全志T527.docx
  • 所需E币: 4
    时间: 2021-3-16 00:17
    大小: 21.05MB
    上传者: LGWU1995
    半导体中的深能级杂质(A.G.米尔恩斯)..pdf
  • 所需E币: 0
    时间: 2020-3-9 10:59
    大小: 1.49MB
    STM32MP1系列的出现吸引了很多STM32的新老用户的关注,但是很多的人都会担心一个问题:以前是基于CortexM系列MCU进行开发的,对于cortex-A架构的处理器以及Linux系统都不熟悉。如何高效地从MCU跨越到MPU是大家都关心的话题。作为ST官方合作伙伴,米尔电子推出了开发套件MYD-YA157C,该套件由核心板MYC-YA157C和底板MYB-YA157C组成。该平台采用STM32MP157系列高性能处理器,提供了高性能显示,千兆以太网,WIFI/蓝牙,RS232/RS485/CAN等丰富接口。贴合应用场景的产品定义,稳定可靠的硬件设计,丰富的软件和学习资源,能帮助大家轻松实现跨越,是一块值得推荐的STM32MP1开发板。
  • 所需E币: 0
    时间: 2020-3-9 11:01
    大小: 1.15MB
    近几年来,随着AIOT技术的演进以及工业4.0的飞速发展,强大性能,成本领先,供货周期长的嵌入式板卡已经成为这两类设备硬件开发的普遍需求。为响应行业应用和满足客户需求,米尔推出了基于NXP公司i.MX8MMini系列芯片的MYC-C8MMX系列核心板及开发板,现已隆重上市发售。MYD-C8MMX开发板提供LVDS显示(单路/双路)、MIPI-DSI信号引出、MIPI-CSI摄像头接口、支持音频输入输出、千兆网、多路USB、多串口、WIFI及蓝牙模块等丰富的接口;同时核心板批量性价比高,稳定供货周期长达10年。
  • 所需E币: 0
    时间: 2020-3-9 11:05
    大小: 1002.49KB
    针对网关市场的庞大市场需求,米尔推出了基于TIAM335x系列处理器的开发平台MYD-C335X-GW,该平台采用核心板+底板的设计,其中MYC-C335X-GW核心板集成了电源管理芯片、DDR3/DDR3L、eMMC/NandFlash、EEPROM、以及160PIN的板对板信号扩展(80*2);底板提供了12V电源供电、双千兆以太网、一路光口、LVDS、RGBLCD、用于4GLTE的MINIPCI-E接口、WIFI及蓝牙模块、USBHOST、RS485、RS232等外设接口。