Skip to main content

Embedded System Layered Architecture

Layered architecture firstly introduced to make the application independent of hardware , which mean that same code for a certain application can run on multiple targets "AVR, PIC, ARM etc....".

In Layered architecture we have 3 main layers:

  1. MCAL: Microcontroller Abstraction Layer.
    here we have the firmware for all microcontroller peripherals like DIO, ADC, Timer, Interrupt etc..
  2. HAL: Hardware Abstraction Layer.
    here we have the device driver for all hardware not inside the microcontroller itself like Keypad, LCD etc..
  3. Application.
    here we write the code related to our application.


    Each layer can only communicate with the layer below, so if we change the target we only need to change the MCAL layer.

Comments

Popular posts from this blog

What is Embedded System ?

Firstly, to understand the meaning of Embedded systems ,  we need to define Computing systems .  Computing system must have an input that pass through an algorithm to give a certain output. Any Computing system consist of 3 main components processor, memory and input/output. Block diagram of basic computing system Now, we can say that  Embedded system is a computing system with limited resources to do a specific purpose.