Concept explanation on Hardware Abstraction Layer in embedded system development.
Slides start with explanation of modular programming as introduction to show the importance of HAL.
2. Embedded Systems Malaysia
www.tinyurl.com/EmbeddedMY
Modular Design Concept
● Design approach: subdivides system into smaller parts(modules)
● Example : PC
○ power supply units, processors, mainboards,
○ graphics cards, hard drives, optical drives
● Why modular design:
○ Created independently
○ Easily replaceable
○ Used in different system
○ Standard interface to glue between modules
3. Embedded Systems Malaysia
www.tinyurl.com/EmbeddedMY
Modular Programming
● Program = module 1 + module 2 + ....
● Example: Fridge
○ Input
○ Compressor Control
○ Temperature Sensor
○ Control Logic
● Advantages
○ Ease code maintenance/changes
○ Ease of test & validation
○ Ease of replaceable
○ Portability
● Spaghetti Code
Spaghetti Code
7. Embedded Systems Malaysia
www.tinyurl.com/EmbeddedMY
Embedded Development Project: Project Scope
1. Create a standard HAL API for application usage
2. HAL implementation on chosen target board
3. Actual testing of HAL implementation
a. Build some useful project
4. List of peripherals that will be implement