
"NEW" - From Hardware to Applications
Introduction
Embedded systems are the backbone of countless modern applications, ranging from consumer devices to industrial automation. Unlike general-purpose computers, embedded platforms are specifically designed for targeted tasks, prioritizing performance, energy efficiency, and reliability. Their architecture is typically organized into layers, ranging from hardware to applications, with each layer handling a distinct set of responsibilities.
Hardware Layer
The hardware layer is the physical foundation of an embedded system. The SoC integrates the central processing unit along with controllers for communication, multimedia, and other functions. It is the core computing engine that drives the system. Surrounding the SoC are different types of memory, which include high-speed volatile memory (such as DRAM or LPDDR) for execution, and non-volatile memory (such as Flash, eMMC, or NVMe) for persistent storage of firmware, operating systems, and applications. Finally, the peripherals provide interfaces to the outside world; these can include GPIO, I²C, SPI, UART, USB, PCIe devices, sensors, actuators, or display controllers. Together, these components define the system’s performance, expandability, and connectivity.
In the case of the KIWI330, the hardware layer is built around the Intel® Alder Lake-N or Intel® Amston Lake Soc, combined with LPDDR5 system memory, NVMe storage, and modular expansion through MIO boards such as the MIO331, MIO334, and MIO335 for LAN, USB, GPIO, PWM, I²C, and SPI. This modular hardware approach offers scalability and flexibility while maintaining a compact and robust design for industrial and embedded use cases.
Device Drivers Layer
The device drivers layer provides the essential bridge between the hardware components and the higher levels of the software stack. Drivers translate low-level hardware operations into standardized interfaces that the operating system and middleware can utilize. Without device drivers, the system’s SoC, memory, and peripherals would remain inaccessible to the software running above them.
In a typical embedded architecture, device drivers control access to buses, communication interfaces, and I/O pins, exposing them to the operating system in a structured way. They manage tasks such as initializing hardware, handling interrupts, and ensuring reliable data transfer between hardware and software.
Operating System Layer
The operating system provides the fundamental services that allow applications to run reliably on embedded hardware. It manages resources such as memory, CPU scheduling, and peripheral access, while also coordinating communication between applications and device drivers.
In embedded systems, the choice of operating system depends on application requirements. Real-time operating systems (RTOS) are used in scenarios that demand deterministic response times, such as safety-critical control systems. For more complex solutions requiring networking, multimedia, or advanced graphics, Windows and Linux are the standard choices.
Middleware Layer
Middleware sits above the operating system and provides higher-level APIs that simplify development and reduce complexity. It standardizes access to peripherals and services, enabling portability and faster application design. On the combination of KIWI330 and MIO333, middleware plays a critical role because it abstracts the communication between the Intel Alder Lake-N SoC and the MCU inside the MIO333 expansion module.
Instead of forcing developers to handle low-level communication protocols through COM ports, middleware offers simple function calls to control GPIO, I²C, PWM, and other peripherals. This abstraction significantly accelerates development and enhances software maintainability.
For more information about the MIO333 middleware and its role in the KIWI330 ecosystem, please refer to the following article.
Application Layer
At the top of the embedded systems architecture lies the application layer, which defines the functional purpose of the entire platform. Applications implement the actual use cases, ranging from industrial automation and machine vision to IoT gateways and intelligent control systems.
On the KIWI330, applications typically leverage libraries and middleware to access hardware resources through simple, high-level APIs. By relying on these abstractions, developers can focus on business logic, user experience, and system integration rather than the complexities of hardware communication.
This approach ensures that KIWI330-based applications are not only robust and efficient but also portable, scalable, and easier to maintain, qualities that are essential for industrial and embedded vision deployments.
About KIWI Board
KIWI board is a complete solutions provider, supporting every aspect of your project, from hardware to software and system integration, to get your application functioning securely, reliably, and at peak performance. KIWI board builds its products for high reliability, high performance, security, scalability, and versatility so customers can expect extended service life, quickly adapt to evolving system requirements, and adopt future technologies as they emerge.
Next steps
Ready to talk about your projects with a KIWI board expert? Contact us
Want to hear more from KIWI board? for our newsletter Sign up
Or request a quotation