糯米文學吧

位置:首頁 > IT認證 > 嵌入式

嵌入式系統常用術語

嵌入式系統是面向用户、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優勢。以下是關於嵌入式系統常用術語,希望大家認真閲讀!

嵌入式系統常用術語

A

ASIC(專用集成電路)

Application-Specific Integrated Circuit、A piece of custom-designed hardware in a chip.

專用集成電路。一個在一個芯片上定製設計的硬件。

address bus (地址總線)

A set of electrical lines connected to the processor and all of the peripherals withwhich itcommunicates、The address bus is used by the processor to select aspecific memory location or register within a particular peripheral、If the address bus contains n electrical lines, the processor can uniquely address up to 2^n such locations.

一個連接處理器與所有外設的,用來通訊的電子線路集。地址總線被處理器用來選擇在特定外設中的存儲器地址或寄存器。如果地址總線有n條電子線路,處理器能唯一尋址高達2^n的地址空間。

application software(應用軟件)

Describes software modules specific to a particular embedded project、Theapplication software is unlikely to be reusable across embedded platforms, simplybecause each embedded system has a different application.

用來描述一個特定的嵌入式項目中的某一軟件模塊。應用軟件不象可重用的交叉嵌入式平台,只是因為每一個嵌入式系統有不同的應用軟件。

assembler(彙編編譯器)

A software development tool that translates human-readable assembly languageprograms into machine-language instructions that the processor can understandand execute.

一個能把人可讀的彙編語言程序轉換到處理器可理解和運行的機器指令的軟件開發工具。

assembly language(彙編語言)

A human-readable form of a processor"s instruction set、Most processor-specific functions must be written in assembly language.

一種人可讀的處理器指令集的形式。大多數處理器相關的功能必須用匯編語言編寫。

B

BSP(板卡支持包)

See board support package.

見board support package。

binary semaphore(二元信號)

A type of semaphore with just two states、Also called a mutex.

一種只有兩種狀態的信號。也叫互斥信號。

board support package(板卡支持包)

Part of a software package that is processor or platform-dependent、Typically,sample source code for the board support package is provided by the package developer、The sample code must be modified as necessary, compiled, and linked with the remainder of the software package.

軟件包的具有平台依賴性的那一部分。典型地,板卡支持包的樣例源程序由包開發者提供。樣例源程序必須能在需要時被修改、編譯並與軟件包的剩下的部分連接起來。

bond-out processor (外合處理器)

A special version of a processor that has some of the internal signals brought out to external pins、A bond-out processor is most often found within an emulator and is never intended to be used in a production system.

一種特殊版本的處理器,它有一些,內部的信號能傳達到外置的針腳上。一個外合處理器絕大多數情況下只用在模擬器上,從來不會被特意用在產品系統上。

Breakpoint (斷點)

A location in a program at which execution is to be stopped and control of the processor switched to the debugger、Mechanisms for creating and removing breakpoints are provided by most debugging tools.

一個在程序中的地址,在那裏程序的執行被停止,並且處理器的控制轉換到了除錯程序。大多數除錯工具提供增加與刪除一個斷點的機制。

C

CISC(複雜指令集計算機)

Complex Instruction Set Computer、Describes the architecture of a processor family、CISC processors generally feature variable-length instructions, multiple addressing formats, and contain only a small number of general-purpose registers、Intel"s 80x86 family is the quintessential example of CISC、Contrast with RISC.

複雜指令集計算機。對一種處理器架構的描述。CISC處理器一般產生變長的指令,多種地址格式,並且僅僅有少量的通用寄存器。Intel的80x86家族是是典型的CISC處理器。相對於RISC而言。

CPU(中央處理器)

Central Processing Unit、The part of a processor that executes instructions.

中央處理器。處理器中執行指令的那一部分。

Compiler(編譯器)

A software development tool that translates high-level language programs into the machine-language instructions that a particular processor can understand and execute.

把高級編程語言程序轉換到只有特定的處理器能瞭解和執行的機器指令的一種軟件開發包。

context (上下文)

The current state of the processor"s registers and flags.

處理器當前的狀態和標誌。

context switch(上下文切換)

The process of switching from one task to another in a multitasking operating system、A context switch involves saving the context of the running task and restoring the previously-saved context of the other、The piece of code that does this is necessarily processor-specific.

在多任務操作系統中我一個任務切換到另一個的過程。上下文切換包括保存正在運行的任務的上下文和恢復早先保存的另一個任務的上下文。做這個工作的一段代碼必須具有處理器特權。

counting semaphore(計數信號)

A type of semaphore that is used to track multiple resources of the same type、An attempt to take a counting semaphore is blocked only if all of the available resources are in use、Contrast with binary semaphore.

一種用來跟蹤多個相同類型資源的信號燈。僅僅在所有可用的資源都被用完了時才阻塞。相對二元信號而言。

critical section(臨界段)

A block of code that must be executed in sequence and without interruption to guarantee correct operation of the software、See also race condition.

一段必須按次序執行的代碼,並且不能被中斷,否則不能保證軟件正確地操作。參照:競爭狀況。

cross-compiler(交叉編譯器)

A compiler that runs on a different platform than the one for which it produces object code、A cross-compiler runs on a host computer and produces object code for the target.

一個運行在不同的平台上的編譯器,其中之一能產生目標代碼。交叉編譯器在主機上運行並且產生目標機的目標代碼。

D

DMA(直接內存訪問)

Direct Memory Access、A technique for transferring data directly between two peripherals (usually memory and an I/O device) with only minimal intervention by the processor、DMA transfers are managed by a third peripheral called a DMA controller.

直接內存訪問。一種直接在兩個外設(通常是內存和I/O設備)之間進行數據傳輸的技術,它只要處理器最少的介入。DMA傳輸由叫DMA控制器的第三方外設進行管理。

DRAM(動態隨機訪問存儲器)

Dynamic Random-Access Memory、A type of RAM that maintains its contents only as long as the data stored in the device is refreshed at regular intervals、The refresh cycles are usually performed by a peripheral called a DRAM controller.

動態隨機訪問存儲器。一種RAM,存儲在其設備中的數據被定期刷新時才能保存它的內容。刷新週期一般由一個叫DRAM控制器的外設完成。

Data bus(數據總線)

A set of electrical lines connected to the processor and all of the peripherals with which it communicates、When the processor wants to read (write) the contents of a memory location or register within a particular peripheral, it sets the address bus pins appropriately and receives (transmits) the contents on the data bus.

連接處理器與所有外設進行通訊的電子線路集。當一個處理器想去寫(讀)某一特定外設中的存儲器地址或寄存器中的內容時,處理器設置地址總線並在數據總線上接收(傳輸)內容。

Deadline(死線)

The time at which a particular set of computations must be completed、See also real-time system.

一個特定計算必須被完成的時間。請看實時系統。

Deadlock(死鎖)

An unwanted software situation in which an entire set of tasks is blocked, waiting for an event that only a task within the same set can cause、If a deadlock occurs, the only solution is to reset the hardware、However, it is usually possible to prevent deadlocks altogether by following certain software design practices.

一種不希望出現的軟件狀態,在這個狀態下,所有的任務因為等待一個只有在這些被阻塞任務之一才能產生的事件而被阻塞。如果死鎖發生,唯一解決的方法是重啟動硬件。但是,通過可靠的軟件設計實踐活動通常可以防止死鎖的發生。

debug monitor(除錯監視程序)

A piece of embedded software that has been designed specifically for use as a debugging tool、It usually resides in ROM and communicates with a debugger via a serial port or network connection、The debug monitor provides a set of primitive commands to view and modify memory locations and registers, create and remove breakpoints, and execute your program、The debugger combines these primitives to fulfill higher-level requests like program download and single-step.

嵌入式軟件被特殊設計來作為除錯工具的一部分。它一般被放在ROM中,通過串口或網絡與除錯器進行通訊。除錯監視程序提供一個簡單的命令集來顯示和內存地址和寄存器、建立和移除斷點,並且運行你的程序。除錯監視器組合這些簡單的命令去實現象程序下載各單步調試等高端的請求。

Debugger(除錯器)

A software development tool used to test and debug embedded software、The debugger runs on a host computer and connects to the target through a serial port or network connection、Using a debugger you can download software to the target for immediate execution、You can also set breakpoints and examine the contents of specific memory locations and registers.

一個軟件開發工具,被用來對嵌入式軟件進行測試和除錯。除錯器在宿主機上運行並且通過串口或網絡連接到目標機上。你能使用除錯器下載軟件到目標機並直接運行。你也可以設置斷點並檢查特定內存地址或寄存器的內容。

device driver(設備驅動程序)

A software module that hides the details of a particular peripheral and provides a high-level programming interface to it.

一個軟件模塊,它隱藏特定外設的細節並提供高級的外設編程接口。

device programmer(設備編程器)

A tool for programming non-volatile memories and other electrically-programmable devices、Typically, the programmable device is ed into a socket on the device programmer and the contents of a memory buffer are then transferred into it.

一種用來對不揮發內存和其他電可編程設備進行編程的工具。典型地,可編程設備插在設備編程器的接口上,接着內存緩存器中的內容被傳送到它裏面。

digital signal processor(數字信號處理器)

A device that is similar to a microprocessor, except that the internal CPU has been optimized for use in applications involving discrete-time signal processing、In addition to standard microprocessor instructions, DSPs usually support a set of complex instructions to perform common signal-processing computations on DSP families are TI"s 320Cxx and Motorola"s 5600x series.

一種類似於微處理器的的設備,不同的是它內部的CPU被優化,用於特定的應用,如離散信號處理。除了標準的微處理器指令外,DSP常常支持複雜指令集去非常快地完成通用的信號處理計算。通用DSP家庭是TI的320Cxx和Motorola的5600x系列。

E

EEPROM(電可擦的,可編程的只讀存儲器)

Electrically Erasable, Programmable Read-Only Memory、(Pronounced"Double-E"-PROM.) A type of ROM that can be erased electronically.

電可擦的,可編程的只讀存儲器。一種ROM能被電擦除。

EPROM(可擦的,可編程的只讀存儲器)

Erasable, Programmable Read-Only Memory、A type of ROM that can be erased by exposing it to ultraviolet light、Once erased, an EPROM can be reprogrammed with the help of a device programmer.

一種可用紫外線擦除的存儲器。一次擦除後,EPROM可以在設備編程器的幫助下被重編程。

embedded system(嵌入式系統)

A combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function、In some cases, embedded systems are part of a larger system or product, as is the case of an anti-lock braking system in a car、Contrast with general-purpose computer.

計算機硬件和軟件的結合體,或許還加上機械等其他部分,被設計來完成專門的功能。在一些情況下,嵌入式系統是一個大的系統或產品的一部分,就象汽車上的防抱死裝置。與通用計算機相對。

Emulator(仿真器)

Short for In-Circuit Emulator (ICE)、A debugging tool that takes the placeof-emulates-the processor on your target board、Emulators frequently incorporate a special "bond-out" version of the target processor that allows you to observe and record its internal state as your program is executing

、在線仿真器的簡寫。一個在你的目標板上放置仿真的處理器的調試工具。仿真器經常和一目標處理器的一種“外合”版本合在一起,這個版本的的處理器充許你運行程序時觀察和記錄它的內部狀態。

Executable(可執行的)

A file containing object code that is ready for execution on the target、All that remains is to place the object code into a ROM or download it via a debugging tool.

一個包含準備在目標機上運行的目標代碼的文件。放置目標代碼到ROM中或通過調試工具下載。

F

Firmware(固件)

Embedded software that is stored as object code within a ROM、This name is most common among the users of digital signal processors.

是作為目標代碼存貯在ROM中的嵌入式軟件。這個名字在數字信號處理器的用户中相當流行。

flash memory (閃存)

A RAM-ROM hybrid that can be erased and rewritten under software control、Such devices are divided into blocks, called sectors, that are individually-erasable、Flash memory is common in systems that require nonvolatile data storage at very low cost、In some cases, a large fash memory may even be used instead of a disk-drive.

一種RAM-ROM的混血兒,它能在軟件的控制下被擦除和重寫。一些設備被分成叫段組的塊,能個別地可擦。閃存用在需要很便宜的非易失數據存貯器的地方,一個大容量的閃存甚至被用作磁盤驅動器。

G

general-purpose computer(通用計算機)

A combination of computer hardware and software that serves as a

general-purpose computing platform、For example, a personal computer、Contrast with embedded system.

當作通用計算平台的計算機硬件與軟件的組合。例如,PC。相對於嵌入式計算機。

H

HLL

See high-level language.

查閲高級語言。

Heap(堆)

An area of memory that is used for dynamic memory allocation、Calls to malloc and free and the C++ operators new and result in run-time manipulation of the heap.

一塊被用作動態內存分配的內存區域。調用malloc和free、C++的操作符new、在運行時進行堆的操作。

high-level language(高級語言)

A language, such as C or C++, that is processor-independent、When programming in a high-level language, it is possible to concentrate on algorithms and applications without worrying about the details of a particular processor.

一種語言,象C或C++,是處理器獨立的。當在高級語言上編程時,不需要考慮特定處理器的細節,只用關心算法和應用。

Host(主機)

A general-purpose computer that communicates with the target via a serial port or network connection、This term is usually used to distinguish the computer on which the debugger is running from the embedded system that is being developed.

一台通用計算機,它通過串口或網絡連接與目標機通訊。這處名詞一般用來區別調試程序運行的計算機和被開發的嵌入式系統。

I

ICE

In-Circuit Emulator、See emulator.

在線仿真器。查閲仿真器。

I/O(輸入/輸出)

Input/Output、The interface between a processor and the world around it、The simplest examples are switches (inputs) and LEDs (outputs).

輸入/輸出。處理器與外界的交互界面。最簡單的例子是開關(輸入)和發光二級管(輸出)。

I/O device(IO設備)

A piece of hardware that interfaces between the processor and the outside world、Common examples are switches and LEDs, serial ports, and network controllers.

一種介於處理器和外界之間的硬件設備。一般的實例是開關、LED、串口和網絡控制器。

I/O map(I/O映射)

A table or diagram containing the name and address range of each peripheral addressable by the processor within the I/O space、I/O maps are a helpful aid in getting to know the target.

一張包含每個外設的名字和地址的表格或圖表,可由處理器在I/O空間中設定地址。I/O映射對得知目標機情況非常有利。

I/O space(I/O空間)

A special memory region provided by some processors and generally reserved for the attachment of I/O devices、Memory locations and registers within an I/O space can be accessed only via special instructions、For example, processors in the 80x86 family have special I/O space instructions called in and out、Contrast with memory space.

一個由處理器提供的特殊內存區域,一般為為I/O設備的附件保留。在I/O空間的內存位置和寄存器只能通過特殊的指定進行訪問。例如:80X86家族的處理器有叫做in / out的特殊的I/O空間指令。相對內存空間而言。

ISR(中斷服務程序)

See interrupt service routine.

instruction pointer(指令指針)

A register in the processor that contains the address of the next instruction to be executed、Also known as a program counter.

包含下一條要執行指令地址的處理器中的寄存器。也叫程序計數器。

Interrupt(中斷)

An asynchronous electrical signal from a peripheral to the processor、When the peripheral asserts this signal, we say that an interrupt occurs、When an interrupt occurs, the current state of the processor is saved and an interrupt service routine is executed、When the interrupt service routine exits, control of the processor is returned to whatever part of the software was previously running.

一個從外設到處理器的異步電信號。當外設發出這個信號,我們説一箇中斷髮生。當一箇中斷髮生,當前的處理器狀態被保存並且中斷服務程序開始運行。當中斷服務程序退出,對處理器的控制權轉到先前運行的那個軟件上。

interrupt latency(中斷延遲)

The amount of time between the assertion of an interrupt and the start of the associated interrupt service routine.

在中斷髮生和相關的中斷服務程序運行之間的時間長短。

interrupt service routine(中斷服務程序)

A piece of software executed in response to a particular interrupt.

響應特定中斷而運行的一小段軟件。

interrupt type(中斷類型)

A unique number associated with each interrupt.

和每一箇中斷相關聯的唯一數字。

interrupt vector (中斷向量)

The address of an interrupt service routine.

中斷服務程序所在的地址。

interrupt vector table(中斷向量表)

A table containing interrupt vectors and indexed by interrupt type、This table contains the processor"s mapping between interrupts and interrupt service routines and must be initialized by the programmer.

一個表格,包含由中斷類型決定的中斷向量和索引。這個表格包含中斷與中斷服務程序之間的處理器的映射,必須由程序員進行初始化。

intertask communication(進程間通訊)

A mechanism used by tasks and interrupt service routines to share information and synchronize their access to shared resources、The most common building blocks of intertask communication are semaphores and mutexes.

一種被用來在任務和中斷服務程序之間共享信息和同步它們對共享資源訪問的機制。大部分進程間通訊的建立的基石是信號燈和互斥。

K

Kernel(內核)

An essential part of any multitasking operating system, the kernel contains just the scheduler and context-switch routine.

任何多任務操作系統的本質部分,內核僅僅包含調度程序和上下文切換進程。

L

Linker(連接程序)

A software development tool that accepts one or more object files as input and outputs a relocatable program、The linker is thus run after all of the source files have been compiled or assembled.

一種能把一個或更多目標文件組合成可輸入和輸出的可重定位程序的開發工具。連接程序在所有的源文件都被編譯或彙編之後運行。

Locator(定位程序)

A software development tool that assigns physical addresses to the relocatable program produced by the linker、This is the last step in the preparation of software for execution by an embedded system and the resulting file is called an executable、In some cases, the locator"s function may be hidden within the linker.

一種分配物理地址給連接程序處理過的可重定位程序的軟件開發工具。這是準備一個軟件在嵌入式系統中運行的最後一步,並且結果文件叫做可執行的。在一些情況下,定位程序功能隱藏在連接程序中。

logic analyzer(邏輯分析儀)

A hardware debugging tool that can be used to capture the logic levels (0 or 1) of dozens, or even hundreds, of electrical signals in real-time、Logic analyzers can be quite helpful for debugging hardware problems and complex processor-peripheral interactions.

一種硬件調試工具,能捕獲實時電信號的許多邏輯電平(0或1),邏輯分析儀在調試硬件問題和複雜的處理外設交互時相當有用。

M

memory map(內存映射)

A table or diagram containing the name and address range of each peripheral addressable by the processor within the memory space、Memory maps are a helpful aid in getting to know the target.

一個在內存空間中的,包含每個外設的名字和可由處理器設置的地址範圍的表格或圖表。內存映射有助於瞭解目標機情況。

memory-mapped I/O(內存映射I/O)

An increasingly common hardware design methodology in which I/O devices are placed into the memory space rather than the I/O space、From the processor"s point of view, memory-mapped I/O devices look very much like memory devices.

一種日益流行的硬件設計方法,在這種方法中,I/O設備被放置在內存空間而不是I/O空間。從處理器的觀點看,內存映射I/O設備看上去很象內存一樣。

memory space(內存空間)

A processor"s standard address space、Contrast with I/O space.

一個處理器的標準地址空間。相對I/O空間。

Microcontroller(微控制器)

A microcontroller is very similar to a microprocessor、The main difference is that a microcontroller is designed specifically for use in embedded systems 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.

微控制器很像微處理器。主要的差別在於微控制器被特殊設計用在嵌入式系統中。微控制器典型地包括CPU、內存(很小的RAM或ROM),還有其他的外設,它們在同一塊芯片上。常見的例子是:8051、Intel80196、Motorola68HCxx系列。

Microprocessor(微處理器)

A piece of silicon containing a general-purpose CPU、The most common examples are Intel"s 80x86 and Motorola"s 680x0 families.

一片包含通用CPU的硅片。常見的例子是:Intel80x86、Motorola 680x0系列。

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.

非易失的隨機訪問存儲器。一種能在系統關機的情況下保持它的數據的RAM。NVRAM常常由SRAM和長壽命電池組成。

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.

任一可編程的設備,像PROM,僅僅能被最終用户編程一次。然而,這個術語一般被專有地使用在擁有片上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.

可編程只讀存儲器。能被設備編程器寫的一種ROM。這種內存設備可以被編程一次,所以它們有時被作為寫一次或一次性編程設備來看待。

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.

一種不同於處理器的硬件設備,常指內存或I/O設備。外設經常和處理器在一片芯片上,在這種情況下,它被稱為集成外設。

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 distinction 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.

一個相關的處理器集,常常連續地從一個生產商產生。例如:Intel"s 80x86族開始從8086開始,現在有80186, 286, 386, 486, Pentium及其他。在一個族中,稍後的產品典型地向後兼容在它以前生產的產品。

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.

精簡指令集計算機。一個處理器族的描述。RISC處理器一般的特徵是固定長度的指令集,一個負載儲備存儲結構,和大量通用寄存器,及寄存器窗口。MIPS處理器族是極好的例子。相對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(ROM模擬器)

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的調試工具。ROM模擬器動作起來象一個除錯監視器,除了它包含自己連到主機上的串口或網絡外。

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.

是處理器或I/O設備一部分的儲存器的地址。換句話説,不是標準的儲存器。一般地,在寄存器控制每一二進制位或二進制位的集控制大量設備的一些行為。

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.

靜態隨機訪問儲存器。一種在系統上電時以保持它的內容的儲存器。當系統斷電或重啟時,保存在SRAM中的內容將丟失。

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.

由軟件指令發起的的一個程序的中斷。軟件中斷被用來實現中斷點他操作系統進入點。不象真實的中斷,那些中斷在不防礙程序執行時同步發生。換句話説,軟件中斷常常在指令運行週期的開始發生。

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.

一個包含後進先出隊列的內存區域,用來存儲參數、自動變量、返回地址和其他一些必須在函數調用中進行維護的信息。在多任務情況下,每一個任務一般都有自己的堆棧區。

嵌入式操作系統

嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件,它是嵌入式系統(包括硬、軟件系統)極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等Browser。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越複雜的系統資源;能夠把硬件虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脱出來;能夠提供庫函數、驅動程序、工具集以及應用程序。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。

1、嵌入式操作系統的種類

一般情況下,嵌入式操作系統可以分為兩類,一類是面向控制、通信等領域的實時操作系統,如WindRiver公司的VxWorks、ISI的pSOS、QNX系統軟件公司的QNX、ATI的Nucleus等;另一類是面向消費電子產品的非實時操作系統,這類產品包括個人數字助理(PDA)、移動電話、機頂盒、電子書、WebPhone等。

a、非實時操作系統

早期的嵌入式系統中沒有操作系統的概念,程序員編寫嵌入式程序通常直接面對裸機及裸設備。在這種情況下,通常把嵌入式程序分成兩部分,即前台程序和後台程序。前台程序通過中段來處理事件,其結構一般為無限循環;後台程序則掌管整個嵌入式系統軟、硬件資源的分配、管理以及任務的調度,是一個系統管理調度程序。這就是通常所説的前後台系統。一般情況下,後台程序也叫任務級程序,前台程序也叫事件處理級程序。在程序運行時,後台程序檢查每個任務是否具備運行條件,通過一定的調度算法來完成相應的操作。對於實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務程序中標記事件的發生,不再做任何工作就退出中斷,經過後台程序的調度,轉由前台程序完成事件的處理,這樣就不會造成在中斷服務程序中處理費時的事件而影響後續和其他中斷。

實際上,前後台系統的實時性比預計的要差。這是因為前後台系統認為所有的任務具有相同的優先級別,即是平等的,而且任務的執行又是通過FIFO隊列排隊,因而對那些實時性要求高的任務不可能立刻得到處理。另外,由於前台程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。由於這類系統結構簡單,幾乎不需要RAM/ROM的額外開銷,因而在簡單的嵌入式應用被廣泛使用。

b、實時操作系統

實時系統是指能在確定的時間內執行其功能並對外部的異步事件做出響應的計算機系統。其操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關。“在確定的時間內”是該定義的核心。也就是説,實時系統是對響應時間有嚴格要求的。

實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重後果。實時系統有兩種類型:軟實時系統和硬實時系統。軟實時系統僅要求事件響應是實時的,並不要求限定某一任務必須在多長時間內完成;而在硬實時系統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常,大多數實時系統是兩者的結合。實時應用軟件的設計一般比非實時應用軟件的設計困難。實時系統的技術關鍵是如何保證系統的實時性。

實時多任務操作系統是指具有實時性、能支持實時控制系統工作的操作系統。其首要任務是調度一切可利用的資源完成實時控制任務,其次才着眼於提高計算機系統的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統具有如下功能:任務管理(多任務和基於優先級的任務調度)、任務間同步和通信(信號量和郵箱等)、存儲器優化管理(含ROM的管理)、實時時鐘服務、中斷管理服務。實時操作系統具有如下特點:規模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快。

實時操作系統可分為可搶佔型和不可搶佔型兩類。對於基於優先級的系統而言,可搶佔型實時操作系統是指內核可以搶佔正在運行任務的CPU使用權並將使用權交給進入就緒態的優先級更高的任務,是內核搶了CPU讓別的任務運行。不可搶佔型實時操作系統使用某種算法並決定讓某個任務運行後,就把CPU的控制權完全交給了該任務,直到它主動將CPU控制權還回來。中斷由中斷服務程序來處理,可以激活一個休眠態的任務,使之進入就緒態;而這個進入就緒態的任務還不能運行,一直要等到當前運行的任務主動交出CPU的控制權。使用這種實時操作系統的實時性比不使用實時操作系統的系統性能好,其實時性取決於最長任務的執行時間。不可搶佔型實時操作系統的缺點也恰恰是這一點,如果最長任務的執行時間不能確定,系統的實時性就不能確定。

可搶佔型實時操作系統的實時性好,優先級高的任務只要具備了運行的條件,或者説進入了就緒態,就可以立即運行。也就是説,除了優先級最高的任務,其他任務在運行過程中都可能隨時被比它優先級高的任務中斷,讓後者運行。通過這種方式的任務調度保證了系統的實時性,但是,如果任務之間搶佔CPU控制權處理不好,會產生系統崩潰、死機等嚴重後果。

2、嵌入式操作系統的發展

嵌入式操作系統伴隨着嵌入式系統的發展經歷了4個比較明顯的階段

第一階段是無操作系統的嵌入算法階段,是以單芯片為核心的可編程控制器形式的系統,同時具有與監測、伺服、指示設備相配合的功能。這種系統大部分應用於一些專業性極強的工業控制系統中,一般沒有操作系統的支持,通過彙編語言編程對系統進行直接控制,運行結束後清除內存。這一階段系統的主要特點是:系統結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用户接口。由於這種嵌入式系統使用簡便、價格很低,以前在國內工業領域應用較為普遍,但是已經遠遠不能適應高效的、需要大容量存儲介質的現代化工業控制和新興的信息家電等領域的需求。

第二階段是以嵌入式CPU為基礎、以簡單操作系統為核心的嵌入式系統。這一階段系統的主要特點是:CPU種類繁多,通用性比較差;系統開銷小,效率高;一般配備系統仿真器,操作系統具有一定的兼容性和擴展性;應用軟件較專業,用户界面不夠友好;系統主要用來控制系統負載以及監控應用程序運行。

第三階段是通用的嵌入式實時操作系統階段,是以嵌入式操作系統為核心的嵌入式系統。這一階段系統的主要特點是:嵌入式操作系統能運行於各種不同類型的微處理器上,兼容性好;操作系統內核精小、效率高,並且具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網絡支持、圖形窗口以及用户界面等功能;具有大量的應用程序接口(API),開發應用程序簡單;嵌入式應用軟件豐富。

第四階段是以基於Internet為標誌的嵌入式系統,這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立於Internet之外,但隨着Internet的發展以Internet技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與Internet的結合將代表着嵌入式技術的真正未來。

3、使用實時操作系統的必要性

嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能複雜、系統龐大的應用中顯得愈來愈重要。

首先,嵌入式實時操作系統提高了系統的可靠性。在控制系統中,出於安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設計方面提高系統的可靠性和抗干擾性,而且也應在軟件設計方面提高系統的抗干擾性,儘可能地減少安全漏洞和不可靠的隱患。長期以來的前後台系統軟件設計在遇到強幹擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時採取一些利於系統穩定可靠的措施,如把有問題的任務清除掉。從某種意義上説,沒有操作系統的計算機(裸機)是沒有用的。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。

4、實時操作系統的優缺點

在嵌入式實時操作系統環境下開發實時應用程序使程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式實時操作系統使得系統資源得到更好的利用。