In the field of industrial computing, selecting a core board is far more than just choosing its CPU model, memory size, or number of interfaces. A frequently overlooked factor that actually determines the success of a project is the software ecosystem behind the core board. A complete software ecosystem can shorten the development cycle from proof of concept to mass production from months to weeks, freeing engineers from tedious low-level driver debugging and allowing them to focus on creating core business value.
This article takes EBYTE's ECK10 and ECK20 series core boards as examples to deeply analyze what a excellent industrial core board software ecosystem contains and how it accelerates your development process.
An embedded Linux system needs to go through a rigorous three-level boot process from power-on to normal operation. A mature software ecosystem provides reusable source code for the entire process, eliminating the need for developers to complete complex porting work from zero.
1.1 First-Stage Boot Loader (FSBL)
Taking the ECK10-13xA series as an example, its source code package pre-installs TF-A 2.8.6 (Trusted Firmware-A) as the first-stage bootloader, responsible for initializing the most basic security environment and hardware resources, and is the first piece of code running on the CPU after power-on.
1.2 Second-Stage Boot Loader (SSBL)
It is composed of OP-TEE 3.19 and U-Boot 2022.10. OP-TEE provides a trusted execution environment to ensure the security of key operations such as encryption and identity authentication; U-Boot, as the mainstream Bootloader, is responsible for initializing core peripherals such as DDR, network, and storage, and loading the Linux kernel according to configuration.
1.3 Kernel Startup
After the first two stages of booting are completed, U-Boot will automatically load the pre-installed Linux Kernel 6.1.28 into memory and start the system.
Ecosystem Acceleration Value: The manufacturer provides complete modifiable source code for the three parts of TF-A, OP-TEE, and U-Boot. Developers do not need to write or port the boot program from scratch. They only need to adjust parameters according to their own baseboard configuration (such as modifying the DDR configuration in U-Boot, network PHY address) to quickly generate a stable and secure boot system adapted to custom hardware, saving weeks of low-level adaptation time.
In bare-metal development, simply implementing a GPIO level control may take hours to consult the processor manual and debug registers; under a mature Board Support Package (BSP) system, such operations can be completed with just a few lines of commands. One of the core values of the software ecosystem is to provide "out-of-the-box" drivers for all on-board peripherals.
Taking the driver resources of the ECK10-13xA and ECK20-6Y28C series as examples, their BSP has pre-installed mature drivers covering most industrial scenarios:
Driver Category | Support List |
Basic Control | GPIO driver, Watchdog driver |
Time and Display | RTC real-time clock driver, LCD display driver |
Communication Interface | I2C, SPI, TTY (serial port), USB Host/OTG driver |
Storage and Interaction | NAND Flash driver, capacitive Touch driver |
Industrial Exclusive | CAN bus driver, PWM driver, ADC driver |
The kernel and drivers only form the foundation of the system. To achieve efficient development, a mature file system and toolchain are also required. The "last mile" of the software ecosystem is to integrate these scattered components into a complete and usable toolkit.
· For scenarios requiring visual interaction such as HMI and industrial tablets: The ECK10-13xA series pre-installs the Ubuntu 18.04 system with XFCE desktop, which can enter the familiar graphical interface after booting, without the need to build a desktop environment from scratch.
· For lightweight and high customization requirements: It also provides a streamlined file system built by Buildroot, which can tailor components according to business needs, taking into account both performance and resource occupation.
· Cross-compilation toolchain: Pre-installed tools such as gcc-arm-10.3, which support compiling programs on the PC side and then directly deploying them to the core board for operation, without compiling on embedded devices with limited resources.
· System building tools: Integrate two mainstream building tools, Buildroot and Yocto, to generate an efficient and streamlined file system containing only necessary components through simple configuration files.
· Burning and configuration tools: Supporting professional burning tools such as STM32CubeProgrammer (for ECK10 series) and uuu (for ECK20 series) to achieve stable and efficient firmware burning; graphical configuration tools such as STM32CubeMX support visual configuration of pin functions and automatically generate initialization code.
Ecosystem Acceleration Value: All tools have been integrated and tested for compatibility by the manufacturer, and are provided uniformly in the form of an SDK package. Developers do not need to manually download and configure dependencies one by one. In the Windows environment, you can use Win32DiskImager and balenaEtcher to make an SD card boot system with one click; in the Ubuntu environment, you can directly call the cross-compilation toolchain for development, and the environment setup time is shortened from a few days to a few hours.
Code and tools are the "skeleton" of the ecosystem, while a clear and detailed documentation system is the "soul" of the ecosystem. A mature software ecosystem is inevitably equipped with guidance covering the whole process from hardware design to application development, so that problems can be checked and solved.
4.1 Hardware Design Guide
It provides baseboard reference schematics, PCB package libraries, and Layout wiring suggestions to help developers avoid common pitfalls in hardware design and reduce the risk of board revision.
4.2 Software Development Guide
It explains the whole process of development environment setup, system burning, application writing and debugging step by step, even beginners in embedded development can get started quickly.
4.3 Scenario-based Application Notes
For typical industrial scenarios such as MQTT cloud connection, Modbus industrial communication, and data collection, ready-made sample codes and configuration guidance are provided, which can be directly reused in projects.
Ecosystem Acceleration Value: Complete documentation is the first line of defense to solve development problems, and 80% of common problems can be quickly located through documentation; if you encounter problems not covered by the documentation, the manufacturer's professional technical support constitutes the second line of defense. This closed loop of "code + tools + documentation + support" greatly reduces the technical risk and trial-and-error cost of the project.
What are the main differences between a core board with a complete software ecosystem and a bare core board?
A bare core board only provides hardware, and developers need to complete all low-level work such as bootloader porting, driver development, and system construction by themselves, which usually takes 2-3 months of preparation time. A core board with a complete software ecosystem has already completed these underlying adaptations, and developers can directly start upper-layer application development after getting the board, which can save more than 80% of the pre-development time.
Can I customize the system according to my own project needs?
Yes. The software ecosystem provided by EBYTE provides all modifiable source codes, including boot code, driver source code, and file system construction scripts. You can tailor the system functions, add or delete components according to project requirements, and generate a customized system firmware that meets your own business needs.
What if I encounter technical problems during development?
First, you can refer to the official hardware and software development guides and application notes, which cover most common problems. If you still cannot solve the problem, you can contact EBYTE's technical support team through the official website, email, or after-sales group, and the professional engineer team will provide targeted solutions.
Are the provided tools compatible with common development environments?
Yes. The supporting tools are compatible with mainstream operating systems such as Windows 10/11 and Ubuntu 18.04/20.04. The cross-compilation toolchain, burning tools, and configuration tools have all passed compatibility tests, so there is no need to worry about environment adaptation problems.
How long will the software ecosystem be maintained and updated?
EBYTE provides long-term maintenance for the software ecosystem of its core board products, including regular kernel version updates, driver function iterations, and security patch pushes. For products in mass production, the software support period is no less than 5 years, which can guarantee the long-term stable operation of your project.
For
industrial core boards, hardware performance determines the "lower
limit" of product capabilities, while the software ecosystem determines
the "upper limit" of development efficiency and project landing speed.
The core logic of an excellent software ecosystem is "leave the trouble
to ourselves, and leave the convenience to users" - by providing
pre-ported boot code, verified drivers, pre-configured systems and
toolchains, we have completed 90% of the underlying repetitive work for
developers in advance, so that developers do not need to reinvent the
wheel, but can quickly promote business development on a mature
ecological base.
From
this perspective, choosing an industrial core board is essentially
choosing a technical partner that can help you improve efficiency and
support you, and a perfect software ecosystem is the most powerful
"assist" for this partner.