An architecture for designing reusable embedded systems software, Part 2
By Dinu Madau, Visteon
Embedded.com (05/05/08, 12:30:00 AM EDT)
Want to make your application software more reusable? Don't change the hardware, operating system, or your tools. Instead change the architectural framework within which you do your design. Part 2 in the three-part series shows building blocks for the portable code software structure.
As discussed in Part 1 in this series, the linchpin in making this reusable embedded systems software architecture work is the software interface layer, which consists of three components:
1) Microcontroller specification (ECU_HSIS.H).
2) I/O signals interface specification (I/O Signal #1, #2, #n).
3) I/O interface macros (Interface.h, Interface.c).
ECU_HSIS.H:
Hardware/software-interface specification
The ECU_HSIS.H file would contain references to three external files that are used to further define the microcontroller architecture, as shown in Figure 1. The base ECU_HSIS would define the I/O parameters from the microcontroller pins out a wiring harness used to interface to the sensors and drivers. Each one of the subheader files is specific to the internal workings of the CPU and will be discussed in detail later in this series.
Embedded.com (05/05/08, 12:30:00 AM EDT)
Want to make your application software more reusable? Don't change the hardware, operating system, or your tools. Instead change the architectural framework within which you do your design. Part 2 in the three-part series shows building blocks for the portable code software structure.
As discussed in Part 1 in this series, the linchpin in making this reusable embedded systems software architecture work is the software interface layer, which consists of three components:
1) Microcontroller specification (ECU_HSIS.H).
2) I/O signals interface specification (I/O Signal #1, #2, #n).
3) I/O interface macros (Interface.h, Interface.c).
ECU_HSIS.H:
Hardware/software-interface specification
The ECU_HSIS.H file would contain references to three external files that are used to further define the microcontroller architecture, as shown in Figure 1. The base ECU_HSIS would define the I/O parameters from the microcontroller pins out a wiring harness used to interface to the sensors and drivers. Each one of the subheader files is specific to the internal workings of the CPU and will be discussed in detail later in this series.
To read the full article, click here
Related Semiconductor IP
- Multi-channel Ultra Ethernet TSS Transform Engine
- Configurable CPU tailored precisely to your needs
- Ultra high-performance low-power ADC
- HiFi iQ DSP
- CXL 4 Verification IP
Related Articles
- Designing low-energy embedded systems from silicon to software
- Self-testing in embedded systems: Software failure
- Android, Linux and Real-Time Development for Embedded Systems
- NAND Flash memory in embedded systems
Latest Articles
- GenAI for Systems: Recurring Challenges and Design Principles from Software to Silicon
- Creating a Frequency Plan for a System using a PLL
- RISCover: Automatic Discovery of User-exploitable Architectural Security Vulnerabilities in Closed-Source RISC-V CPUs
- MING: An Automated CNN-to-Edge MLIR HLS framework
- Fault Tolerant Design of IGZO-based Binary Search ADCs