Glossary
Absolute SectionA section with a fixed (absolute) address that cannot be changed by the linker.
Access Memory (PIC18 Only)Special registers on PIC18XXXXX devices that allow access regardless of the setting of the bank select register (BSR).
AddressValue that identifies a location in memory.
Alphabetic CharacterAlphabetic characters are those characters that are letters of the arabic alphabet (a, b, ..., z, A, B, ..., Z).
AlphanumericAlphanumeric characters are comprised of alphabetic characters and decimal digits (0,1, ..., 9).
Anonymous StructureAn unnamed structure that is a member of a C union. The members of an anonymous structure may be accessed as if they were members of the enclosing union. For example, in the following code, hi and lo are members of an anonymous structure inside the union caster.
union castaway
int intval;
struct {
char lo; //accessible as caster.lo
char hi; //accessible as caster.hi
};
} caster;
ANSIAmerican National Standards Institute is an organization responsible for formulating and approving standards in the United States.
ApplicationA set of software and hardware that may be controlled by a PICmicro microcontroller.
ArchiveA collection of relocatable object modules. It is created by assembling multiple source files to object files, and then using the archiver to combine the object files into one library file. A library can be linked with object modules and other libraries to create executable code.
ArchiverA tool that creates and manipulates libraries.
ASCIIAmerican Standard Code for Information Interchange is a character set encoding that uses 7 binary digits to represent each character. It includes upper and lower case letters, digits, symbols and control characters.
AssemblerA language tool that translates assembly language source code into machine code.
Assembly LanguageA programming language that describes binary machine code in a symbolic form.
Assigned SectionA section which has been assigned to a target memory block in the linker command file.
Asynchronous EventsMultiple events that do not occur at the same time. This is generally used to refer to interrupts that may occur at any time during processor execution.
Asynchronous StimulusData generated to simulate external inputs to a simulator device.
BinaryThe base two numbering system that uses the digits 0-1. The right-most digit counts ones, the next counts multiples of 2, then 22 = 4, etc.
Breakpoint, HardwareAn event whose execution will cause a halt.
Breakpoint, SoftwareAn address where execution of the firmware will halt. Usually achieved by a special break instruction.
BuildCompile and link all the source files for an application.
CA general-purpose programming language which features economy of expression, modern control flow and data structures, and a rich set of operators.
Calibration MemoryA special function register or registers used to hold values for calibration of a PICmicro microcontroller on-board RC oscillator or other device peripherals.
Central Processing UnitThe part of a device that is responsible for fetching the correct instruction for execution, decoding that instruction, and then executing that instruction. When necessary, it works in conjunction with the arithmetic logic unit (ALU) to complete the execution of the instruction. It controls the program memory address bus, the data memory address bus, and accesses to the stack.
COFFCommon Object File Format. An object file of this format contains machine code, debugging and other information.
Command Line InterfaceA means of communication between a program and its user based solely on textual input and output.
CompilerA program that translates a source file written in a high-level language into machine code.
Conditional CompilationThe act of compiling a program fragment only if a certain constant expression, specified by a preprocessor directive, is true.
Configuration BitsSpecial-purpose bits programmed to set PICmicro microcontroller modes of operation. A configuration bit may or may not be preprogrammed.
Control DirectivesDirectives in assembly language code that cause code to be included or omitted based on the assembly-time value of a specified expression.
CPUSee Central Processing Unit.
Cross Reference FileA file that references a table of symbols and a list of files that references the symbol. If the symbol is defined, the first file listed is the location of the definition. The remaining files contain references to the symbol.
Data DirectivesData directives are those that control the assembler's allocation of program or data memory and provide a way to refer to data items symbolically; that is, by meaningful names.
Data MemoryOn Microchip MCU and DSC devices, data memory (RAM) is comprised of general purpose registers (GPRs) and special function registers (SFRs). Some devices also have EEPROM data memory.
Device ProgrammerA tool used to program electrically programmable semiconductor devices such as microcontrollers.
DirectivesStatements in source code that provide control of the language tool's operation.
DownloadDownload is the process of sending data from a host to another device, such as an emulator, programmer or target board.
EEPROMElectrically Erasable Programmable Read Only Memory. A special type of PROM that can be erased electrically. Data is written or erased one byte at a time. EEPROM retains its contents even when power is turned off.
EmulationThe process of executing software loaded into emulation memory as if it were firmware residing on a microcontroller device.
Emulation MemoryProgram memory contained within the emulator.
EmulatorHardware that performs emulation.
Emulator SystemThe MPLAB ICE 2000 and 4000 emulator systems include the pod, processor module, device adapter, cables, and MPLAB IDE software.
EndianessDescribes order of bytes in a multi-byte object.
EPROMErasable Programmable Read Only Memory. A programmable read-only memory that can be erased usually by exposure to ultraviolet radiation.
Error FileA file containing error messages and diagnostics generated by a language tool.
EventA description of a bus cycle which may include address, data, pass count, external input, cycle type (fetch, R/W), and time stamp. Events are used to describe triggers, breakpoints and interrupts.
ExportSend data out of the MPLAB IDE in a standardized format.
Extended Microcontroller ModeIn extended microcontroller mode, on-chip program memory as well as external memory is available. Execution automatically switches to external if the program memory address is greater than the internal memory space of the PIC17CXXX or PIC18CXXX device.
External LabelA label that has external linkage.
External LinkageA function or variable has external linkage if it can be referenced from outside the module in which it is defined.
External SymbolA symbol for an identifier which has external linkage. This may be a reference or a definition.
External Symbol ResolutionA process performed by the linker in which external symbol definitions from all input modules are collected in an attempt to resolve all external symbol references. Any external symbol references which do not have a corresponding definition cause a linker error to be reported.
External Input LineAn external input signal logic probe line (TRIGIN) for setting an event based upon external signals.
External RAMOff-chip Read/Write memory.
File RegistersOn-chip data memory, including general purpose registers (GPRs) and special function registers (SFRs).
FlashA type of EEPROM where data is written or erased in blocks instead of bytes.
FNOPForced No Operation. A forced NOP cycle is the second cycle of a two-cycle instruction. Since the PICmicro microcontroller architecture is pipelined, it prefetches the next instruction in the physical address space while it is executing the current instruction. However, if the current instruction changes the program counter, this prefetched instruction is explicitly ignored, causing a forced NOP cycle.
Frame PointerA pointer that references the location on the stack that separates the stack-based arguments from the stack-based local variables. Provides a convenient base from which to access local variables and other values for the current function.
Free-StandingA C compiler implementation that accepts any strictly conforming program that does not use complex types and in which the use of the features specified in the ISO library clause is confined to the contents of the standard headers
<float.h>
,<iso646.h>
,<limits.h>
,<stddef.h>
, and<stdint.h>
.GPRGeneral Purpose Register. The portion of device data memory (RAM) avaliable for general use.
HaltA stop of program execution. Executing Halt is the same as stopping at a breakpoint.
HEX CodeExecutable instructions stored in a hexadecimal format code. HEX code is contained in a HEX file.
HEX FileAn ASCII file containing hexadecimal addresses and values (HEX code) suitable for programming a device.
HexadecimalThe base 16 numbering system that uses the digits 0-9 plus the letters A-F (or a-f). The digits A-F represent hexadecimal digits with values of (decimal) 10 to 15. The right-most digit counts ones, the next counts multiples of 16, then 162 = 256, etc.
High Level LanguageA language for writing programs that is further removed from the processor than assembly.
ICDIn-Circuit Debugger. MPLAB ICD and MPLAB ICD 2 are Microchip's in-circuit debuggers for PIC16F87X and PIC18FXXX devices, respectively. These ICDs work with MPLAB IDE.
ICEIn-Circuit Emulator. MPLAB ICE 2000 and 4000 are Microchip's in-circuit emulators that work with MPLAB IDE.
IDEIntegrated Development Environment. MPLAB IDE is Microchip's integrated development environment.
IEEEInstitute of Electrical and Electronics Engineers.
ImportBring data into the MPLAB IDE from an outside source, such as from a HEX file.
Instruction SetThe collection of machine language instructions that a particular processor understands.
InstructionsA sequence of bits that tells a central processing unit to perform a particular operation and can contain data to be used in the operation.
Internal LinkageA function or variable has internal linkage if it can not be accessed from outside the module in which it is defined.
International Organization for StandardizationAn organization that sets standards in many businesses and technologies, including computing and communications.
InterruptA signal to the CPU that suspends the execution of a running application and transfers control to an Interrupt Service Routine (ISR) so that the event may be processed.
Interrupt HandlerA routine that processes special code when an interrupt occurs.
Interrupt RequestAn event which causes the processor to temporarily suspend normal instruction execution and to start executing an interrupt handler routine. Some processors have several interrupt request events allowing different priority interrupts.
Interrupt Service RoutineA function that is invoked when an interrupt occurs.
Interrupt Service RoutineUser-generated code that is entered when an interrupt occurs. The location of the code in program memory will usually depend on the type of interrupt that has occurred.
IRQSee Interrupt Request.
ISOSee International Organization for Standardization.
ISRSee Interrupt Service Routine.
LatencyThe time between an event and its response.
LibrarianSee Archiver.
LibrarySee Archive.
LinkerA language tool that combines object files and libraries to create executable code, resolving references from one module to another.
Linker Script FilesLinker script files are the command files of a linker. They define linker options and describe available memory on the target platform.
Listing DirectivesListing directives are those directives that control the assembler listing file format. They allow the specification of titles, pagination and other listing control.
Listing FileA listing file is an ASCII text file that shows the machine code generated for each C source statement, assembly instruction, assembler directive, or macro encountered in a source file.
Little EndianessA data ordering scheme for multibyte data whereby the least significant byte is stored at the lower addresses.
Local LabelA local label is one that is defined inside a macro with the LOCAL directive. These labels are particular to a given instance of a macro's instantiation. In other words, the symbols and labels that are declared as local are no longer accessible after the ENDM macro is encountered.
Logic ProbesUp to 14 logic probes can be connected to some Microchip emulators. The logic probes provide external trace inputs, trigger output signal, +5V, and a common ground.
Machine CodeThe representation of a computer program that is actually read and interpreted by the processor. A program in binary machine code consists of a sequence of machine instructions (possibly interspersed with data). The collection of all possible instructions for a particular processor is known as its "instruction set".
Machine LanguageA set of instructions for a specific central processing unit, designed to be usable by a processor without being translated.
MacroMacroinstruction. An instruction that represents a sequence of instructions in abbreviated form.
Macro DirectivesDirectives that control the execution and data allocation within macro body definitions.
Make ProjectA command that rebuilds an application, re-compiling only those source files that have changed since the last complete compilation.
MCUMicrocontroller Unit. An abbreviation for microcontroller. Also uC.
Memory ModelsVersions of libraries and/or precompiled object files based on a device's memory (RAM/ROM) size and structure.
Memory ModelsA description that specifies the size of pointers that point to program memory.
MessageText displayed to alert you to potential problems in language tool operation. A message will not stop operation.
MicrocontrollerA highly integrated chip that contains a CPU, RAM, program memory, I/O ports, and timers.
Microcontroller ModeOne of the possible program memory configurations of the PIC17CXXX and PIC18CXXX families of microcontrollers. In microcontroller mode, only internal execution is allowed. Thus, only the on-chip program memory is available in microcontroller mode.
Microprocessor ModeOne of the possible program memory configurations of the PIC17CXXX and PIC18CXXX families of microcontrollers. In microprocessor mode, the on-chip program memory is not used. The entire program memory is mapped externally.
MnemonicsText instructions that can be translated directly into machine code. Also referred to as Opcodes.
MPASM AssemblerMicrochip Technology's relocatable macro assembler for PICmicro microcontroller devices, KeeLoq devices and Microchip memory devices.
MPLAB ASM30Microchip's relocatable macro assembler for dsPIC30F digitial signal controller devices.
MPLAB C1XRefers to both the MPLAB C17 and MPLAB C18 C compilers from Microchip. MPLAB C17 is the C compiler for PIC17CXXX devices and MPLAB C18 is the C compiler for PIC18CXXX and PIC18FXXXX devices.
MPLAB C30Microchip's C compiler for dsPIC30F digitial signal controller devices.
MPLAB ICD 2Microchip's in-circuit debugger for PIC16F87X, PIC18FXXX and dsPIC30FXXXX devices. The ICD works with MPLAB IDE. The main component of each ICD is the module. A complete system consists of a module, header, demo board, cables, and MPLAB IDE Software.
MPLAB ICE 2000Microchip's in-circuit emulator for PICmicro MCU's that works with MPLAB IDE.
MPLAB ICE 4000Microchip's in-circuit emulator for dsPIC DSC's that works with MPLAB IDE.
MPLAB IDEMicrochip's Integrated Development Environment.
MPLAB LIB30MPLAB LIB30 archiver/librarian is an object librarian for use with COFF object modules created using either MPLAB ASM30 or MPLAB C30 C compiler.
MPLAB LINK30MPLAB LINK30 is an object linker for the Microchip MPLAB ASM30 assembler and the Microchip MPLAB C30 C compiler.
MPLAB SIMMicrochip's simulator that works with MPLAB IDE in support of PICmicro MCU devices.
MPLAB SIM30Microchip's simulator that works with MPLAB IDE in support of dsPIC DSC devices.
MPLIB Object LibrarianMPLIB librarian is an object librarian for use with COFF object modules created using either MPASM assembler (mpasm or mpasmwin v2.0) or MPLAB C1X C compilers.
MPLINK Object LinkerMPLINK linker is an object linker for the Microchip MPASM assembler and the Microchip MPLAB C17 or C18 C compilers. MPLINK linker also may be used with the Microchip MPLIB librarian. MPLINK linker is designed to be used with MPLAB IDE, though it does not have to be.
MRUMost Recently Used. Refers to files and windows available to be selected from MPLAB IDE main pull down menus.
Nesting DepthThe maximum level to which macros can include other macros.
NodeMPLAB IDE project component.
Non Real-TimeRefers to the processor at a breakpoint or executing single step instructions or MPLAB IDE being run in simulator mode.
Non-Volatile StorageA storage device whose contents are preserved when its power is off.
NOPNo Operation. An instruction that has no effect when executed except to advance the program counter.
Object CodeThe machine code generated by an assembler or compiler.
Object FileA file containing machine code and possibly debug information. It may be immediately executable or it may be relocatable, requiring linking with other object files, e.g. libraries, to produce a complete executable program.
Object File DirectivesDirectives that are used only when creating an object file.
OctalThe base 8 number system that only uses the digits 0-7. The right-most digit counts ones, the next digit counts multiples of 8, then 8^2 = 64, etc.
Off-Chip MemoryOff-chip memory refers to the memory selection option for the PIC17CXXX or PIC18CXXX device where memory may reside on the target board, or where all program memory may be supplied by the Emulator. The Memory tab accessed from Options > Development Mode provides the Off-Chip Memory selection dialog box.
OpcodesOperational Codes. See Mnemonics.
OperatorsSymbols, like the plus sign `+' and the minus sign `-', that are used when forming well-defined expressions. Each operator has an assigned precedence that is used to determine order of evaluation.
OTPOne Time Programmable. EPROM devices that are not in windowed packages. Since EPROM needs ultraviolet light to erase its memory, only windowed devices are erasable.
Pass CounterA counter that decrements each time an event (such as the execution of an instruction at a particular address) occurs. When the pass count value reaches zero, the event is satisfied. You can assign the Pass Counter to break and trace logic, and to any sequential event in the complex trigger dialog.
PCPersonal Computer or Program Counter.
PC HostAny IBM™ or compatible personal computer running a supported Windows operating system.
PICmicro MCUsPICmicro microcontrollers (MCUs) refers to all Microchip microcontroller families.
PICSTART PlusA developmental device programmer from Microchip. Programs 8-, 14-, 28-, and 40-pin PICmicro microcontrollers. Must be used with MPLAB IDE Software.
Pod, EmulatorThe external emulator box that contains emulation memory, trace memory, event and cycle timers, and trace/breakpoint logic.
Power-on-Reset EmulationA software randomization process that writes random values in data RAM areas to simulate uninitialized values in RAM upon initial power application.
PragmaA directive that has meaning to a specific compiler. Often a pragma is used to convey implementation-defined information to the compiler. MPLAB C30 uses attributes to convey this information.
PRO MATE IIA device programmer from Microchip. Programs all PICmicro microcontrollers and most memory and Keeloq devices. Can be used with MPLAB IDE or stand-alone.
Program CounterThe location that contains the address of the instruction that is currently executing.
Program MemoryThe memory area in a device where instructions are stored. Also, the memory in the emulator or simulator containing the downloaded target application firmware.
ProjectA set of source files and instructions to build the object and executable code for an application.
Prototype SystemA term referring to a user's target application, or target board.
PWM SignalsPulse Width Modulation Signals. Certain PICmicro MCU devices have a PWM peripheral.
QualifierAn address or an address range used by the Pass Counter or as an event before another operation in a complex trigger.
RadixThe number base, HEX, or decimal, used in specifying an address.
RAMRandom Access Memory (Data Memory). Memory in which information can be accessed in any order.
Raw DataThe binary representation of code or data associated with a section.
Real-TimeWhen released from the halt state in the emulator or MPLAB ICD mode, the processor runs in real-time mode and behaves exactly as the normal chip would behave. In real-time mode, the real-time trace buffer of MPLAB ICE is enabled and constantly captures all selected cycles, and all break logic is enabled. In the emulator or MPLAB ICD, the processor executes in real-time until a valid breakpoint causes a halt, or until the user halts the emulator. In the simulator real-time simply means execution of the microcontroller instructions as fast as they can be simulated by the host CPU.
Recursive CallsA function that calls itself, either directly or indirectly.
RecursionThe concept that a function or macro, having been defined, can call itself. Great care should be taken when writing recursive macros; it is easy to get caught in an infinite loop where there will be no exit from the recursion.
ReentrantA function that may have multiple, simultaneously active instances. This may happen due to either direct or indirect recursion or through execution during interrupt processing.
RelocatableAn object file whose sections have not been assigned to a fixed location in memory.
ROMRead Only Memory (Program Memory). Memory that cannot be modified.
RunThe command that releases the emulator from halt, allowing it to run the application code and change or respond to I/O in real time.
Runtime ModelDescribes the use of target architecture resources.
SectionA named sequence of code or data.
Section AttributeA characteristic ascribed to a section (e.g., an access section).
SFRSee Special Function Registers.
ShellThe MPASM assembler shell is a prompted input interface to the macro assembler. There are two MPASM assembler shells: one for the DOS version and one for the Windows version.
SimulatorA software program that models the operation of devices.
Single StepThis command steps though code, one instruction at a time. After each instruction, MPLAB IDE updates register windows, watch variables, and status displays so you can analyze and debug instruction execution. You can also single step C compiler source code, but instead of executing single instructions, MPLAB IDE will execute all assembly level instructions generated by the line of the high level C statement.
SkewThe information associated with the execution of an instruction appears on the processor bus at different times. For example, the executed Opcodes appears on the bus as a fetch during the execution of the previous instruction, the source data address and value and the destination data address appear when the Opcodes is actually executed, and the destination data value appears when the next instruction is executed. The trace buffer captures the information that is on the bus at one instance. Therefore, one trace buffer entry will contain execution information for three instructions. The number of captured cycles from one piece of information to another for a single instruction execution is referred to as the skew.
SkidWhen a hardware breakpoint is used to halt the processor, one or more additional instructions may be executed before the processor halts. The number of extra instructions executed after the intended breakpoint is referred to as the skid.
Source CodeThe form in which a computer program is written by the programmer. Source code is written in some formal programming language which can be translated into or machine code or executed by an interpreter.
Source FileAn ASCII text file containing source code.
Special Function RegistersThe portion of data memory (RAM) dedicated to registers that control I/O processor functions, I/O status, timers, or other modes or peripherals.
Stack, HardwareLocations in PICmicro microcontroller where the return address is stored when a function call is made.
Stack, SoftwareMemory used by an application for storing return addresses, function parameters, and local variables. This memory is typically managed by the compiler when developing code in a high-level language.
Static RAM or SRAMStatic Random Access Memory. Program memory you can Read/Write on the target board that does not need refreshing frequently.
Status BarThe Status Bar is located on the bottom of the MPLAB IDE window and indicates such current information as cursor position, development mode and device, and active tool bar.
Step IntoThis command is the same as Single Step. Step Into (as opposed to Step Over) follows a CALL instruction into a subroutine.
Step OverStep Over allows you to debug code without stepping into subroutines. When stepping over a CALL instruction, the next breakpoint will be set at the instruction after the CALL. If for some reason the subroutine gets into an endless loop or does not return properly, the next breakpoint will never be reached. The Step Over command is the same as Single Step except for its handling of CALL instructions.
StimulusInput to the simulator, i.e., data generated to exercise the response of simulation to external signals. Often the data is put into the form of a list of actions in a text file. Stimulus may be asynchronous, synchronous (pin), clocked and register.
StopwatchA counter for measuring execution cycles.
Storage ClassDetermines the lifetime of an object.
Storage QualifierIndicates special properties of an object (e.g.,
volitile
).SymbolA symbol is a general purpose mechanism for describing the various pieces which comprise a program. These pieces include function names, variable names, section names, file names, struct/enum/union tag names, etc. Symbols in MPLAB IDE refer mainly to variable names, function names and assembly labels. The value of a symbol after linking is its value in memory.
System Window ControlThe system window control is located in the upper left corner of windows and some dialogs. Clicking on this control usually pops up a menu that has the items "Minimize," "Maximize," and "Close."
TargetRefers to user hardware.
Target ApplicationSoftware residing on the target board.
Target BoardThe circuitry and programmable device that makes up the target application.
Target ProcessorThe microcontroller device on the target application board.
TemplateLines of text that you build for inserting into your files at a later time. The MPLAB Editor stores templates in template files.
Tool BarA row or column of icons that you can click on to execute MPLAB IDE functions.
TraceAn emulator or simulator function that logs program execution. The emulator logs program execution into its trace buffer which is uploaded to MPLAB IDE's trace window.
Trace MemoryTrace memory contained within the emulator. Trace memory is sometimes called the trace buffer.
Trigger OutputTrigger output refers to an emulator output signal that can be generated at any address or address range, and is independent of the trace and breakpoint settings. Any number of trigger output points can be set.
Uninitialized DataData which is defined without an initial value. In C,
int myVar;
defines a variable which will reside in an uninitialized data section.
UploadThe Upload function transfers data from a tool, such as an emulator or programmer, to the host PC or from the target board to the emulator.
VectorThe memory locations from which an application starts execution when a specific event occurs, such as a reset or interrupt.
WarningAn alert that is provided to warn you of a situation that would cause physical damage to a device, software file, or equipment.
Watch VariableA variable that you may monitor during a debugging session in a watch window.
Watch WindowWatch windows contain a list of watch variables that are updated at each breakpoint.
Watchdog TimerA timer on a PICmicro microcontroller that resets the processor after a selectable length of time. The WDT is enabled or disabled and set up using configuration bits.
WDTSee Watchdog Timer.
Microchip Technology Inc. Microchip's Web Site Voice: (480) 792-7200 Fax: (480) 899-9210 Microchip's E-mail Address |