SlideShare a Scribd company logo
Embedded system and
Development
Rajani Bhandari
Senior Project Manager
HCL Technologies
2
Topics
Introduction to Embedded systems
How embedded is different from PC
Design constraints in embedded software
Examples of Embedded applications
Software development cycle in embedded
applications
Architecture of embedded applications.
Development Guidelines
3
Introduction to Embedded systems
4
Introduction of Embedded system
 An embedded system is a combination of computer hardware and
software accomplished with additional mechanical or other parts designed
to perform a
 Embedded software is used in real life like
cell phone, pager, digital camera, portable video games, Calculators,
oven, washing machine etc.
 : :Embedded systems often must cost just a few
dollars, must be sized to fit on a single chip, must perform fast enough to
process data in real-time, and must consume minimum power to extend
battery life. High user expectations in terms of performance
Specific Function
In every electronic device
Limited Resources
5
Connect via peripherals
 Embedded Systems talk with the outside world via peripherals,
such as:
 Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485
etc.
 Universal Serial Bus (USB)
 Multi Media Cards (SD Cards, Compact Flash etc.)
 Networks: Ethernet, Lon Works, etc.
 Analog to Digital/Digital to Analog (ADC/DAC)
Examples In Your Daily Life
 …wake up …
 …have breakfast …
 …set home safety system …
 …get into your car …
 …on your way to your office…
6
Examples In Your Daily Life
(cont’)
 …in Your office…
7
Examples In Your Daily Life
(cont’)
 …Back Home …
8
9
9
A “short list” of embedded systems
And the list goes on and on
Anti-lock brakes
Auto-focus cameras
Automatic teller machines
Automatic toll systems
Automatic transmission
Avionic systems
Battery chargers
Camcorders
Cell phones
Cell-phone base stations
Cordless phones
Cruise control
Curbside check-in systems
Digital cameras
Disk drives
Electronic card readers
Electronic instruments
Electronic toys/games
Factory control
Fax machines
Fingerprint identifiers
Home security systems
Life-support systems
Medical testing systems
Modems
MPEG decoders
Network cards
Network switches/routers
On-board navigation
Pagers
Photocopiers
Point-of-sale systems
Portable video games
Printers
Satellite phones
Scanners
Smart ovens/dishwashers
Speech recognizers
Stereo systems
Teleconferencing systems
Televisions
Temperature controllers
Theft tracking systems
TV set-top boxes
VCR’s, DVD players
Video game consoles
Video phones
Washers and dryers
10
Embedded Vs PC
11
Difference - Embedded and PC
 An embedded system have defined process and function whereas PC
is generic
 Computer system can be manufactured with general requirement and the
manufacturer does not know what the customer will do, while embedded
system is Application Specific .
 Numerous embedded system make up the computer
 Tightly constrained: Embedded system design is tightly constraint.
Important factors to be considered are as cost, size, performance, and
power.
 Reactive and real-time:
 Continually reacts to changes in the system’s environment.
 Must compute certain results in real-time without delay
Difference - Embedded and PC App- Coding
12
 Embedded
 Closer to the Hardware
 Use native data types
 Fewer System Resources
 No Operating System
 More efficient algorithms
 Higher frequency = higher
power
 PC Application
 Abstracted Hardware
 Plenty of Resources
 Has an Operating System
Embedded vs PC App - Testing
Embedded
 Debugging is very difficult
 Emulators or simulators are
required at the time of
development
 Usually a simple interface
 Often involves extra hardware
PC Application
 Usually simple to get a basic
debug output
 Can be very sophisticated
testing
14
Design challenges
Design Challenges
15
Cost Unit Cost- Cost of manufacturing each unit
NON recurring Engg Cost: Monetary cost of designing the system
The physical space required by the system and measured in bytes for
software and gates for hardware.
Execution cost
The amount of power consumed which determines life time of battery.
Maximum Source of power : Antennas – Bluetooth, Wi-Fi, RF .
Digital displays
Time-to market constraint. Hardware and software development goes in
parallel
Missing this window – significant loss
Size
Performance
Power
Time Line
Flexiblity Change functionality without heavy NRE cost. Code should be
maintainable
Design Metrics
16
SizePerformance
Power
NRE
cost
Improving one often leads to a degradation in another
Examples of embedded system
17
Car cruise
controllers reacts
to brake sensor
and speed
It Compute acceleration
and deceleration System
Failure
Delayed
computation
Mobile evolution – impact on design matrices
18
1980 analog cellular technology
Digital Mobile
Communication 1990
Wide Band Mobile
Communication 2000
Broadband Mobile
Communication 2010
Factors Affected
Cost
Design Complexity
Size
Performance
Power Consumption
Digital camera- An embedded system example
19
Microcontroller
CCD preprocessor Pixel coprocessor
A2D
D2A
JPEG codec
DMA controller
Memory controller ISA bus interface UART LCD ctrl
Display ctrl
Multiplier/Accum
Digital camera chip
lens
CCD
Time to Market- Design challenge
20
Revenues($)
Time (months)
Market window:
Period during which the product would have highest sales
Average time-to-market constraint is about 8 months. Delays can be costly.
Design Challenge
21
After decision of mass production of embedded system and a small
bug found at that time may be very expensive. Even a 1 day delay can
cost equivalent ……… Any Guesses??
22
Software Development Life cycle
Embedded system Life Cycle
23
Development of Hardware and software goes in parallel which is a major
challenge.
24
Architecture of embedded application
25
Architecture of embedded system
Application Software
Operating System
Hardware
Hardware architecture
26
27
Development Guidelines
Guidelines for embedded application
development
Power:
 Optimal Power usage
 Transferring data on Air
Reset Device
 Design for the restoration of configuration
28
Memory Guidelines
Data Type
Life time of variable
Memory allocation on heap or stack. Memory should be freed
if not required
Stateless components
Logging and Instrumentation
User Interface
Simple UI
Hour glass as visual indicator for blocking operation
Resolution and LCD size
Design for usability by supporting for touch, stylus driven, 5-
way
Do not update ui frequently
Key rules for best coding
29
Maintainability Reliability Efficiency
Maintenance problems
 Unstructured code
 Insufficient domain knowledge
 Insufficient documentation
30
Efficiency
 Optimal Utilization of Resources
 Design and architecture of software
 Memory management
31
32
Coding standards
Readability of code
 Size of Function
 Variable naming
 Code Commenting
 Long methods
 Private, public or local variable naming rule
 Formatting and indentation
Complexity of code
 Multiple return statement
 Nested loop or conditions
Uninitialized variables
Duplicate code prone to errors
Avoid Hard Coding
Use of enum to indicate discrete values
Multilingual support
Reusable code or shared libraries
Sample code
33
// This class provides the functionality
// of adding numbers
#include <iostream>
using namespace std;
class Adder{
public:
// constructor
Adder(int i = 0)
{
total = i;
}
// interface to outside world
// Adds a number and calculates
total
void addNum(int number)
{
total += number;
}
// interface to outside world
//get sum total result
int getTotal()
{
return total;
};
private:
// hidden data from outside world
int total;
};
int main( )
{
Adder a;
a.addNum(10);
a.addNum(20);
a.addNum(30);
cout << "Total " << a.getTotal()
<<endl;
return 0;
}
Which one is better
bool MyApplication::ReportGenerator::
GenerateReport()
{
bool returnValue = false;
if (isAdmin() &&
isConditionOne() &&
isConditionTwo() &&
isConditionThree())
{ returnValue = generateReport(); }
return returnValue;
}
34
bool
MyApplication::ReportGenerator::GenerateReport(
)
{ if ( ! isAdmin () ) return false ;
if ( ! isConditionOne () ) return false ;
if ( ! isConditionTwo () ) return false ;
if ( ! isConditionThree() ) return false ;
return generateReport() ;
}
Sample Code
35
function do_stuff() {
// …
if (is_writable($folder)) {
if ($fp =
fopen($file_path,'w')) {
if ($stuff =
get_some_stuff()) {
if
(fwrite($fp,$stuff)) {
// ...
} else {
return false;
}
} else {
return false;
}
} else {
return
false;
}
} else {
return false;
}
}
function do_stuff() {
// ...
if (!is_writable($folder)) {
return false;
}
if (!$fp = fopen($file_path,'w')) {
return false;
}
if (!$stuff = get_some_stuff()) {
return false;
}
if (fwrite($fp,$stuff)) {
// ...
} else {
return false;
}
}
36
Quality software On-time to bring customer
Delight



Good Coding and Design brings >>>
Questions ??
37
Thanks!!
38
Ad

More Related Content

What's hot (20)

Embedded system
Embedded systemEmbedded system
Embedded system
Vinod Srivastava
 
Embedded system
Embedded systemEmbedded system
Embedded system
Anmol Bagga
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
Gaurav Verma
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
Shivashankar Sawalgi
 
Embedded systems basics
Embedded systems basicsEmbedded systems basics
Embedded systems basics
Mathivanan Natarajan
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)
 
Embedded c
Embedded cEmbedded c
Embedded c
Ami Prakash
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Shrishail Bhat
 
System On Chip
System On ChipSystem On Chip
System On Chip
anishgoel
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
Dileep Kumar Tiwari
 
Ppt on embedded systems
Ppt on embedded systemsPpt on embedded systems
Ppt on embedded systems
Vaibhava Mishra
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
Rayees CK
 
Embedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - MtechEmbedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - Mtech
sangeetha rakhi
 
Embedded systems presentation
Embedded systems presentationEmbedded systems presentation
Embedded systems presentation
Surender Singh
 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmware
Joel P
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
Edgefxkits & Solutions
 
Future Trends of Embedded Systems - Technical Paper Presentation
Future Trends of Embedded Systems - Technical Paper PresentationFuture Trends of Embedded Systems - Technical Paper Presentation
Future Trends of Embedded Systems - Technical Paper Presentation
Kaushik Gupta
 
System on Chip (SoC)
System on Chip (SoC)System on Chip (SoC)
System on Chip (SoC)
Dimas Ruliandi
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture
amrutachintawar239
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems
Suhani Singh
 
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)Embedded Systems (18EC62) – Embedded System Components (Module 3)
Embedded Systems (18EC62) – Embedded System Components (Module 3)
Shrishail Bhat
 
System On Chip
System On ChipSystem On Chip
System On Chip
anishgoel
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
Dileep Kumar Tiwari
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
Rayees CK
 
Embedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - MtechEmbedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - Mtech
sangeetha rakhi
 
Embedded systems presentation
Embedded systems presentationEmbedded systems presentation
Embedded systems presentation
Surender Singh
 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmware
Joel P
 
Future Trends of Embedded Systems - Technical Paper Presentation
Future Trends of Embedded Systems - Technical Paper PresentationFuture Trends of Embedded Systems - Technical Paper Presentation
Future Trends of Embedded Systems - Technical Paper Presentation
Kaushik Gupta
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture
amrutachintawar239
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems
Suhani Singh
 

Viewers also liked (20)

Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
Dr M Muruganandam Masilamani
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
manish katara
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
Pradeep Kumar TS
 
Embedded system-Introduction to development cycle and development tool
Embedded system-Introduction to development cycle and development  toolEmbedded system-Introduction to development cycle and development  tool
Embedded system-Introduction to development cycle and development tool
Pantech ProLabs India Pvt Ltd
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
Sabeel Irshad
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
Игорь Медведев
 
Embedded systems and programming (including my work at Eyantra (IIT Bombay))
Embedded systems and programming (including my work at Eyantra (IIT Bombay))Embedded systems and programming (including my work at Eyantra (IIT Bombay))
Embedded systems and programming (including my work at Eyantra (IIT Bombay))
AkashDeep Singh
 
Use of mems based motion sensors in embedded
Use of mems  based motion sensors in embeddedUse of mems  based motion sensors in embedded
Use of mems based motion sensors in embedded
Pallav Jha
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
10aer007
 
User Input in a multi-touch, accelerometer, location aware world.
User Input in a multi-touch, accelerometer, location aware world.User Input in a multi-touch, accelerometer, location aware world.
User Input in a multi-touch, accelerometer, location aware world.
John Wilker
 
Basics Of Embedded Systems
Basics Of Embedded SystemsBasics Of Embedded Systems
Basics Of Embedded Systems
arlabstech
 
Product development life cycle by blaze automation
Product development life cycle  by blaze automationProduct development life cycle  by blaze automation
Product development life cycle by blaze automation
Blaze_Hyd
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1
AJAL A J
 
Embedded Design
Embedded Design Embedded Design
Embedded Design
AJAL A J
 
Handheld device motion tracking using MEMS gyros and accelerometer
Handheld device motion tracking using MEMS gyros and accelerometerHandheld device motion tracking using MEMS gyros and accelerometer
Handheld device motion tracking using MEMS gyros and accelerometer
anusheel nahar
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
Sabeel Irshad
 
Embedded system custom single purpose processors
Embedded system custom single  purpose processorsEmbedded system custom single  purpose processors
Embedded system custom single purpose processors
Aiswaryadevi Jaganmohan
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
Arshit Rai
 
System-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design ChallengesSystem-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design Challenges
pboulet
 
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLSINTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
JOLLUSUDARSHANREDDY
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
manish katara
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
Pradeep Kumar TS
 
Embedded system-Introduction to development cycle and development tool
Embedded system-Introduction to development cycle and development  toolEmbedded system-Introduction to development cycle and development  tool
Embedded system-Introduction to development cycle and development tool
Pantech ProLabs India Pvt Ltd
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
Sabeel Irshad
 
Embedded systems and programming (including my work at Eyantra (IIT Bombay))
Embedded systems and programming (including my work at Eyantra (IIT Bombay))Embedded systems and programming (including my work at Eyantra (IIT Bombay))
Embedded systems and programming (including my work at Eyantra (IIT Bombay))
AkashDeep Singh
 
Use of mems based motion sensors in embedded
Use of mems  based motion sensors in embeddedUse of mems  based motion sensors in embedded
Use of mems based motion sensors in embedded
Pallav Jha
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
10aer007
 
User Input in a multi-touch, accelerometer, location aware world.
User Input in a multi-touch, accelerometer, location aware world.User Input in a multi-touch, accelerometer, location aware world.
User Input in a multi-touch, accelerometer, location aware world.
John Wilker
 
Basics Of Embedded Systems
Basics Of Embedded SystemsBasics Of Embedded Systems
Basics Of Embedded Systems
arlabstech
 
Product development life cycle by blaze automation
Product development life cycle  by blaze automationProduct development life cycle  by blaze automation
Product development life cycle by blaze automation
Blaze_Hyd
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1
AJAL A J
 
Embedded Design
Embedded Design Embedded Design
Embedded Design
AJAL A J
 
Handheld device motion tracking using MEMS gyros and accelerometer
Handheld device motion tracking using MEMS gyros and accelerometerHandheld device motion tracking using MEMS gyros and accelerometer
Handheld device motion tracking using MEMS gyros and accelerometer
anusheel nahar
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
Sabeel Irshad
 
Embedded system custom single purpose processors
Embedded system custom single  purpose processorsEmbedded system custom single  purpose processors
Embedded system custom single purpose processors
Aiswaryadevi Jaganmohan
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
Arshit Rai
 
System-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design ChallengesSystem-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design Challenges
pboulet
 
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLSINTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
INTERRUPT ROUTINES IN RTOS EN VIRONMENT HANDELING OF INTERRUPT SOURCE CALLS
JOLLUSUDARSHANREDDY
 
Ad

Similar to Embedded system and development (20)

It 443 lecture 1
It 443 lecture 1It 443 lecture 1
It 443 lecture 1
elisha25
 
Language for Embedded System
Language for Embedded System Language for Embedded System
Language for Embedded System
vkrhanjeeth .
 
Language for embedded system
Language for embedded systemLanguage for embedded system
Language for embedded system
vkrhanjeeth .
 
Chapter - One.ppt
Chapter - One.pptChapter - One.ppt
Chapter - One.ppt
RemadanMohammed
 
137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)
Karteek Irukulla
 
Report
ReportReport
Report
Vrishab Ml
 
Vinod report es 1
Vinod report es   1Vinod report es   1
Vinod report es 1
Govt. Engg. Collage Ajmer
 
Vinod report es 1
Vinod report es   1Vinod report es   1
Vinod report es 1
Govt. Engg. Collage Ajmer
 
Resume_Pratik
Resume_PratikResume_Pratik
Resume_Pratik
Pratik Panchal
 
Track 4 session 6 - st dev con 2016 - samsung artik
Track 4   session 6 - st dev con 2016 - samsung artikTrack 4   session 6 - st dev con 2016 - samsung artik
Track 4 session 6 - st dev con 2016 - samsung artik
ST_World
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Sudhanshu Janwadkar
 
Chapter_01.pptx
Chapter_01.pptxChapter_01.pptx
Chapter_01.pptx
aliceasiedu980
 
Embedded systems- nanocdac
Embedded systems- nanocdacEmbedded systems- nanocdac
Embedded systems- nanocdac
nanocdac
 
Report file on Embedded systems
Report file on Embedded systemsReport file on Embedded systems
Report file on Embedded systems
Sukhendra Chaudhary
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
Vikas Dongre
 
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
enriquealbabaena6868
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
anshul parmar
 
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes TschofenigCIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CloudIDSummit
 
Малоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей МартыненкоМалоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей Мартыненко
HackIT Ukraine
 
Electronic Nameplate System
Electronic Nameplate SystemElectronic Nameplate System
Electronic Nameplate System
IRJET Journal
 
It 443 lecture 1
It 443 lecture 1It 443 lecture 1
It 443 lecture 1
elisha25
 
Language for Embedded System
Language for Embedded System Language for Embedded System
Language for Embedded System
vkrhanjeeth .
 
Language for embedded system
Language for embedded systemLanguage for embedded system
Language for embedded system
vkrhanjeeth .
 
137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)137.gsm, fprs ,keypad_based_atm_security_(doc)
137.gsm, fprs ,keypad_based_atm_security_(doc)
Karteek Irukulla
 
Track 4 session 6 - st dev con 2016 - samsung artik
Track 4   session 6 - st dev con 2016 - samsung artikTrack 4   session 6 - st dev con 2016 - samsung artik
Track 4 session 6 - st dev con 2016 - samsung artik
ST_World
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
Sudhanshu Janwadkar
 
Embedded systems- nanocdac
Embedded systems- nanocdacEmbedded systems- nanocdac
Embedded systems- nanocdac
nanocdac
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
Vikas Dongre
 
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
enriquealbabaena6868
 
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes TschofenigCIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CloudIDSummit
 
Малоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей МартыненкоМалоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей Мартыненко
HackIT Ukraine
 
Electronic Nameplate System
Electronic Nameplate SystemElectronic Nameplate System
Electronic Nameplate System
IRJET Journal
 
Ad

Recently uploaded (20)

UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptxUiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
anabulhac
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
accessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electricaccessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electric
UXPA Boston
 
DNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in NepalDNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in Nepal
ICT Frame Magazine Pvt. Ltd.
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural NetworksDistributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Ivan Ruchkin
 
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptxIn-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
aptyai
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Sustainable_Development_Goals_INDIANWraa
Sustainable_Development_Goals_INDIANWraaSustainable_Development_Goals_INDIANWraa
Sustainable_Development_Goals_INDIANWraa
03ANMOLCHAURASIYA
 
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptxUiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
anabulhac
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
accessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electricaccessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electric
UXPA Boston
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural NetworksDistributionally Robust Statistical Verification with Imprecise Neural Networks
Distributionally Robust Statistical Verification with Imprecise Neural Networks
Ivan Ruchkin
 
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptxIn-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
aptyai
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Sustainable_Development_Goals_INDIANWraa
Sustainable_Development_Goals_INDIANWraaSustainable_Development_Goals_INDIANWraa
Sustainable_Development_Goals_INDIANWraa
03ANMOLCHAURASIYA
 

Embedded system and development

  • 1. Embedded system and Development Rajani Bhandari Senior Project Manager HCL Technologies
  • 2. 2 Topics Introduction to Embedded systems How embedded is different from PC Design constraints in embedded software Examples of Embedded applications Software development cycle in embedded applications Architecture of embedded applications. Development Guidelines
  • 4. 4 Introduction of Embedded system  An embedded system is a combination of computer hardware and software accomplished with additional mechanical or other parts designed to perform a  Embedded software is used in real life like cell phone, pager, digital camera, portable video games, Calculators, oven, washing machine etc.  : :Embedded systems often must cost just a few dollars, must be sized to fit on a single chip, must perform fast enough to process data in real-time, and must consume minimum power to extend battery life. High user expectations in terms of performance Specific Function In every electronic device Limited Resources
  • 5. 5 Connect via peripherals  Embedded Systems talk with the outside world via peripherals, such as:  Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485 etc.  Universal Serial Bus (USB)  Multi Media Cards (SD Cards, Compact Flash etc.)  Networks: Ethernet, Lon Works, etc.  Analog to Digital/Digital to Analog (ADC/DAC)
  • 6. Examples In Your Daily Life  …wake up …  …have breakfast …  …set home safety system …  …get into your car …  …on your way to your office… 6
  • 7. Examples In Your Daily Life (cont’)  …in Your office… 7
  • 8. Examples In Your Daily Life (cont’)  …Back Home … 8
  • 9. 9 9 A “short list” of embedded systems And the list goes on and on Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR’s, DVD players Video game consoles Video phones Washers and dryers
  • 11. 11 Difference - Embedded and PC  An embedded system have defined process and function whereas PC is generic  Computer system can be manufactured with general requirement and the manufacturer does not know what the customer will do, while embedded system is Application Specific .  Numerous embedded system make up the computer  Tightly constrained: Embedded system design is tightly constraint. Important factors to be considered are as cost, size, performance, and power.  Reactive and real-time:  Continually reacts to changes in the system’s environment.  Must compute certain results in real-time without delay
  • 12. Difference - Embedded and PC App- Coding 12  Embedded  Closer to the Hardware  Use native data types  Fewer System Resources  No Operating System  More efficient algorithms  Higher frequency = higher power  PC Application  Abstracted Hardware  Plenty of Resources  Has an Operating System
  • 13. Embedded vs PC App - Testing Embedded  Debugging is very difficult  Emulators or simulators are required at the time of development  Usually a simple interface  Often involves extra hardware PC Application  Usually simple to get a basic debug output  Can be very sophisticated testing
  • 15. Design Challenges 15 Cost Unit Cost- Cost of manufacturing each unit NON recurring Engg Cost: Monetary cost of designing the system The physical space required by the system and measured in bytes for software and gates for hardware. Execution cost The amount of power consumed which determines life time of battery. Maximum Source of power : Antennas – Bluetooth, Wi-Fi, RF . Digital displays Time-to market constraint. Hardware and software development goes in parallel Missing this window – significant loss Size Performance Power Time Line Flexiblity Change functionality without heavy NRE cost. Code should be maintainable
  • 16. Design Metrics 16 SizePerformance Power NRE cost Improving one often leads to a degradation in another
  • 17. Examples of embedded system 17 Car cruise controllers reacts to brake sensor and speed It Compute acceleration and deceleration System Failure Delayed computation
  • 18. Mobile evolution – impact on design matrices 18 1980 analog cellular technology Digital Mobile Communication 1990 Wide Band Mobile Communication 2000 Broadband Mobile Communication 2010 Factors Affected Cost Design Complexity Size Performance Power Consumption
  • 19. Digital camera- An embedded system example 19 Microcontroller CCD preprocessor Pixel coprocessor A2D D2A JPEG codec DMA controller Memory controller ISA bus interface UART LCD ctrl Display ctrl Multiplier/Accum Digital camera chip lens CCD
  • 20. Time to Market- Design challenge 20 Revenues($) Time (months) Market window: Period during which the product would have highest sales Average time-to-market constraint is about 8 months. Delays can be costly.
  • 21. Design Challenge 21 After decision of mass production of embedded system and a small bug found at that time may be very expensive. Even a 1 day delay can cost equivalent ……… Any Guesses??
  • 23. Embedded system Life Cycle 23 Development of Hardware and software goes in parallel which is a major challenge.
  • 25. 25 Architecture of embedded system Application Software Operating System Hardware
  • 28. Guidelines for embedded application development Power:  Optimal Power usage  Transferring data on Air Reset Device  Design for the restoration of configuration 28 Memory Guidelines Data Type Life time of variable Memory allocation on heap or stack. Memory should be freed if not required Stateless components Logging and Instrumentation User Interface Simple UI Hour glass as visual indicator for blocking operation Resolution and LCD size Design for usability by supporting for touch, stylus driven, 5- way Do not update ui frequently
  • 29. Key rules for best coding 29 Maintainability Reliability Efficiency
  • 30. Maintenance problems  Unstructured code  Insufficient domain knowledge  Insufficient documentation 30
  • 31. Efficiency  Optimal Utilization of Resources  Design and architecture of software  Memory management 31
  • 32. 32 Coding standards Readability of code  Size of Function  Variable naming  Code Commenting  Long methods  Private, public or local variable naming rule  Formatting and indentation Complexity of code  Multiple return statement  Nested loop or conditions Uninitialized variables Duplicate code prone to errors Avoid Hard Coding Use of enum to indicate discrete values Multilingual support Reusable code or shared libraries
  • 33. Sample code 33 // This class provides the functionality // of adding numbers #include <iostream> using namespace std; class Adder{ public: // constructor Adder(int i = 0) { total = i; } // interface to outside world // Adds a number and calculates total void addNum(int number) { total += number; } // interface to outside world //get sum total result int getTotal() { return total; }; private: // hidden data from outside world int total; }; int main( ) { Adder a; a.addNum(10); a.addNum(20); a.addNum(30); cout << "Total " << a.getTotal() <<endl; return 0; }
  • 34. Which one is better bool MyApplication::ReportGenerator:: GenerateReport() { bool returnValue = false; if (isAdmin() && isConditionOne() && isConditionTwo() && isConditionThree()) { returnValue = generateReport(); } return returnValue; } 34 bool MyApplication::ReportGenerator::GenerateReport( ) { if ( ! isAdmin () ) return false ; if ( ! isConditionOne () ) return false ; if ( ! isConditionTwo () ) return false ; if ( ! isConditionThree() ) return false ; return generateReport() ; }
  • 35. Sample Code 35 function do_stuff() { // … if (is_writable($folder)) { if ($fp = fopen($file_path,'w')) { if ($stuff = get_some_stuff()) { if (fwrite($fp,$stuff)) { // ... } else { return false; } } else { return false; } } else { return false; } } else { return false; } } function do_stuff() { // ... if (!is_writable($folder)) { return false; } if (!$fp = fopen($file_path,'w')) { return false; } if (!$stuff = get_some_stuff()) { return false; } if (fwrite($fp,$stuff)) { // ... } else { return false; } }
  • 36. 36 Quality software On-time to bring customer Delight    Good Coding and Design brings >>>

Editor's Notes

  • #7: Cruise controler stereo et
  • #16: The time-to market constraint has become especially demanding. Introducing an embedded system to the marketplace early can make a big difference in the system’s profitability, since market time-windows for products are becoming quite short, often measured in months. Hardware and software development goes in parallelMissing this window (meaning the product begins being sold further to the right on the time scale) can mean significantloss in sales.
  • #17: The design measures typically compete with one another: improving one often leads to a degradation in another. For example, if we reduce an implementation’s size, its performance may suffer. Designer should comfortable with a variety of hardware and software implementation technologies, and must be able to migrate from one technology to another, in order to find the best implementation for a given application and constraints. Also he must be software and hardware expert .
  • #18: A car&apos;s cruise controller continually monitors and reacts to speed and brake sensors. It must compute acceleration or decelerations amounts repeatedly within a limited time; a delayed computation result could result in a failure to maintain control of the car. In contrast, a desktop system typically focuses on computations, with relatively infrequent (from the computer’s perspective) reactions to input devices. In addition, a delay in those computations, while perhaps inconvenient to the computer user, typically does not result in a system failure.
  • #20: Single-functioned -- always a digital cameraTightly-constrained -- Low cost, low power, small, fastReactive and real-time -- only to a small extentCCD:complete mixed-signal processing IC for digital cameras,A2D- analog to digital conversionCCD imager output signal in a video camera, a digital still camera, security camera, or similar applicationsPixel Processor: The pixel processor receives raw data from the pixel chips and formats it for useCodec: A codec is a device or computer program capable of encoding or decoding a digital data stream or signal.A microcontroller (sometimes abbreviated µC, uC or MCU) is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripheralsAn accumulator is a register for short-term, intermediate storage of arithmetic and ... and manipulation of imagery, GPS, satellite photography and historical data, ...
  • #24: Product specifications are driven by market mainly and also change very frequently like camera or mobile. Development of Hardware and software goes in parallel which is a major challenge.
  • #29: Stateless components are preferred when scalability or performance are important. Design the components to accept all the needed values as input parameters instead of relying upon object properties when calling methods. Doing so eliminates the need to preserve object state between method calls. When it is necessary to maintain state, consider using alternative methods, such as maintaining state in a database.limited memory available on small device- logging and instrumentation should be limited Take into account the various screen sizes and resolutions of your target devices when designing your application UIDesign devices so that parts can be powered off when not in use.Transferring data on Airuse batch burst and shut down communication when not needed
  • #30: Reliability measures the level of risk and the likelihood of potential application failures. It also measures the defects injected due to modifications made to the softwareMaintainability- how muchadaptle to change and readable and easy to understandEffecience is linked with performance
  翻译: