/Tag: microcontrollers

Memory Types Used in Embedded Systems

Hardware memory is used for storing information. In the case of embedded systems that may be the program data ,the program code itself, event logging etc. There are many types of technologies used when creating memory cells and many ways to categorize them, but we can distinguish two major categories based on the memory reaction [...]

By |2017-11-21T19:09:53+00:00November 15th, 2017|Categories: Explained Simply|Tags: , |1 Comment

Exception Types in Microcontrollers

Exceptions are events that disrupt the normal execution flow of the program. When an exception occurs the processor handles it by usually executing dedicated piece of code called exception handler. Each type of exception can have its own exception handler. In some literature sources exceptions and interrupts are analyzed as two different things. Expeptions being [...]

By |2017-09-24T07:59:16+00:00September 24th, 2017|Categories: Explained Simply|Tags: , |0 Comments

Software and Hardware Breakpoints

A breakpoint is an intentional stopping place during an execution of a program. It is a powerful debugging feature allowing us to suspend the execution of the program at a certain point and examine the current values of variables and memory locations. The program can then be resumed from the exact point it was suspended. Adding or removing breakpoints [...]

By |2017-07-03T19:09:22+00:00July 3rd, 2017|Categories: Explained Simply|Tags: , |0 Comments

Build Stages of Embedded C Programs

We can generally define three levels of abstraction from the underlying hardware when we develop embedded programs: Machine Code  Assembly Language  High Level Language Machine code is the native language of the microprocessors (but it is not used for directly writing programs). So no matter at what level of abstraction we decide to write our [...]

By |2017-06-18T22:48:56+00:00June 18th, 2017|Categories: Explained Simply|Tags: , |0 Comments

Memory Layout of Embedded C Programs

The memory layout of C programs consists of several segments. The segments accessible to a user program are shown in the figure below:   Fig. 1 C program memory layout Code Segment (.text)   This segment stores the executable program code (the machine instructions). Variables defined with the const type qualifier can also be placed [...]

By |2017-05-11T06:13:51+00:00May 2nd, 2017|Categories: Explained Simply|Tags: , |4 Comments

The Concept of Heap and Its Usage in Embedded Systems

Overview A typical memory representation of a C language program consists of following segments:  Code (Text) segment - contains the program code (machine instructions)  Data segment - contains the static data (global/static variables)  Stack segment (see our article on the topic The Concept of Stack and Its Usage in Microprocessors)  Heap segment Fig.1 Memory Segments [...]

By |2017-04-02T17:58:23+00:00April 2nd, 2017|Categories: Explained Simply|Tags: , |1 Comment

The Concept of Stack and Its Usage in Microprocessors

Overview In general we can describe the stack as a temporary storage for data.  The access to data in the stack is organized as Last In First Out (LIFO), which means that the last data stored in the stack is the first than can be retrieved and the first data stored in the stack is the last [...]

By |2017-03-18T19:39:06+00:00March 18th, 2017|Categories: Explained Simply|Tags: , |1 Comment

Fixed Point Numbers in Digital Systems

Overview Fixed point numbers are used for representing fractional numbers in digital systems. The term "Fixed-Point" refers to fact that the position of the binary point is always at the same place. The binary point separates the integer and the fractional part of a number (the same as the decimal point in the decimal system). An N-bit binary [...]

By |2017-02-09T07:14:52+00:00February 8th, 2017|Categories: Explained Simply|Tags: , |0 Comments