當前位置:才華齋>IT認證>嵌入式>

嵌入式系統常用術語

嵌入式 閱讀(1.04W)

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

嵌入式系統常用術語

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、實時作業系統的優缺點

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