📄 嵌入式系统词汇表.txt
字号:
Microcontrollers typically include a CPU, memory (a small amount of RAM and/or
ROM), and other peripherals on the same chip. Common examples are the 8051,
Intel's 80196, and Motorola's 68HCxx series.
microprocessor
A piece of silicon containing a general-purpose CPU. The most common examples
are Intel's 80x86 and Motorola's 680x0 families.
monitor
In the context of this book, a debug monitor. However, there is a second meaning
for this word that is associated with intertask communication. In that context, a
monitor is a language-level synchronization feature.
multiprocessing
The use of more than one processor in a single computer system. So-called
"multiprocessor systems" usually have a common memory space through which the
processors can communicate and share data. In addition, some multiprocessor
systems support parallel processing.
multitasking
The execution of multiple software routines in pseudo-parallel. Each routine
represents a separate "thread of execution" and is referred to as a task. The
operating system is responsible for simulating parallelism by parceling out the
processor's time.
mutex
A data structure for mutual exclusion, also known as a binary semaphore. A mutex
is basically just a multitasking-aware binary flag that can be used to synchronize
the activities of multiple tasks. As such, it can be used to protect critical sections
of the code from interruption and shared resources from simultaneous use.
mutual exclusion
A guarantee of exclusive access to a shared resource. In embedded systems, the
shared resource is typically a block of memory, a global variable, or a set of
registers. Mutual exclusion can be achieved with the use of a semaphore or mutex.
N
NVRAM
Non-Volatile Random-Access Memory. A type of RAM that retains its data even
when the system is powered down. NVRAM frequently consists of an SRAM and a
long-life battery.
O
OTP
See one-time programmable.
object code
A set of processor-readable opcodes and data. The output of compilers,
assemblers, linkers, and locators are files containing object code.
object file
A file containing object code. The output of a compiler or assembler.
one-time programmable
Any programmable device, like a PROM, that can be programmed just once by the
end user. However, this term is used almost exclusively to refer to
microcontrollers with on-chip PROM.
opcode
A sequence of bits that is recognized by the processor as one of the instructions
in its instruction set.
operating system
A piece of software that makes multitasking possible. An operating system
typically consists of a set of function calls, or software interrupts, and a periodic
clock tick. The operating system is responsible for deciding which task should be
using the processor at a given time and for controlling access to shared resources.
oscilloscope
A hardware debugging tool that allows you to view the voltage on one or more
electrical lines. For example, you might use an oscilloscope to determine if a
particular interrupt is currently asserted.
P
PROM
Programmable Read-Only Memory. A type of ROM that can be written
(programmed) with a device programmer. These memory devices can be
programmed only once, so they are sometimes referred to as write-once or
one-time programmable devices.
parallel processing
The ability to apply two or more processors to a single computation.
peripheral
A piece of hardware other than the processor, usually memory or an I/O device.
The peripheral may reside within the same chip as the processor, in which case it
is called an internal peripheral.
physical address
The actual address that is placed on the address bus when accessing a memory
location or register.
preemptive
A scheduler is said to be preemptive if it allows the running task to be suspended
when a higher-priority task becomes ready. Non-preemptive schedulers are easier
to implement but less appropriate for embedded systems.
polling
A method of interfacing with hardware that involves repeatedly reading a status
register until the device has reached the awaited state. Device drivers are either
polling or interrupt-driven, with the latter being more generally preferred.
priority
The relative importance of one task compared to another.
priority inversion
An unwanted software situation in which a high-priority task is delayed while
waiting for access to a shared resource that is not even being used at the time.
For all practical purposes, the priority of this task has been lowered during the
delay period.
process
A word that is often confused with task or thread. The crucial distinction is that
all of the tasks in a system share a common memory space. Processes, on the other
hand, always have their own private memory space. Processes are common in
multi-user systems but are rarely, if ever, found in embedded systems.
processor
A generic term that does not distinguish between microprocessor, microcontroller,
and digital signal processor.
processor family
A set of related processors, usually successive generations from the same
manufacturer. For example, Intel's 80x86 family began with the 8086 and now
includes the 80186, 286, 386, 486, Pentium, and many others. The later models in a
family are typically backwards-compatible with the ones that came before.
processor-independent
A piece of software that is independent of the processor on which it will be run.
Most programs that can be written in a high-level language are
processor-independent. Contrast with processor-specific.
processor-specific
A piece of software that is highly dependent on the processor on which it will be
run. Such code must usually be written in assembly language. Contrast with
processor-independent.
profiler
A software development tool that collects and reports execution statistics for
your programs. These statistics include the number of calls to each subroutine and
the total amount of time spent within each. This data can be used to learn which
subroutines are the most critical and, therefore, demand the greatest code
efficiency.
program counter
See instruction pointer.
R
RAM
Random-Access Memory. A broad classification of memory devices that includes
all devices in which individual memory locations may be read or written as required.
RISC
Reduced Instruction Set Computer. Describes the architecture of a processor
family. RISC processors generally feature fixed-length instructions, a load-store
memory architecture, and a large number of general-purpose registers and/or
register windows. The MIPS processor family is an excellent example. Contrast
with CISC.
ROM
Read-Only Memory. A broad classification of memory devices that includes all
devices in which the individual memory locations may be read, but not written.
ROM emulator
A debugging tool that takes the place of-or emulates-the ROM on your target
board. A ROM emulator acts very much like a debug monitor, except that it
includes its own serial or network connection to the host.
ROM monitor
See debug monitor.
RTOS
Real-Time Operating System. An operating system designed specifically for use in
real-time systems.
race condition
A situation in which the outcome of a program may be affected by the exact order
in which the instructions are executed. Race conditions are only an issue where
interrupts and/or preemption are possible and where critical sections exist.
real-time system
Any computer system, embedded or otherwise, that has deadlines. The following
question can be used to distinguish real-time systems from the rest: "Is a late
answer as bad, or even worse, than a wrong answer?" In other words, what happens
if the computation doesn't finish in time? If nothing bad happens, it's not a
real-time system. If someone dies or the mission fails, it's generally considered
"hard" real-time, which is meant to imply that the system has "hard" deadlines.
Everything in between is "soft" real-time.
recursive
Said of software that calls itself. Recursion should generally be avoided in an
embedded system, since it frequently requires a large stack.
reentrant
Said of software that can be executed multiple times simultaneously. A reentrant
function can be safely called recursively or from multiple tasks. The key to making
code reentrant is to ensure mutual exclusion whenever accessing global variables
or shared registers.
register
A memory location that is part of a processor or an I/O device. In other words,
it's not normal memory. Generally, each bit or set of bits within the register
controls some behavior of the larger device.
relocatable
A file containing object code that is almost ready for execution on the target. The
final step is to use a locator to fix the remaining relocatable addresses within the
code. The result of that process is an executable.
reset address
The address from which the first instruction will be fetched after the processor
is powered on or reset.
reset code
A small piece of code that is placed at the reset address. The reset code is usually
written in assembly language and may simply be the equivalent of "jump to the
startup code."
reset vector
See reset address.
S
SRAM
Static Random-Access Memory. A type of RAM that retains its contents as long as
the system is powered on. Data stored in an SRAM is lost when the system is
powered down or reset.
scheduler
The part of an operating system that decides which task to run next. This decision
is based on the readiness of each task, their relative priorities, and the specific
scheduling algorithm implemented.
semaphore
A data structure that is used for intertask synchronization. Semaphores are
usually provided by the operating system.
simulator
A debugging tool that runs on the host and pretends to be the target processor. A
simulator can be used to test pieces of the software before the embedded
hardware is available. Unfortunately, attempts to simulate interactions with
complex peripherals are often more trouble than they are worth.
software interrupt
An interruption of a program that is initiated by a software instruction. Software
interrupts are commonly used to implement breakpoints and operating system
entry points. Unlike true interrupts, they occur synchronously with respect to
program execution. In other words, software interrupts always occur at the
beginning of an instruction execution cycle. Compare with trap.
stack
An area of memory that contains a last-in-first-out queue of storage for
parameters, automatic variables, return addresses, and other information that
must be maintained across function calls. In multitasking situations, each task
generally has its own stack.
stack frame
An area of the stack associated with a particular function call.
startup code
A piece of assembly language code that prepares the way for software written in a
high-level language. Most C/C++ cross-compilers come with startup code that you
can modify, compile, and link with your embedded programs.
T
target
Another name for the embedded system. This term is usually used during software
development, to distinguish the embedded system from the host with which it
communicates.
task
The central abstraction of an operating system. Each task must maintain its own
copy of the instruction pointer and general-purpose registers. Unlike processes,
tasks share a common memory space and must be careful to avoid overwriting each
other's code and data.
thread
Another name for a task. This name is more common in operating systems that
support processes. A task is simply a thread in a single-process system.
tracepoint
Like a breakpoint except that a counter is incremented rather than stopping the
program. Tracepoints are not supported by all debugging tools.
trap
An interruption of a program that is triggered by the processor's own internal
hardware. For example, the processor might trap if an illegal opcode is found
within the program. Compare with software interrupt.
V
volatile
A value that may change without the intervention of software is said to be volatile.
For example, values within the registers of some I/O devices may change in
response to external events. C's volatile keyword should be used to warn your
compiler about any pointers that point to such registers. This will ensure that the
actual value is reread each time the data is used.
W
watchdog timer
A hardware timer that is periodically reset by software. If the software crashes
or hangs, the watchdog timer will expire, and the entire system will be reset
automatically.
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.204.8.215]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -