Lesson 3 Flashcards
a special type of embedded software that is written in non-volatile memory (such as ROM or EPROM), which cannot easily be modified
Firmware
a compiler that converts the code between different high-level languages. It can also perform automatic code refactoring. It is nothing but, we can refactor the programs
that are outside the control of the original implementer.
Language converter
In the first pass, it can create a table with all symbols and their values. In the later passes, the table can be used to generate code.
Multi-pass assemblers
type of software that is written directly for a piece of hardware. It operates without going through APIs, the operating system, or device drivers—providing the needed instructions and guidance for the device to communicate with other devices or perform a set of basic tasks and functions as intended.
Firmware
This tool gives the ability to see how the software will function in real-time.
possess more features when compared to other hardware.
allow wide-scale collaboration as they have been developed and released under the
General Public License through an open-source environment.
Emulators
helps in synchronizing the delays and internal peripherals.
monitor every part of the information in the source code with symbolic arguments
and labels.
trace the output of the contents of the program counter.
Simulators
initializes the hardware components during system
startup. This includes configuring registers, setting up clock sources, and initializing memory spaces.
System Initialization
runs on the operating system, uses or interacts with the middleware and firmware, and is the primary focus of the embedded systems’ target function.
Application
If a compiler can be able to run a code in a computer or operating system, that has been generated in a different operating system is known as a ___________.
It can also separate the build-in environment from the
target environment.
Cross-Compiler
a software layer situated between applications and operating systems.
Middleware
translates the executable program into source code in a high-level language which, when compiled shows the same behavior as the original executable program.
very much useful in error correction, computer security, and interoperability.
Decompiler
A piece of software that is embedded in hardware or non-PC devices. It is written
to perform a particular function and typically written in a high-level format and then compiled down to provide code that can be lodged within a non-volatile memory within the hardware.
Embedded Software
Embedded systems are susceptible to security threats. Embedded
software can implement security measures such as encryption, authentication, and access control to protect sensitive data and prevent unauthorized access to the hardware.
Security and Encryption
It goes through the source code once. Any symbol defined before will require errata at the end of the object code.
One-pass Assemblers
a crucial tool that transforms human-written code into a language clear for machines. It is a more complex process that a compiler does. unit that takes the basic computer instructions as input and converts them into a pattern of bits that can be used by the computer’s processor to perform certain functions.
Assembler
In applications involving multiple sensors (e.g., in
autonomous vehicles or IoT devices), embedded software processes data from various sensors, performs sensor fusion, and extracts meaningful information.
Sensor Fusion and Data Processing
creates the whole picture of the code. Also resolve all of the unresolved
symbols.
Linker
a testing tool that is widely used for popular operating systems
like Windows, Linux, and Mac.
IDA Pro
software that allows a user to run other applications on a computing device.
manages a processor’s hardware resources including input devices such as a keyboard and mouse, output devices such as displays or printers, network connections, and storage devices such as hard drives and memory.
Operating System
responsible for detecting and handling
hardware faults and errors. It can implement mechanisms for error recovery, such as resetting a component, switching to redundant hardware, or triggering alarms and diagnostics.
Fault Handling and Recovery
Embedded software is responsible for implementing __________ algorithms that monitor inputs, make decisions, and control hardware in a timely manner.
Real Time Control
hides the low-level hardware details, allowing developers to
write software that is independent of the specific hardware components.
Hardware Abstraction
tool that performs the conversion from relocatable program to executable binary image. produce an output file that contains a binary memory image that can be loaded into the target ROM.
Locator
Embedded systems often need to communicate with other devices or
systems. Embedded software manages _______________and data exchange between the embedded system and external entities, including other embedded systems, computers, or the internet.
Communication protocols
facilitate communication between the higher-level software and hardware peripherals such as sensors, actuators, displays, and communication interfaces (e.g., UART, SPI, I2C).
Device Drivers
the most basic code that is used for the processor unit. The code is normally in hex code and provides the basic instructions for each operation of the processor.
Machine code
a testing tool that finds and deletes bugs and errors inside the code. Also,
it shows the places where errors were found for a quick rewriting by developers and eliminating future mistakes.
Debugger
embedded software controls the display and interacts with user inputs, providing a means for users to interact with and control the device.
User interface