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
- Chiplet Die-to-Die Interconnect IP Solution
- High speed MACsec Engine 100G/200G/400G/800G/1.6T
- Temperature/Voltage sensors
- AMBA Bus Host to eSPI Controller/Target
- AMBA Bus Host to eSPI Controller
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
- ZK-Flex: A Flexible and Scalable Framework for Accelerating Zero-Knowledge Proofs
- ITP-STDP: An Intrinsic-Timing Power-of-Two Learning Engine for On-Chip SNN Training
- OpenEye: A Scalable Open-Source Hardware Accelerator for DNNs
- CHIMERA: A Flexible and Scalable 3.1 TOPS/W AI-MCU with Transformer Accelerator and 563 Gb/s Shared-L2 Memory Subsystem with QoS Guarantees
- CXL-ClusterSim: Modeling CXL-based Disaggregated Memory Cluster for Pooling and Sharing using gem5 and SST