<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Winfred Young</title>
    <description>The latest articles on DEV Community by Winfred Young (@winfredy).</description>
    <link>https://dev.to/winfredy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4065138%2F99c44f21-fd6d-4f16-b0b2-b732a22e60aa.png</url>
      <title>DEV Community: Winfred Young</title>
      <link>https://dev.to/winfredy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/winfredy"/>
    <language>en</language>
    <item>
      <title>Open-Source, Low-Cost, High-Performance CNC Solutions Built on the Multi-Core Heterogeneous Framework RTOnBoot and Linuxcnc.</title>
      <dc:creator>Winfred Young</dc:creator>
      <pubDate>Thu, 06 Aug 2026 05:43:30 +0000</pubDate>
      <link>https://dev.to/winfredy/open-source-low-cost-high-performance-cnc-solutions-built-on-the-multi-core-heterogeneous-9og</link>
      <guid>https://dev.to/winfredy/open-source-low-cost-high-performance-cnc-solutions-built-on-the-multi-core-heterogeneous-9og</guid>
      <description>&lt;p&gt;Chengdu Shian Anxin Technology Co., Ltd. has developed the industry-leading multi-core heterogeneous framework RTOnBoot. Combined with SOEM master stations and OpenPLC, they have successively developed low-cost, high-performance single-core single-master station and industrial controller solutions on the RK3588 platform, achieving a stable Ethercat synchronization cycle of 125 microseconds.&lt;br&gt;
Now we've gone a step further, combining the RK3588 platform with Linuxcnc, which boasts a more general and superior real-time architecture, to develop a low-cost, high-performance CNC solution. The Ethercat synchronization cycle can also be stably achieved at 125 microseconds.&lt;br&gt;
As is well known, Linuxcnc is a full-featured industry solution encompassing a graphical interface, G-Code interpreter, libnml, HAL layer, and real-time motion planning and execution, primarily implemented on x86-PC machines. Its real-time architecture is perfectly integrated with RTAI, Xenomai, and Preempt-RT, with the HAL layer residing in shared memory, resulting in excellent real-time performance.&lt;br&gt;
Now we have perfectly integrated the multi-core heterogeneous framework RTOnBoot with Linuxcnc. RTAI, Xenomai, and Preempt-RT do not possess RTOnBoot's cache isolation design, allowing for free variable definition; therefore, their real-time performance and stability are inferior to RTOnBoot. Meanwhile, some RTOSs may be used, with real-time performance superior to RTOnBoot's NUTTX. However, Linuxcnc has a large amount of logic in the Linux user space, such as Python, TCL, G-code interpretation, etc., which is difficult to port to these pure RTOSs.&lt;br&gt;
The difference between our design and the original Linuxcnc design is that the original Linuxcnc's real-time portion runs on the Linux kernel or Linux user space, while our real-time portion runs on a separate RTOS core. Our goal is to combine with a more general and advanced architecture like Linuxcnc, while simultaneously completing the industrial ecosystem.&lt;br&gt;
To achieve our goal, we did a lot of work. First, we developed a multi-core, multi-master architecture, where multiple cores can run multiple SOEM masters, each achieving optimal performance. Obviously, the native design of SOEM masters doesn't support this.&lt;br&gt;
We have three sets of HAL and RTAPI: one in Linux user space, one in Linux kernel space, and one on another core running Nuttx. The original Linuxcnc had two sets: one in Linux user space and one in Linux kernel space.&lt;br&gt;
We perfectly implemented the loadrt command. Loadrt supports Nuttx's embedded mode, Nuttx dynamic link libraries, or Linux kernel KO files. It has a complete module management mechanism. Linux kernel-level KO files can implement a Linuxcnc kernel driver, allowing for two driver implementation methods: Linux kernel driver or Nuttx driver. This is very convenient for users, as many are more accustomed to writing Linux drivers, and the supported APIs are much richer. The only limitation is that it operates in Linux kernel space, preventing the export or addition of functions.&lt;br&gt;
Because the real-time thread runs on Nuttx. However, through HAL signals, it is possible to efficiently establish, read, and write variable states or values ​​between the kernel and the real-time thread.&lt;br&gt;
We also perfectly modified halcompile, allowing it to cross-compile into Nuttx dynamic link libraries or Linux kernel KO modules for use by LoadRT. It also integrates with the module management mechanism.&lt;br&gt;
We focused on the integration of linuxcnc and ethercat. We modified linuxcnc-ethercat. The XML configuration file format and data structure of Ethercat are consistent with linuxcnc-ethercat. Our main modification was changing the protocol stack from IGH to SOEM, adapting it to multi-core heterogeneous and multi-core multi-master structures.&lt;br&gt;
We use the multi-core version of RTOnBoot. NUTTX controls at least two cores. One core runs the base-thread and servo-thread, and the other one or more cores run one or more SOEM masters.&lt;br&gt;
The SOEM master has three threads: soem-init, soem, and errror_check.&lt;br&gt;
We support CSP mode and zero-return operation for the Cia402 driver.&lt;br&gt;
Under this general architecture, tests showed that the maximum execution latency of SOEM is 51 microseconds, and the maximum sleep latency is 31 microseconds, so the synchronization period can stably reach 125 microseconds.&lt;br&gt;
Of course, our porting is general and adaptable to non-ethercat environments, but we haven't tested that.&lt;br&gt;
For the graphical interface, we use qtvcp, which can display interfaces such as qtaxis. Other graphical interfaces are more classic and there's no need to use them for now. Integration with Python and TCL has been completed.&lt;br&gt;
In addition, to support loading different .so files, we developed a general-purpose memory file system, SOFS, for sharing files between kernels.&lt;br&gt;
In addition, we have developed a FIFO mechanism for efficient real-time and non-real-time communication as a supplement to the message mechanism.&lt;br&gt;
At this point, we have completed the industrial ecosystem. Regarding the robot ecosystem, we believe that the combination of ROS distributed architecture and Linux CNC is the most beneficial architecture for the real-time performance of actuators. It leverages the distributed nature and ecosystem of ROS, while also taking advantage of the ecosystem and real-time architecture of Linux CNC. Our solution further enhances real-time performance and stability. Of course, there are multiple implementation methods in this regard, and different people will have different opinions.&lt;br&gt;
Finally, here is an example HAL file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmhdc7ukuiqllz74i7kfi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmhdc7ukuiqllz74i7kfi.png" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Open-Source, Low-Cost, High-Performance Linux Master Controller Plus Ethercat Master Solution Built on the RTOnBoot Framework</title>
      <dc:creator>Winfred Young</dc:creator>
      <pubDate>Thu, 06 Aug 2026 05:38:39 +0000</pubDate>
      <link>https://dev.to/winfredy/open-source-low-cost-high-performance-linux-master-controller-plus-ethercat-master-solution-built-48mb</link>
      <guid>https://dev.to/winfredy/open-source-low-cost-high-performance-linux-master-controller-plus-ethercat-master-solution-built-48mb</guid>
      <description>&lt;p&gt;With the development of technology, the requirements for real-time synchronization accuracy of buses in modern control systems are becoming increasingly stringent. Therefore, buses such as ModBus and CAN are being used less and less, and the Ethercat bus has become the de facto standard. In fields such as industrial automation, industrial robots, high-precision machining, and humanoid robots, more and more systems are adopting the Ethercat bus with a synchronization cycle of up to 125 microseconds. However, the master station ecosystem in this area is controlled by European and American companies, and these master controller plus master station systems are often quite expensive. Therefore, the market urgently needs a low-cost Linux master controller plus Ethercat master solution with a synchronization cycle of up to 125 microseconds. Chengdu Shian Anxin Technology Co., Ltd. has responded to this demand by launching an open-source, low-cost, high-performance Linux master controller plus Ethercat master solution with a stable synchronization cycle of 125 microseconds and a very low cost.&lt;br&gt;
The software system of the low-cost, high-performance Linux master controller plus Ethercat master solution is built on the multi-core heterogeneous framework RTOnBoot. RTOnBoot is an industry-leading Linux plus RTOS multi-core heterogeneous framework. Its real-time jitter is the lowest among existing Linux or Linux-derived systems, with only 1 microsecond of real-time jitter under idle and only 4 microseconds under heavy load, far superior to Xenomai or Preempt-RT. The software system of the low-cost, high-performance Linux host plus Ethercat master solution is mostly open source. The Ethercat-related parts, including the SOEM protocol stack and real-time network card driver, are open source. Only a small amount of source code related to the RTOnBoot framework is not open source, but it is available.&lt;br&gt;
RTSDK programming interface. The low-cost, high-performance Linux controller plus Ethercat master solution uses the RK3588 processor, which is the preferred choice after comprehensively considering factors such as cost, AI performance, number of cores, processing performance, and ecosystem. The Ethercat synchronization cycle of this low-cost, high-performance Linux controller plus Ethercat master solution can stably reach 125 microseconds. When the motor is rotating, the latency is measured. After one million tests, the maximum sleep latency is 11 microseconds, and the maximum execution latency, including packet sending and receiving, is 20 microseconds. The two maximum latencies combined are only slightly over 30 microseconds, leaving a margin of over 90 microseconds from 125 microseconds. Its real-time performance is undoubtedly excellent among many solutions. The overall cost of the Linux controller plus Ethercat master solution is much lower than other solutions with this performance.&lt;br&gt;
The RTOnBoot framework is easy to program, has RTSDK support, and can be easily integrated into the ROS framework for use in robotic systems.&lt;br&gt;
The Ethercat protocol stack in the low-cost, high-performance Linux host plus Ethercat master solution uses the SOEM protocol stack. We also ported the IGH protocol stack successfully. However, after comparison, we found that the IGH protocol stack's software architecture is more suitable for native Linux. For multi-core heterogeneous architectures, running SOEM on a single RTOS core provides better real-time performance and DC synchronization. Therefore, we no longer maintain the IGH code. However, to enhance the usability of the SOEM protocol stack, we developed ICOS, or IGH Commands over SOEM, which allows IGH commands to be run under Linux.&lt;br&gt;
The RTOnBoot framework boasts optimal performance for large-capacity data exchange between cores, minimizing the number of memcpy calls.&lt;br&gt;
The RTOnBoot framework also features a TRACE mechanism for multi-core collaborative work, facilitating troubleshooting of multi-core issues.&lt;/p&gt;

</description>
      <category>hardware</category>
      <category>linux</category>
      <category>opensource</category>
      <category>robotics</category>
    </item>
    <item>
      <title>An Open-Source, Low-Cost, High-Performance Linux Master Controller Solution for the Processing Industry, Built on Framework RTOnBoot and OpenPLC.</title>
      <dc:creator>Winfred Young</dc:creator>
      <pubDate>Thu, 06 Aug 2026 05:36:23 +0000</pubDate>
      <link>https://dev.to/winfredy/an-open-source-low-cost-high-performance-linux-master-controller-solution-for-the-processing-1fo4</link>
      <guid>https://dev.to/winfredy/an-open-source-low-cost-high-performance-linux-master-controller-solution-for-the-processing-1fo4</guid>
      <description>&lt;p&gt;Industrial controllers are an important component of modern industrial control systems, and their performance and stability play a crucial role in industrial control systems.&lt;br&gt;
Currently, there are some mature industrial controller solutions on the market, both domestically and internationally. These are generally not open-source, are expensive, and their real-time performance is not superior. OpenPLC is an open-source industrial controller solution with a good ecosystem, but its real-time performance is poor and needs improvement in many areas.&lt;br&gt;
Chengdu Shian Anxin Technology Co., Ltd. has perfectly integrated its industry-leading multi-core heterogeneous framework RTOnBoot and its Ethercat master station solution based on RTOnBoot with OpenPLC, launching an open-source, low-cost, high-performance Linux master controller solution for the processing industry, built on the multi-core heterogeneous framework RTOnBoot and OpenPLC.&lt;br&gt;
The multi-core heterogeneous framework RTOnBoot has excellent real-time performance. Running the OpenPLC runtime on the real-time core controlled by RTOnBoot will undoubtedly greatly improve the real-time performance of the OpenPLC runtime. Meanwhile, OpenPLC's web server, libmodbus, opendnp3, and libsnap7 run on Linux. This leverages both Linux's network advantages and RTOnBoot's real-time performance advantages, complementing each other to optimize overall system performance without increasing costs.&lt;br&gt;
The current version uses a multi-core version of RTOnBoot, allowing RTOnBoot to control two real-time cores: one running the Ethercat SOEM master station, and the other running the OpenPLC runtime. The Ethercat SOEM master station's synchronization cycle can stably reach 125 microseconds, and the OpenPLC runtime's cycle cycle is also 125 microseconds. The OpenPLC runtime's latency does not affect the Ethercat SOEM master station. Testing on the RK3588 shows that the OpenPLC runtime execution latency is a minimum of 4.592 microseconds, a maximum of 44.198 microseconds, and an average of 9.128 microseconds. This latency includes the time spent waiting for locks; inter-core locking is used to ensure data consistency, demonstrating excellent real-time performance. The Ethercat SOEM master latency remains the same as before: the maximum sleep latency is 11 microseconds, and the maximum execution latency, including packet transmission and reception, is 20 microseconds. The two maximum latencies combined are only slightly over 30 microseconds, leaving a margin of over 90 microseconds from the 125 microsecond threshold.&lt;br&gt;
If the user does not need the Ethercat master or the OpenPLC runtime latency does not affect the real-time performance of the Ethercat master, RTOnBoot can control only one core, which is easy to switch between.&lt;br&gt;
The original OpenPLC solution generated and compiled the OpenPLC runtime on the target machine. Directly copying this approach is not feasible, as we are now cross-compiling, and the runtime runs on Nuttx. Therefore, our solution is to cross-compile the generated program and hardware layer into a Nuttx dynamic link library, and then combine this dynamic link library with the ST source files and some configuration parameters.&lt;br&gt;
Package into a special bin file. This special bin file is generated by a script with one click in the development environment. The original OpenPLC upload of the source file via a webpage has been changed to upload the bin file. An RTOnBoot option has been added to the existing OpenPLC Hardware options, and this is the default setting. In this state, the original OpenPLC compilation process is changed to unpacking this special bin file. Other existing OpenPLC configurations remain unchanged. Of course, we have also improved some imperfections in the original OpenPLC code.&lt;br&gt;
Through these efforts, we have achieved a complete and robust low-cost, high-performance Linux master control industrial controller plus Ethercat master station solution.&lt;br&gt;
Except for a small amount of code in the RTOnBoot framework, all other code related to OpenPLC, PLC runtime, and Ethercat master station is open source. The RTOnBoot framework is simple to program and has undergone thorough verification and testing.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
      <category>performance</category>
      <category>software</category>
    </item>
    <item>
      <title>Introduction to RTONBOOT, an Industry-Leading Multi-Core Heterogeneous Framework</title>
      <dc:creator>Winfred Young</dc:creator>
      <pubDate>Thu, 06 Aug 2026 05:32:40 +0000</pubDate>
      <link>https://dev.to/winfredy/introduction-to-rtonboot-an-industry-leading-multi-core-heterogeneous-framework-3n7b</link>
      <guid>https://dev.to/winfredy/introduction-to-rtonboot-an-industry-leading-multi-core-heterogeneous-framework-3n7b</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Introduction and features of the RTOnBoot framework
Chengdu Shianxin Technology Co., Ltd. completed the development of the RTOnBoot real-time framework in 2021. The RTOnBoot framework is a multi-core heterogeneous framework for Linux and RTOS (Real-Time Operating System). One heterogeneous architecture is Linux or Android, and the other is RTOS. The RTOnBoot framework requires corresponding modifications to the Bootloader, Linux or Android, and the RTOS. The RTOS uses our self-developed kernel and can also port most RTOSs available online, such as NuttX (similar to Linux's API interface, Apache License) and ThreadX (with stronger security and real-time performance than VxWorks, MIT License).
Six major technical advantages of the RTOnBoot framework:
First, stable and excellent hard real-time characteristics, insensitive to the load of Linux or Android.
Second, ultra-fast startup speed. Solves the problem of slow startup speed of Linux or Android.
Third, optimal inter-core large-capacity data exchange performance, with inter-core large-capacity data exchange performance at the nanometer level, while OpenAMP is at the second level.
Fourth, the most flexible inter-core interaction means. In addition to asynchronous message interaction between cores, Linux or Android can even directly call the RTOS API or access the RTOS shared variables.
Fifth, enhanced security. An enhanced security mechanism is designed. TrustZone hardware isolation is adopted. Further enhances the security of the real-time system without affecting the smoothness, in addition to the Linux security mechanism.
Sixth, perfect compatibility. After successful porting, it is 100% compatible with the Linux or Android ecosystem (drivers or applications).
In summary, the RTOnBoot framework is currently the world's best multi-core heterogeneous coexistence solution.&lt;/li&gt;
&lt;li&gt;The RTOnBoot framework can be applied to many fields.
First, why choose the RTOnBoot framework instead of existing real-time frameworks like Xenomai or Preempt-RT patches?
Xenomai or Preempt-RT patches have poor real-time performance stability. While their real-time performance is decent under system idle, stability is insufficient. Under heavy system load, real-time performance drops significantly, with noticeable jitter and frequent large delays. RTOnBoot, on the other hand, has stable real-time performance and is not highly sensitive to system load. Under heavy system load, real-time performance drops only slightly, and the probability of large delays is extremely low.
Second, EtherCAT is currently the most popular and advanced fieldbus. EtherCAT masters have high real-time requirements, and solutions using Xenomai or Preempt-RT patches may experience packet loss under heavy system load. Heavy system load is very common in the current AI era.
Third, industrial software like OpenPLC or Codesys can be ported to a core running an RTOS. IgH or SOEM master stations can also be ported to a core running an RTOS.
Fourth, the UAV flight control software PX4 is based on NuttX, but running PX4 on a microcontroller now has the problem of excessive CPU usage. PX4 can be ported to a core running an RTOS.
Fifth, microcontrollers cannot meet the requirements of the current Internet and AI era for master stations.
Sixth, there are real-time solutions for Windows. However, Windows has several fatal weaknesses:
1.High cost and power consumption.&lt;/li&gt;
&lt;li&gt;Windows is not open source, making user customization difficult.&lt;/li&gt;
&lt;li&gt;Windows AI computing power relies on NVIDIA graphics cards, while embedded systems in China more commonly use NPUs, and the supply of NVIDIA graphics cards is an issue.&lt;/li&gt;
&lt;li&gt;The processing power of ARM64 is now close to that of X64, which is more than enough.&lt;/li&gt;
&lt;li&gt;Windows' real-time solutions do not have excellent real-time performance.
Seventh, the hard-core microcontroller core included with the SOC can be used as a backup control system when the main flight control platform fails. This design is the optimal one.
Eighth, using the RTOnBoot framework in the 3D printing field can also bring revolutionary changes. The printing firmware originally running on a microcontroller can be ported to a core running an RTOS. This can greatly improve real-time performance and printing speed, and the original two boards can be combined into one, also improving system stability. This demand is even more urgent in industrial-grade 3D printing.
Ninth, real-time system security is getting more and more attention.
Tenth, precision robotic motion platforms, such as surgical robots and other such occasions appear in real-time jitter, the results are unacceptable to the user.
Eleventh, the RTOnBoot framework and ROS have been integrated. Hard real-time ROS nodes can be created based on the RTOnBoot framework.
Twelfth, the RTOnBoot framework can also be used in CNC machining and precision machinery fields to improve high-precision speed and stability.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>architecture</category>
      <category>linux</category>
      <category>software</category>
    </item>
  </channel>
</rss>
