What are the five key steps in developing an embedded application?
Define requirements, design software (flowcharts/pseudocode), translate to code, test and debug, document the software.
Why is defining system requirements important?
To determine needed inputs, outputs, speed, storage, and suitable hardware.
What tools help plan software before coding?
Flowcharts and pseudocode.
What is testing and debugging?
Identifying and removing errors or unexpected behaviour (bugs) in code.
Why must code be documented?
So future developers (or yourself) can understand and modify it.
What is a program?
A recorded sequence of instructions that performs tasks to produce a specific result.
What is software?
Collections of programs, libraries, and related data.
What is a programming language?
A formal notation with instructions and rules for writing programs.
What are high-level languages?
Languages close to human language that hide hardware details (e.g., Python, C++, Java).
What are low-level languages?
Languages close to machine instructions (e.g., Assembly, Machine Code).
How is C often described in terms of language level?
A mid-level language.
Why is C widely used in embedded systems?
It allows control close to hardware while remaining structured and powerful.
What is a flowchart?
A pictorial representation of program logic and flow.
Why are flowcharts useful?
They allow visualising program structure without writing code, helping planning and debugging.
Do flowcharts require knowledge of a specific programming language?
No.
What are the basic flowchart symbols?
Start/End (terminal), Process, Decision, I/O, Subprocess, Flow arrows.
What are the rules for drawing flowcharts?
Start and end with terminals, consistent spacing, clear arrows, no overlapping lines, tidy layout.
What are the three fundamental program constructs?
Sequence, Decision, Repetition.
What is the Sequence construct?
Executes instructions one after another in order.
What is the Decision construct?
Executes tasks based on a test condition.
What is the Repetition construct?
Repeats tasks until a stopping condition is met.
What does the sequence example (sum 1 to 10) demonstrate?
A brute-force approach with no decisions or loops.
What does the decision + repetition example (sum 1 to 10) demonstrate?
A more efficient approach using a counter and condition.
In repetition examples, what does the counter do?
Tracks progress through repeated loops.