Hi all. After our engineers’ efforts, SylixOS was finally ported to Freedom U540.
Let me briefly introduce the opensource operating system of SylixOS.
SylixOS is an opensource embedded real-time operating system from China. Its main features are as follows.
- Compatible with IEEE 1003 (ISO/IEC 9945) operating system interface specification.
- Compatible POSIX 1003.1b (ISO/IEC 9945-1) real-time programming standard.
- Opensource, GPL license.
- Excellent real-time performance (time complexity of task scheduling and switching algorithm is O(1))
- Support unlimited multitasking.
- Preemptive scheduling supports 256 priorities.
- Support for virtual processes.
- Support priority inheritance to prevent priority inversion.
- The extremely stable kernel, many products based on SylixOS, require 7x24 hours of uninterrupted running.
- Support symmetric multi-processor(SMP), for example: ARM cortex-a9 SMPCore, Intel Duo Core™, whole series of loongson Core, FT-1500A,
Freescale i.MX6 series, Xilinx zynq-7000 series multicore processors.
- It can be started in 1~2 seconds according to project requirements.
- Support standard I/O, multi-channel I/O multiplexing and asynchronous I/O interfaces.
- Support multiple emerging asynchronous event synchronization interfaces, such as signalfd, timerfd, eventfd, etc.
- Support for many standard file systems: TPSFS (power loss), FAT, YAFFS, ROOTFS, PROCFS, NFS, ROMFS, etc.
- Supporting file record locks, supporting databases.
- Support memory management unit(MMU)
- Support third-party GUI graphics libraries, such as Qt, Microwindows, and emWIN.
- Support dynamic loading applications, dynamic link libraries, and kernel modules.
- Support standard TCP/IPv4/IPv6 dual network protocol stack, providing standard socket operation interface.
- Support AF_UNIX, AF_PACKET, AF_INET, AF_INET6 protocol domain.
- Internal integration of numerous network tools, such as FTP, TFTP, NAT, PING, TELNET, NFS, etc.
- Internal integrated Shell interface, supporting environment variables (compatible with common Linux Shell operations)
- Support the abstraction of many standard device, such as: TTY, BLOCK, DMA, ATA, SATA, GRAPH, RTC, PIPE, etc.
- Support various industrial device or bus models, such as: CAN, I2C, SPI, SDIO, PCI/PCIE, 1553B, USB, etc.
- Provide a high-speed timer device interface, which can provide timing services higher than the main clock frequency.
- Support for hot-plug device.
- Support device power management.
- Provide a kernel behavior tracker to facilitate application performance and failure analysis.
SylixOS on HiFive Unleashed :
SylixOS on QEMU :
Later we will merge the arch code of the RISC-V branch to the mainline SylixOS.
Then, interested friends can run SylixOS on HiFive Unleashed or QEMU.
The SylixOS open source community: www.sylixos.com