You are on page 1of 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