SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systemsmahalakshmimalini
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesigndestruck
 
Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systemsRAMPRAKASHT1
 
Embedded Systems - Training ppt
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training pptNishant Kayal
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systemsApurva Zope
 
Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)Moe Moe Myint
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsJoy Dutta
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded SystemsArti Parab Academics
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systemsPradeep Kumar TS
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture amrutachintawar239
 
Embedded Software Development
Embedded Software DevelopmentEmbedded Software Development
Embedded Software DevelopmentSanjay Kumar
 
Embedded Systems Implementation and Applications
Embedded Systems Implementation and ApplicationsEmbedded Systems Implementation and Applications
Embedded Systems Implementation and ApplicationsKaushik Padmanabhan
 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmwareJoel P
 
Introduction to Embedded Systems I : Chapter 1
Introduction to Embedded Systems I : Chapter 1Introduction to Embedded Systems I : Chapter 1
Introduction to Embedded Systems I : Chapter 1Moe Moe Myint
 

Was ist angesagt? (20)

Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systems
 
Hardware Software Codesign
Hardware Software CodesignHardware Software Codesign
Hardware Software Codesign
 
Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systems
 
Embedded Systems - Training ppt
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training ppt
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)
 
Embedded System Networking
Embedded System NetworkingEmbedded System Networking
Embedded System Networking
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
Ppt on embedded systems
Ppt on embedded systemsPpt on embedded systems
Ppt on embedded systems
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture
 
Embedded System
Embedded System Embedded System
Embedded System
 
Embedded Software Development
Embedded Software DevelopmentEmbedded Software Development
Embedded Software Development
 
Embedded Systems Implementation and Applications
Embedded Systems Implementation and ApplicationsEmbedded Systems Implementation and Applications
Embedded Systems Implementation and Applications
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmware
 
Introduction to Embedded Systems I : Chapter 1
Introduction to Embedded Systems I : Chapter 1Introduction to Embedded Systems I : Chapter 1
Introduction to Embedded Systems I : Chapter 1
 

Andere mochten auch

ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded systemmanish katara
 
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 toolPantech 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 CYCLESabeel 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 embeddedPallav Jha
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems10aer007
 
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 Systemsarlabstech
 
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 automationBlaze_Hyd
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1AJAL 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 accelerometeranusheel nahar
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLESabeel Irshad
 
Embedded system custom single purpose processors
Embedded system custom single  purpose processorsEmbedded system custom single  purpose processors
Embedded system custom single purpose processorsAiswaryadevi 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 scopeArshit 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 Challengespboulet
 
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 CALLSJOLLUSUDARSHANREDDY
 

Andere mochten auch (20)

Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
 
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
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 
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))
 
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
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
 
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.
 
Basics Of Embedded Systems
Basics Of Embedded SystemsBasics Of Embedded Systems
Basics Of Embedded Systems
 
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
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1
 
Embedded Design
Embedded Design Embedded Design
Embedded Design
 
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
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 
Embedded system custom single purpose processors
Embedded system custom single  purpose processorsEmbedded system custom single  purpose processors
Embedded system custom single purpose processors
 
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
 
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
 
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
 
MEMS
MEMSMEMS
MEMS
 

Ähnlich wie Embedded system and development

It 443 lecture 1
It 443 lecture 1It 443 lecture 1
It 443 lecture 1elisha25
 
Language for embedded system
Language for embedded systemLanguage for embedded system
Language for embedded systemvkrhanjeeth .
 
Language for Embedded System
Language for Embedded System Language 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 artikST_World
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsSudhanshu Janwadkar
 
Embedded systems- nanocdac
Embedded systems- nanocdacEmbedded systems- nanocdac
Embedded systems- nanocdacnanocdac
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systemsVikas 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).pdfenriquealbabaena6868
 
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 TschofenigCloudIDSummit
 
Малоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей МартыненкоМалоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей МартыненкоHackIT Ukraine
 
Electronic Nameplate System
Electronic Nameplate SystemElectronic Nameplate System
Electronic Nameplate SystemIRJET Journal
 

Ähnlich wie Embedded system and development (20)

It 443 lecture 1
It 443 lecture 1It 443 lecture 1
It 443 lecture 1
 
Language for embedded system
Language for embedded systemLanguage for embedded system
Language for embedded system
 
Language for Embedded System
Language for Embedded System Language for Embedded System
Language for Embedded System
 
Chapter - One.ppt
Chapter - One.pptChapter - One.ppt
Chapter - One.ppt
 
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)
 
Report
ReportReport
Report
 
Vinod report es 1
Vinod report es   1Vinod report es   1
Vinod report es 1
 
Vinod report es 1
Vinod report es   1Vinod report es   1
Vinod report es 1
 
Resume_Pratik
Resume_PratikResume_Pratik
Resume_Pratik
 
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
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Chapter_01.pptx
Chapter_01.pptxChapter_01.pptx
Chapter_01.pptx
 
Embedded systems- nanocdac
Embedded systems- nanocdacEmbedded systems- nanocdac
Embedded systems- nanocdac
 
Report file on Embedded systems
Report file on Embedded systemsReport file on Embedded systems
Report file on Embedded systems
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
 
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
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
 
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
 
Малоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей МартыненкоМалоресурсная криптография - Сергей Мартыненко
Малоресурсная криптография - Сергей Мартыненко
 
Electronic Nameplate System
Electronic Nameplate SystemElectronic Nameplate System
Electronic Nameplate System
 

Kürzlich hochgeladen

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 

Kürzlich hochgeladen (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 

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 >>>

Hinweis der Redaktion

  1. Cruise controler stereo et
  2. 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.
  3. 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 .
  4. 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.
  5. 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, ...
  6. 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.
  7. 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
  8. 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