0% found this document useful (0 votes)
41 views

CO3053 - Lecture 3 - Embedded Systems Development Process

This document discusses the embedded system development process. It describes the main steps as requirements gathering, requirements analysis, system design, system implementation, testing, integration and optimization, and deployment and maintenance. For each step, it provides details on the activities and objectives. It also provides an example of developing an engine control unit, analyzing design options to meet timing requirements.

Uploaded by

THỊNH CHUNG
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

CO3053 - Lecture 3 - Embedded Systems Development Process

This document discusses the embedded system development process. It describes the main steps as requirements gathering, requirements analysis, system design, system implementation, testing, integration and optimization, and deployment and maintenance. For each step, it provides details on the activities and objectives. It also provides an example of developing an engine control unit, analyzing design options to meet timing requirements.

Uploaded by

THỊNH CHUNG
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

CO3053 – Embedded Systems

3. Embedded System Development Process


CO3053 – Lecture Notes 2

Learning Outcome
▪ Students are expected to be able to …
▫ Describe each step in the process
▫ Sort the steps in the process in correct order

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 3

Embedded System Design – Challenges


▪ Increasing application complexity
▫ Large systems with legacy functions
▫ Flexibility requirements
▫ Examples: multimedia, automotive, mobile communication

▪ Increasing target system complexity


▫ Mixture of different technologies, processor types, and design styles
▫ Large systems-on-a-chip combining components from different sources (IP market)

▪ Numerous constraints and design objectives


▫ Examples: cost, power consumption, timing constraints, dependability

▪ Reduced and overlapping design cycles


anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 4

Embedded System Requirements


▪ Reactive systems
▫ The system never stops.
▫ The system responds to signals produced
by the environment.

▪ Real-time systems
▫ Timing constraints on task execution.
▫ Hard and soft constraints.

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 5

Embedded System Development Process

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 6

Requirements Gathering
▪ Understand the problem statement and scope definition.

▪ Identify Functional and nonfunctional requirements


▫ Multimode or multifunctional system
▫ Size, cost, weight, etc.

▪ Determine deployment parameters


▫ Application domain and operational environment
▫ Legal and regulatory requirements
▫…
anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 7

Requirements Analysis
▪ Identify the variables in performance, hardware, firmware, software, …

▪ Estimate cost, complexity

▪ Determine tradeoff

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 8

System Design
▪ System architecture
▫ Block diagram

▪ Hardware-software partitioning

▪ Hardware and software selection


▫ Hardware platform
▫ Programming language
▫ Operating system
▫ Development tools

▪ Prototyping and testing strategy


anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 9

System Implementation
▪ Hardware Implementation (if needed) & Coding

▪ Cross-platform development
▫ Usually, the ES is not strong enough ➠ need another platform to build application (usually use
PC), and the application/OS is executed on ES.
▫ Cross: developed on one platform, run on another platform

▪ Cross-compiler: the compiler run on one platform (PC), and it produce


executable file to run on another platform (ES)

▪ Porting: reproduce an application/OS which is developed for a platform to run


on another platform
▫ Ex:We want to reproduce a Linux distribution to run on our ARM platform
anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 10

Testing
▪ Unit & Integration testing

▪ Verify the Software on the Host System


▫ Compile and assemble the source code into object file
▫ Use a simulator to simulate the working of the system

▪ Verify the Software on the Target System


▫ Download the program using a programmer device
▫ Use an Emulator or on chip debugging tools to verify the software

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 11

Integration & Optimization


▪ System integration
▫ Involve the actual integration of the hardware and software modules to
produce the full working system.

▪ System optimization (if required)


▫ Optimize trade-off parameters such as cost or performance.

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 12

Deployment and Maintenance

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 13

Example: Engine Control Unit (ECU)


▪ Task: control the torque produced by the engine by the timing fuel
injection and spark.
▫ Control Injection Time

▪ Major constraints
▫ Low fuel consumption
▫ Low exhaust emission

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 14

ECU Control Injection Time – Analysis


▪ 3 Sub Tasks
▫ Compute air flow
▫ Compute injection time
▫ Control actuators (torque)

Air Flow Compute injection Injection


Compute air flow Time
Control actuators
time

▪ Engine speed ▪ Engine temperature Control


▪ Air temperature ▪ Look-up table Signal
▪ Air pressure
anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 15

ECU – Design Option #1


▪ Use a single CPU to
▫ Process input data
▫ Compute outputs
▫ Control actuators

Analog A/D
inputs Actuations
32 bit CPU
Digital
inputs

May not meet timing requirements


anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 16

ECU – Design Option #2


▪ Combine CPU and FPGA
▫ Use CPU to
 Process input data
 Compute outputs
▫ Use FPGA to control actuators

Analog A/D
inputs
Actuators
16 bit CPU FPGA

Digital
inputs

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 17

ECU – Design Option #3


▪ Combine DSP, CPU, FPGA
▪ Use DSP to process input data
▪ Use CPU to computes outputs
▪ Use FPGA to control actuators

Analog
inputs A/D DSP
Actuators
8 bit CPU FPGA
Digital
inputs

anhpham@hcmut.edu.vn
CO3053 – Lecture Notes 18

Question and Discussion

anhpham@hcmut.edu.vn

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy