0% found this document useful (0 votes)
37 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
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 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
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

[email protected]
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


[email protected]
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.

[email protected]
CO3053 – Lecture Notes 5

Embedded System Development Process

[email protected]
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
▫…
[email protected]
CO3053 – Lecture Notes 7

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

▪ Estimate cost, complexity

▪ Determine tradeoff

[email protected]
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


[email protected]
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
[email protected]
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

[email protected]
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.

[email protected]
CO3053 – Lecture Notes 12

Deployment and Maintenance

[email protected]
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

[email protected]
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
[email protected]
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


[email protected]
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

[email protected]
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

[email protected]
CO3053 – Lecture Notes 18

Question and Discussion

[email protected]

You might also like