Embedded 0236
Embedded 0236
Embedded 0236
INTRODUCTION
EMBEDDED DEVELOPER
EMBEDDED SYSTEM
As its name suggests, Embedded means something that is attached to another thing. An embedded
system can be thought of as a computer hardware system having software embedded in it. An
embedded system can be an independent system or it can be a part of a large system. An embedded
system is a microcontroller or microprocessor-based system which is designed to perform a specific
task. For example, a fire alarm is an embedded system, it will sense only smoke.
● It has hardware.
● It has application software.
● It has Real Time Operating system (RTOS)
Single-functioned − An embedded system usually performs a specialized operation and does the same
repeatedly. For example: A pager always functions as a pager.
Tightly constrained − All computing systems have constraints on design metrics, but those on an
embedded system can be especially tight. Design metrics is a measure of an implementation's features
such as its cost, size, power, and performance [1]. It must be of a size to fit on a single chip, must
perform fast enough to process data in real time and consume minimum power to extend battery life.
Reactive and Real time − Many embedded systems must continually react to changes in the system's
environment and must compute certain results in real time without any delay. Consider an example of
a car cruise controller; it continually monitors and reacts to speed and brake sensors [2]. It must
compute acceleration or de-accelerations repeatedly within a limited time; a delayed computation can
result in failure to control of the car.
Memory − It must have a memory, as its software usually embeds in ROM. It does not need any
secondary memories in the computer.
Connected − It must have connected peripherals to connect input and output devices.
Each Embedded Systems is designed to serve the purpose of any one or a combination of the following
tasks.
▪ Data Collection/Storage/Representation
▪ Data Communication
▪ Data (Signal) Processing
▪ Monitoring
▪ Control
▪ Application Specific User Interface
Microchip Technology Inc. is a well-known American multinational corporation that specializes in the
design and production of microcontrollers, microprocessors, and other semiconductor products. Here's
an overview of the organization. Microchip Technology Inc. was founded in 1987, and it has its
headquarters in Chandler, Arizona, USA. Over the years, it has grown to become one of the leading
companies in the microcontroller industry [3].The All-India Council of Technical
Education(AICTE)and Edu Skills have launched the virtual internship program on Embedded System
supported by Microchip.
CODE DEVELOPMENT:
The P-Star can be programmed using standard development tools from Microchip. This section
explains how to get started programming the P-Star in the C language using MPLAB X and XC8.
MPLAB X a free integrated development (IDE) from Microchip for programming their PIC
microcontrollers. XC8 is a C compiler from Microchip for 8-bit PICs. Both programs run on
Windows, Max OS X, and Linux.
Download and install the latest versions of MPLAB X and XC8 .Find “MPLAB X IDE” in your Start
Menu and run it.From the File menu, select “New Project”.On the first screen theNew Project wizard,
select the “Microchip Embedded” category and then select “Standalone Project”. Click “Next”.
DEBUGGING:
Target Debugging In an integrated development environment (IDE), the execution of the code is
tested on a debugger. The debugger can be a software program that simulates the operation of the
microcontroller for testing, or it can be a hardware instrument to analyse the program as it executes
in the application.
INTRODUCTION:
C Basic Syntax: The basic syntax of the C program consists of the header, main () function, variable
declaration, body, and return type of the program. The header is the first line in the C program with
extension. h which contains macro definitions and C functions
VARIABLES:
A variable is nothing but a name given to a storage area that our programs can manipulate. Each
variable in C has a specific type, which determines the size and layout of the variable's
memory; the range of values that can be stored within that memory; and the set of operations that can
be applied to the variable.
LITERALS AND CONSTANTS:
Literals are the Constant values that are assigned to the constant variables. Literals represent fixed
values that cannot be modified. Literals contain memory but they do not have references as variables.
Generally, both terms, constants, and literals are used interchangeably.
SYMBOLIC CONSTANTS:
Symbolic constants are what most people think of when someone refers to "constants" in any
programming language. Symbolic constants are nothing more than a label or name that is used to
represent a fixed value that never changes throughout a program. For example, one might define PI as
a constant to represent the value 3.14159.
DECISIONS:
A normal program is not a sequential execution of expressions or statements one after the other. It
will have certain conditions to be checked or it will have certain number of iterations. When we check
for certain conditions to execute further then it called as decision statements. If the condition in
decision statements are true then one set of instructions are executed, if false then another set of
instructions are executed. This kind of decision is done using conditional operator. That will be mainly
used to return single line of action / result. When we have to perform series of operation, we use
IF conditions
FUNCTIONS:
Functions in C are the basic building blocks of a C program. A function is a set of statements enclosed
within curly brackets ({}) that take inputs, do the computation, and provide the resultant output. You
can call a function multiple times, thereby allowing reusability and modularity in C programming.
DATA STRUCTURES
A structure creates a data type that can be used to group items of possibly different types into a
single type. We can group this into a structure. First, we have to declare the structure. We declare a
structure that contains a street name, a house number, a 5-digit postcode, and a city.
A callback is any executable code that is passed as an argument to another code, which is expected to
call back (execute) the argument at a given time. In simple language, If a reference of a function is
passed to another function as an argument to call it, then it will be called a Callback function.
FLEXIBLE CALLBACKS SETUPS:
Callbacks allow you to create more flexible and modular functions and enable you to separate hardware
and software operations. They also allow for multiple programmers to work on a project and provide
code to be combined with the main application program
The BLE Component consists of the BLE Stack, BLE Profile, BLE Component Hardware Abstraction
Layer (HAL), and the Link Layer.
A Digital Signal Controller (DSC) is a single-chip, embedded controller that seamlessly integrates the
control attributes of a Microcontroller (MCU) with the computation and throughput capabilities of a
Digital Signal Processor (DSP) in a single core. Microchip’s dsPIC® DSC offers everything you would
expect from a powerful 16-bit MCU: fast, sophisticated and flexible interrupt handling; a wide array
of digital and analog peripheral functions; power management; flexible clocking options; power-on-
reset; brown-out protection; watchdog timer; code security; full-speed real-time emulation; and full-
speed in-circuit debug solutions. By skill fully adding DSP capability to a high-performance 16-
bit MCU, Microchip’s dsPIC30F and dsPIC33F families of DSCs achieve the best of both worlds and
mark the beginning of a new era in embedded control.
X2C SCOPE:
X2C-Scope is a virtual oscilloscope tool developed by Linz Centre Mechatronics which allows run-
time debugging or monitoring of your embedded application in MPLAB X IDE. This tool allows you
to “Watch” or “Plot” any global variable in
HARDWARE CONFIGURATION FOR THE LABs:
Hardware Development Tools
MPLAB ICD 2
In-Circuit Debugger
MPLAB PM3
Device Programmer
Programming™ (ICSP™).
• Unlimited breakpoints
• USB connection to PC
• Stopwatch
FORCED COMMUTATION:
Most historical communication systems can be considered to be "embedded" at least from one
perspective: they have a very narrowly defined task. They are not designed for general purpose
communication. For instance telephones were conceived for only for the purpose of voice
transmission.
COMMUNICATION BETWEEN THE CORES:
The communication between cores on the same CPU is known as inter-core communication. This
capability allows for efficient parallel processing and can improve overall performance. To send
instructions between cores, a CPU often uses a shared cache or memory.
EMBEDDED SYSTEMS is one of the most important aspects of the fast-paced growing digital world
and this internship helped us to understand these emerging technologies.
These fundamental courses cover all the basic information and create awareness in the students
regarding the security issues. The different types of MICROSHIP CONTROLLERS, these were
broadly discussed and the necessary steps are explained in a simple and understandable way
New emerging technologies and operations were discussed briefly with pictorial representations which
helped the students to understand and analyse them. The purpose of the internship is to help students
pursue a career in EMBEDDED SYSTEMS, as there are not enough professionals in the field at
present.