Tuesday, 21 April 2020

Endianness (Little Endian and Big Endian) and Memory Structure


In this article we shall understand the memory basics and endianness of an embedded system. When people say little endian or big endian then what it means and how to find the endianness of a system.
          Endianness tell about how an number is stored in the memory. The byte order of storage of a number in the memory which means whether the lower byte is stored in higher addressed memory or lower addressed memory. So in a way since it talks about which end of the number goes to which end of the memory, this feature is termed as endianness.
          Before understanding the endianness we need to understand some pre-requisite terms which are explained below:

Sunday, 19 April 2020

What are Embedded Systems


Whenever you hear about embedded systems, what comes to your mind? I guess a lot of electronic chips, wires, PCBs etc. So how did these embedded systems came into existence and how did it evolve and how it become such a integral part of our lives? In todays world, we are surrounded by embedded systems. Mobile phones, laptops, television, radio, refrigerators, ovens and even home automation equipment – All are embedded systems.
     If you think about it, these are in fact control systems. Control system means a system intelligent enough to control some variable parameters depending on inputs. So there are inputs and outputs. Depending on inputs, the control systems control the output. To achieve this, a system which has its own intelligence capable of analysing the input and producing the output is needed. So these system are nothing but embedded systems. So Embedded systems are brain of a control system.
     So lets define embedded system now. The systems embedded in control system which implements the logic are called embedded systems.

Saturday, 11 April 2020

AUTOSAR - Advantages and Disadvantages

Prerequisites: ECU  AUTOSAR Overview


This article explains you the advantages and disadvantages of AUTOSAR

Any company would only switch or make changes in its process only if it gets benefit in time (which will result in  time to market or delivery and market control ), quality (Which will increase goodwill of the company) or money (increases money spent which in turn increases profit). So below the pros and cons of AUTOSAR are given which will finally boil down to impact n above mentioned 3 factors. These points will make you understand why AUTOSAR has become viral now in automotive industry.

Electronic Control Unit (ECU)

Pre-arequisites: None

Background:

In automobile industry, there was a time where automobiles like cars consisted of only mechanical systems. From engine to chassis, break, transmission system, fuel system, whatever you name it, it was completely mechanical.. Even the complete car set up and machine was simple and there was no much advanced  features in them. But the mechanical systems had inherent limitations and limited accuracy, which not only caused undetected failures, but also pose life threats to the consumers. So the Electronic chips were introduced in automotive systems. These electronic controllers were necessary mainly due to 4 reasons given below:

ECU Quiz

ECU Quiz

ECU Quiz

Quiz

 

Autosar Basics (unfinished)

This is the first article in "AUTOSAR - Technical Overview" series. The base for this series is the technical overview document published by autosar.org. But in these articles I attempt to make the concepts clear and explain them in a simple terms and easy to understand way.


Prerequisites : ECU AUTOSAR Overview, AUTOSAR advantages


        AUTOSAR is a standard software architecture specifically for automotive ECUs followed by manufacturers and suppliers in automotive industries.

So any company which develops AUTOSAR compliant software must adhere to this architecture as standard. In fact AUTOSAR standardizes these following 3 things:
1) Software Architecture
2) Methodology
3) Interfaces
They are explained as below:

Friday, 10 April 2020

Compilation Stages

Introduction:

The embedded engineers all program the embedded systems using a high level language like C, C++ or python etc. All the functionality that the embedded system need to perform are written in these high level languages which are human readable. But these language is not machine readable. Machines can only understand binary, i.e 1s and 0s. So we need a system which translate high level language to machine readable low level language. For example the embedded C code has to be converted to hex files or executable files (*.exe). This procedure is called as compilation.

This compilation doesn't happen in a single step but in multiple stages. So all these stages together are called compilation stages.

Definition of Compilation Stages: Various Stages involved in converting Human readable high level language (like C, C++, Java, Python etc) into machine readable low level language (Binaries like hex, s37, exe etc) which can be processed in underlying micro-controller are called as compilation stages.