SylixOS是“翼辉信息”开发的一款国产开源大型实时操作系统,内核自主化率达到100%(据工信部评估报告),具有完全自主可控的技术能力,可满足广大用户国产化需求。
SylixOS操作系统拥有与VxWorks一样的实时性,与Linux一样的兼容性。并且SylixOS应用编程接口符合IEEE、ISO、IEC相关操作系统编程接口规范,兼容POSIX 1003.1b实时编程标准,因此基于Linux、VxWorks操作系统的应用程序可方便快捷地移植到SylixOS系统上运行。
图 1
SylixOS作为抢占式多任务硬实时操作系统,具有如下功能特点:
(1)兼容IEEE1003(ISO/IEC9945)操作系统接口规范;
(2)兼容POSIX1003.1b(ISO/IEC9945-1)实时编程标准;
(3)支持GJB7714-2012《军用嵌入式实时操作系统应用编程接口》规范;
(4)优秀的实时性能(任务调度与切换算法时间复杂度为O(1));
(5)抢占式调度支持256个优先级;
(6)根据项目需求可支持1~2秒启动;
(7)支持众多标准文件系统:TpsFs(掉电安全)、FAT、YAFFS、rootFS、PROCFS、NFS、ROMFS等;
(8)支持第三方GUI图形库,如Qt、MICroWindows、μC/GUI等;
(9)支持标准TCP/IPv4/IPv6双网络协议栈,提供标准的socket操作接口;
(10)支持AF_UNIX,AF_PACKET,AF_INET,AF_INET6协议域;
(11)内部集成Shell接口、支持环境变量(兼容常用LinuxShell操作);
(12)支持众多标准设备抽象,如TTY、BLOCK、DMA、ATA、SATA、GRAPH、RTC、PIPE等;
(13)支持多种工业设备或总线模型,如:CAN、I2C、SPI、SDIO、PCI/PCIe、1553B、USB等。
SylixOS、RT-Linux、Xenomai系统的实时性和抖动官方对比数据如下图所示。
图 2
创龙科技SOM-TLT3核心板基于全志科技T3处理器设计,四核Cortex-A7架构,每核主频高达1.2GHz。核心板采用100%国产元器件方案,包括CPU、ROM、RAM、晶振、电源等,并按照工业级(-40~85℃)标准进行高低温测试验证,满足各种工业应用环境。
图3 SOM-TLT3核心板正面图
图4 SOM-TLT3核心板反面图
核心板配套的评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编解码,并支持SATA大容量存储接口。
评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
图 5 TLT3-EVM评估板硬件资源图1
图 6 TLT3-EVM评估板硬件资源图2
本文主要基于创龙科技TLT3-EVM评估板演示翼辉SylixOS国产操作系统(支持Qt-5.12.9)针对部分接口的使用方法,以及Qt程序的运行效果。
执行df命令,可查看Micro SD的设备节点为sdcard-0,包含两个可见分区,挂载路径分别为media目录下的sdcard0、sdcard1,如下图所示。
备注:sdcard-1为SylixOS系统下eMMC的设备节点,包含两个可见分区,挂载路径分别为media目录下的sdcard2、sdcard3。
图 7
执行如下命令,分别测试Micro SD的写速度和读速度。
Target# dd if=/dev/zero of=/media/sdcard1/test bs=1024K count=100
Target# dd if=/media/sdcard1/test of=/dev/null bs=1024K
图 8
本次测得Micro SD的写速度为12.1MB/s,读速度为12.9MB/s。
3.2 SPI FLASH读写测试
执行df命令,可查看SPI FLASH的挂载路径为YAFFS文件系统目录。
图 9
进入挂载目录,执行如下命令查看SPI FLASH详细信息。
Target# cd /yaffs2/flash/
Target# df .
图 10
执行如下命令,分别测试SPI FLASH的写速度和读速度。
Target# dd if=/dev/zero of=/yaffs2/flash/test bs=1024K count=5
Target# dd if=/yaffs2/flash/test of=/dev/null bs=1024K
图 11
本次测得SPI FLASH的写速度为362.2KB/s,读速度为1.6MB/s。
3.3 USB接口测试
3.3.1 USB设备挂载测试
请将U盘插入评估板USB1 HOST或USB2 HOST接口,系统将识别U盘,并在“/dev/blk/”目录下新生成U盘对应的设备名。
图 12
SylixOS系统支持FAT和TPSFS文件系统格式。若U盘非此两种文件系统格式,请执行如下命令对其进行重新分区和格式化后再进行测试。
Target# fdisk -f /dev/blk/udisk-0
图 13
执行如下命令重新挂载U盘,并对U盘分区进行格式化。
Target# remount /dev/blk/udisk-0
Target# mkfs /media/udisk0
图 14
进入U盘挂载目录,即可进行文件的创建、读写操作。
图 15
3.3.2 USB接口读写测试
执行如下命令,分别测试USB接口的写速度和读速度。
Target# dd if=/dev/zero of=/media/udisk0/test bs=1024K count=100
Target# dd if=/media/udisk0/test of=/dev/null bs=1024K
图 16
本次测得USB接口的写速度为7.7MB/s,读速度为8.7MB/s。
3.4 网络接口测试
评估板配备一个千兆网口RGMII ETH和一个百兆网口MII ETH,与设备节点对应关系为RGMII ETH-en1;MII ETH-en2。
请使用网线将评估板对应网口直连至PC机网口,将“4-软件资料\SylixOS\Demo\Ethernet\iperf-3.1.3-win64.zip”压缩包解压至Windows系统非中文路径。
3.4.1 网络连通性测试
请先按照下图方法配置Windows静态IP地址,含IP地址、子网掩码、网关。
图 17
评估板执行如下命令,配置评估板IP地址与PC机当前的IP地址在同一网段。具体为子网掩码、网关相同,IP地址的前三个字段相同、最后一个字段不相同。
Target# ifconfig en2 inet 192.168.1.130
Target# ifconfig en2 netmask 255.255.254.0
Target# ifconfig en2 gateway 192.168.1.1
图 18
在PC机搜索Windows PowerShell,然后点击打开Windows PowerShell终端。
图 19
在Windows PowerShell终端进入iperf-3.1.3-win64工具解压目录,执行如下命令ping评估板IP地址。
PowerShell# ping 192.168.1.130
图 20
在评估板串口调试终端执行如下命令ping Windows IP地址,确认评估板与Windows可互相ping通。
Target# ping 192.168.1.125
图 21
请使用网线将评估板MII ETH网口直连至PC机网口,并已设置为同一网段。在Windows PowerShell终端进入iperf-3.1.3-win64工具解压目录,执行如下命令。
PowerShell# .\iperf3.exe -s -1
图 22
评估板串口终端执行如下命令,使用文件系统的iperf工具测得MII ETH网口带宽为86.0Mbits/s。
Target# /apps/bsp_performance/iperf -c 192.168.1.125 -i 1
图 23
3.4.3 RGMII ETH网口带宽测试
请使用网线将评估板RGMII ETH网口直连至PC机网口,并已设置为同一网段。
图 24
在Windows PowerShell终端进入iperf-3.1.3-win64工具解压目录,执行如下命令。
PowerShell# .\iperf3.exe -s -1
图 25
评估板串口终端执行如下命令,测得RGMII ETH网口带宽为486Mbits/s。
Target# /apps/bsp_performance/iperf -c 192.168.1.125 -i 1
图 26
3.5 CAN接口测试
请先按照调试工具安装文档安装CAN接口调试工具ECAN Tools。使用USB转CAN模块连接评估板CAN0 SPI2(CON9)或CAN1 SPI2(CON8)接口至PC机USB接口,本次操作以CAN0 SPI2接口为例进行演示。
图 27
在PC端打开ECANTools软件,选择设备类型,然后点击“打开设备”。选中软件检测到设备后,设置波特率为500K,点击“确定”。
图 28
执行如下命令,发送程序设定的数据帧到PC机ECANTools软件。参数“0”表示CAN0 SPI2接口(参数“1”表示CAN1 SPI2接口),参数“5”表示发送的数据帧数量。
Target# /apps/single_can_test/single_can_test 0 5
图 29
ECANTools软件收到数据帧如下图所示。
图 30
在PC机ECANTools软件发送对应的数据帧到评估板。
图 31
评估板接收到数据(ASCII码)后,串口调试终端将通过字符的形式打印出来。
图 32
3.6 LCD显示屏+Qt测试
请通过FFC软排线将TL070A LCD显示屏与评估板TFT LCD(CON11)接口连接,硬件连接如下图所示。
图 33
执行如下命令,替换boot目录下支持LCD显示屏的SylixOS系统镜像。
Target# cp /boot/bspTLT3_7_TFT_LCD.bin /boot/bspTLT3.bin
图 34
执行如下脚本文件,备份系统相关文件。
Target# shfile /etc/mkimg.sh
图 35
执行如下命令,卸载SD卡分区,进入boot_package文件所在路径,将LCD显示屏固件替换掉系统原有文件后,重启系统。
Target# umount /media/sdcard0
Target# umount /media/sdcard1
Target# cd /mnt/temp/tool/Boot_package/11_20_11/T3/
Target# dd if=boot_package_tft_lcd.fex of=/dev/blk/sdcard-0 seek=32800
Target# dd if=boot_package_tft_lcd.fex of=/dev/blk/sdcard-0 seek=24576
Target# sync
图 36
系统重新启动后,LCD显示屏运行Qt程序效果如下图所示。
图 37