Development tools and debugging single-chip microcontroller
The main debugging tools include:
- in-circuit emulators.
- software simulators.
- development board (evaluation board).
- Displays debugging.
- ROM emulators.
This list does not exhaust all types of existing debugging tools. In addition to these, there are combo kits and devices that allow you to compensate for the disadvantages of fixed assets, taken separately.
In-circuit emulators.
Circuit emulator - a hardware and software tool that can replace the processor is emulated in real circuit. In-Circuit Emulator - is the most powerful and versatile debugging tool.
In fact, the "good" in-circuit emulator makes the process of debugging the operation of the controller clear, ie easily controlled, managed and arbitrarily modifiable at the will of the developer.
Functional in-circuit emulators are divided into docked with an external computer (usually it is IBM PC), and functioning independently. Stand-alone in-circuit emulators have individual computing resources, means of input-output is not required for its normal functioning connections with any other computing resources, but for a user to either have to pay significantly higher costs, or reduced functionality and service capabilities in comparison with similar models, docked with the IBM PC.
Typically, in-circuit emulator with a docking system is debugged using emulation emulation cable with a special head. Emulation of the microcontroller instead of the head is inserted in the system being debugged. If the microcontroller can not be removed from the system being debugged, the use of the emulator is only possible if the device has a debug mode in which all of his conclusions are in the third condition. In this case, to connect the emulator uses a special adapter, belt clip, which connects directly to the conclusions of the emulated microcontroller.
At a minimum, the emulator has the following functional blocks:
- debugger.
- host emulation of the microcontroller;
- emulation memory;
- subsystem of the breakpoints;
More advanced models may additionally contain:
- CPU breakpoint;
- tracer;
- profiler (performance analyzer software code);
- real-time clock;
- software and hardware, providing the ability to read and modify the emulated CPU resources "on the fly", ie during user program execution in real time;
- hardware and software that provide synchronous control needed to emulate in multiprocessor systems;
- integrated development environment
Debugger
The debugger is a bridge between the developer and debug tool. The composition and amount of information passing through the input-output, its availability to perceive, control, and, if necessary, to correct and modify - are directly dependent on the properties and quality of the debugger.
A good debugger allows you to:
- Download the program being debugged in the memory system.
- output to monitor the status and contents of all registers and memory, and, if necessary, modify them.
- process control simulation.
More powerful debuggers, usually referred to as higher-level (High-Level Debuggers), in addition, you can:
- to the symbolic debugging, due to the fact that the debugger "knows" the addresses of all character variables, arrays and structures (through the use of specific information supplied by the compiler). The user can operate more acceptable for a man character names, not bothering to remembering their addresses.
- monitor and analyze not only disassemble text and source code written in high level language, and even with his own commentary.
This debugger allows the user to simultaneously monitor the progress of the program and see the correspondence between source code, the programs in machine code, and the state of all the resources of the emulated microcontroller.
It should be noted that high-level debugger provides all of its functions only if you use a cross-compiler provides a complete and accurate debug information (not all compilers, especially their pirated versions, supplied this information) and that the format of its presentation should be " with a "debugger.
Emulation memory
The presence of emulation memory makes it possible to use it in the process of debugging instead of ROM in the target system, and furthermore, to debug a program without using a real system or its layout. If necessary, make changes to the program being debugged, it is enough to load a new or modified program to the memory of the emulator, rather than to engage in re-programming the ROM. There are models of emulators that allow the user to "expose" instead of the ROM emulation memory is not only entirely, but block by block (in some models, the minimum block size can be up to one byte), in the manner specified by the user. To do so, users simply specify the distribution of the data memory and program memory, according to which the processor will have access to content and the target system ROM, and the contents of the memory circuit emulation emulator. This memory is usually called memory with the possibility of mapping.
Tracer
In essence, the tracer is a logic analyzer that works synchronously with the processor running and fixing the flow of instructions and status of the selected external signals. There are models of in-circuit emulators that allow you to trace not only the external signals, but also the state of internal resources of the microcontroller, such as registers. These emulators use special versions of microcontrollers (emulation crystals).
CPU breakpoint
The processor allows the breakpoints to stop program execution, or to perform other actions such as start or stop the router, under the conditions specified by the user. In contrast to the conventional mechanism of breakpoints, breakpoint processor allows you to create and monitor the conditions of almost any complexity, and thus emulated the process is not derived from real-time.
The profiler
Profiler (otherwise the effectiveness of the program code analyzer), gives the results of running the program being debugged the following information:
- number of visits to different parts of the program;
- time spent in the various parts of the program.
Analysis of the statistical information provided by the profiler, you can easily identify "dead" or strained sections of programs, and as a result of optimizing the structure of the program being debugged.
Integrated development environment
The set of software tools that supports all phases of software development from writing source code to compile, and debug it, and provides a quick and easy interaction with other tools (software debugger and programmer-simulyatorm).
The presence of the shell program emulator built-in editor, project manager and internal control systems, can greatly facilitate the work of the developer, freeing it from many routine operations. For the developer the line between writing a program, its editing and debugging. The transition from editing the source code for debugging and back is "transparent" and synchronously with the activation of the windows, a project manager automatically starts the compilation as needed and activates the appropriate box of the user interface.
Equally easy is the transition to debug a project using an existing debugger, simulator, or to proceed to the "firmware" ROM-established program.
Some models of in-circuit emulators can provide users and other advanced features. Among them we mention one, although quite specific, but in some cases are of fundamental importance: the possibility of constructing mnogoemulyatornyh complexes required for debugging multiprocessor systems. A distinctive feature of this complex is the possibility of simultaneous control (with a computer) a few emulators.
In general, the various models of in-circuit emulators can provide the user the possibility to control and manage the operation of debugging devices, with various restrictions. For example it may be incorrect obrabatyvanie interrupts in single step mode, or a ban on the use of the serial port and so on. It is also necessary to remember that every real model emulator has its own set of supported compilers. Some firms are manufacturers emulators are deliberately to limit the number of supported compilers, in the first place it is typical for Western manufacturers. In these cases, the emulator can only use one character format.
Features of "real" in-circuit emulator for example, we illustrate the model PICE-51.
PICE-51
In-Circuit Emulator 8-bit microcontrollers 8051
PICE-51 - a new generation simulator, created by using new technologies for the development of hardware and software.

The use of high-capacity programmable matrices has allowed to reduce the size of the emulator without compromising its functionality, to minimize the deviation of electrical and frequency characteristics of the emulator on the characteristics of the emulated CPU and thus maximize the accuracy of simulation at frequencies up to 30 MHz at supply voltages from 3.3V to 5V.
Reboot the hardware structure of the emulator provides emulation of virtually all 8051 microcontrollers both domestic production and companies: Intel, Philips, Siemens, Atmel, Dallas, Temic, OKI, AMD, MHS, and others.
Powerful software interface among Windowsv, is an integrated development environment that supports all phases of software development from writing source code to compile, and debug it. The program focuses on support for the emulator to debug programs in a high-level source code.
The emulator consists of a main board size 80h76mm, replacement adapter for a particular processor emulation and replacement heads for a specific type of housing. On the main board are implemented: the tracer, the processor breakpoint. Fee includes a removable adapter emulates a processor for a specific type of microcontroller. Heads provide emulation emulator setup DIP and PLCC pads on the card user. Nutrition is an emulator of the power supply of +5 V, 0.5 A, or directly from the device being debugged. Communication with the computer - for galvanically isolated via RS-232C at a speed of 115 kbps ..
DATA EQUIPMENT
- Exact emulation - no restriction on the use of the user program of the microcontroller resources.
- Up to 256K emulated program and data memory. Support bankirovannoy memory model. The distribution of memory between the emulator and the user device with an accuracy up to 1 byte.
- Up to 512K hardware breakpoints on access to the program and data memory.
- Hardware support for debugging programs on high-level languages.
- Route 8 arbitrary external signals.
- 4 outputs synchronization equipment user.
- Trace the real-time with the buffer size of 16K to 64K frames by 64 bits of access "on the fly." Tracing the address, data, control signals, real time clock and 8 external signals the user.
- Programmable filter trace.
- Hardware breakpoints processor with the ability to specify complex break conditions to emulate the combination of signals address, data, control, 8 external signals, real time clock, event counters and the timer delay.
- Four complex breakpoints, which can be used independently or in combination under the terms of AND / OR / IF-THEN.
- 48-bit real time clock.
- Transparent emulation - access "on the fly" to the emulated memory, breakpoints, processor breakpoints, trace buffer, the real-time timer.
- Managed clock for the emulated processor. A smooth change in clock frequency from 500 kHz to 40 MHz.
- Galvanically isolated from the computer channel RS-232C with baud rate 115 kbaud.
- Built-in self-test hardware emulator.
CHARACTERISTICS OF THE SOFTWARE
- The software is aimed to work in an environment on IBM-Windowsv somestimyh computers with processors such as 386/486/Pentium;
- Built-in multi-editor designed for writing source programs. The editor supports operations with blocks of text, search / replace, syntax color highlighting of assembly language and C;
- Integrated Project Manager provides automatic compilation of programs. All options are set in dialogue form. The transition from editing the source code for debugging and back is "transparent", ie Project Manager automatically starts the compilation of the project, if necessary;
- PICE-51 allows symbolic debugging, and debugging of source code for programs created with the following compilers:
- ASM51 assembler firm Intel;
- MCA-51 assembler firms Fiton / microcosm;
- compiler PL / M firms Intel;
- assembler and C compiler company IAR Systems;
- assembler and C compiler company Avocet Systems Inc. / HiTech;
- assembler and C compiler firm Keil Software Inc.;
- Automatic saving and loading of configuration files, devices, interfaces, and debugging options. It is compatible configuration files from the simulator PDS-51. Portability of projects between the PICE-51 emulator and simulator PDS-51;
- Ability to customize colors, fonts and other settings for all windows at once for each window separately;
The emulator is provided with printed instruction manual and electronic context management, which are described in detail its principles of operation, the commands, menus, hot keys.
Block diagram of PICE-51 emulator

Be equipped with PICE-51 emulator
| Emulated microcontroller | Emulation of the internal program memory | Delivery | ||
| The main board | Replacement Adapter | Emulation head | ||
| Intel: 80C31/32, 80S51/52, 80L/C51FA, 80C51RA; Philips: 80S31/32, 80C51/52, 80C51FA; 80C51RA +, 80CL410, 80C524/528/550/652/654/575/576/851; Atmel: 89C51, 89C52, 89C55, 89S8252, 89S53; Siemens: SAB501/502/504/505/511/513; MHS: 80C31, 80C51, 80C32, 80C52, 80C154; Oki: 80C31, 80C51, 80C154; AMD: 80C31, 80C51, 80C52; | No | PICE-51 | POD-51-31 | ADP-51-DIP40 or ADP-51-LCC44 |
| Intel: 80C31/32, 8XS51/52/54/58, 8XL/C51FA/FB/FC, 8XC51RA/RB/RC; Philips: 80S31/32, 8XC51/52/54/58, 8XC51FA/FB/FC; 8XC51RA + / RB + / RC + / RD +, 8XC524/528/550/652/654/575/576/851; 89C535/536/538; Atmel: 89C51, 89C52, 89C55; Siemens SAB501; MHS: 80C31, 8XC51, 80C32, 8XC52, 8XC154; Oki: 80C31, 8XC51, 8XC154; AMD: 80C31, 8XC51, 8XC52; | 64K | PICE-51 | POD-51-RX | ADP-51-DIP40 or ADP-51-LCC44 |
| Atmel: 89C4051, 89C2051, 89C1051; | 4K | PICE-51 | POD-51-31 or POD-51-RX | ADP-51-2051 |
| Philips: 80C451, 80C453; 87C451, 87C453 | 64K | PICE-51 | POD-51-453 | ADP-51-LCC68 |
| Philips: 80C552, 80C562; 80C554 Philips: 80C552, 80C562; 80C554, 87C552, 87C562, 87C554 | No 64K | PICE-51 PICE-51 | POD-51-552 POD-51-554 | ADP-51-LCC68 ADP-51-LCC68 |
| Intel: 80C51GB | No | PICE-51 | POD-51-GB | ADP-51-LCC68 |
| Dallas: DS80C310, DS80C320, DS8XC520 | 64K | PICE-51 | POD-51-DS530 | ADP-51-DIP40 or ADP-51-LCC44 |
| Dallas: DS8XC530 | 64K | PICE-51 | POD-51-DS530 | ADP-51-DS530 |
Comparative characteristics of some emulators for the 8051 family of microcontrollers
| Model, the Supplier | EMUL-51 Nohau Corporation | USP-51 Signum Systems | iceMASTER-8051 MetaLink | PICE-5 Fiton1 |
| Emulated 8051 Microcontroller Family | All known species | All major types of | All major types of | All major types of |
| The maximum frequency of Emulation | 42 MHz | 40 MHz | 24 MHz | 33 MHz |
| The maximum amount of memory the emulated | 320K | 256K | 128K | 512K |
| Features reallocation between the emulator and the user device | 4K blocks | In blocks of 256 bytes | Blocks of 16 bytes | With accuracy up to 1 Byte |
| Trace buffer | Up to 16K frames by 48 bits | Up to 32K frames by 80 bits | Up to 4K frames of 48 bits | Up to 64K frames by 64 bits |
| Access "on the fly" to the emulated memory, and tracer | Yes | Yes | Yes | Yes |
| PC interface | Map to the ISA slot | RS-232C, up to 115 Kbaude | RS-232C, up to 115 Kbaude | Isolated RS-232C, up to 115 Kbaude |
| Construction and dimensions | Two cards in ISA format, cables, 2 meters, PODy | The case 260x260x64 mm, cable, POD | The case 178x140x25 mm, cable, POD | All emulator - in emulation head size 80x76x50 mm |
| The price for a comparable configuration includes: support for 80S51, 25 MHz, 128K RAM, 16K trace buffer volume freymovm | $ 5,200 (Nohau price list) | $ 5300 (Signum price list) | $ 4,000 (MetaLink price list) | $ 990 |
More information, as well as a demo version of the emulator, presented at the Website: http://www.phyton.ru
Of course, such a wide range of features that makes the circuit emulators the most powerful and versatile tool for debugging.
Simulations
Simulator - a software tool that can simulate the operation of the microcontroller and its memory. As a rule, the simulator contains in its composition:
- a debugger;
- model of CPU and memory.
More advanced simulators contain a model of integrated peripherals such as timers, ports, ADC, and system interrupts.
The simulator must be able to download the program files in all popular formats, as fully as possible to display information about the simulated microcontroller resources, as well as provide opportunities for the simulation run the downloaded program in different modes. In the process of debugging a model "performs" a program on the computer screen displays the current state of the model.
After downloading the program in the simulator, the user is able to run it step by step or continuous mode, set the conditional or unconditional breakpoints, control and freely modify the contents of memory locations and registers simulated microprocessor. With the simulator, you can quickly check the logic of the program, the correctness of arithmetic operations.
Depending on the class to use the debugger, simulators can support a variety of high-level symbolic debugging programs.
Some simulation models may contain a number of additional software, such as for example: the interface of the environment, integrated IDE.
In a real system, a microcontroller is usually responsible for reading information from the connected external devices (sensors), processes this information and issuing control actions on the actuators. To make the simulator interface to non-work environment to simulate the sensor, you must manually change the current state of the peripheral model, which in a real system sensor is connected. If, for example, when receiving bytes via the serial port of a box is cocked, and he gets to a certain byte of the register, both of these actions must be done in a simulator by hand. The presence of the interface environment allows the user to create and use a flexible model of the environment of the microcontroller, behave and interact with the program being debugged by a given algorithm. Features of "real" debugger, simulator, illustrated by the example of the model PDS-PIC.
PDS-PIC
Simulator debugger for developing and debugging programs on the basis of microcontrollers PIC16/PIC17.

PDS-PIC - a convenient and flexible tool for writing and debugging programs focused on PICmicro microcontroller company Microchip.
The simulator has:
- Built-in editor for writing multi-source programs. The editor supports operations with blocks of text, search / replace, syntax color highlighting assembly language;
- Built-in project manager, which supports automatic compilation of programs written for the PASM-PIC macro assembler firm Fiton MPASM macro assembler for the company Microchip.
- All options are specified as an assembler friendly conversations. The transition from editing the source code for debugging and back is "transparent", ie Project Manager automatically runs the assembler when needed;
- Ample opportunities for debugging programs: tracking of implementation of the program in its original text, view and change the values of any variables, built-in analyzer efficiency of code breakpoints on the condition and access to memory locations, view the call stack routines, built-in assembler, an accurate calculation of time intervals and much more;
- Ability to run the program "back" to a large number of steps, as well as in continuous mode. In this model the state of the microcontroller is fully restored;
- The exact model of the behavior of microcontrollers. Simulated operation of all the built-in microcontroller peripherals: timers, ADC, system interrupts, ports, etc.;
- The developed simulation tools, "the environment", ie devices connected to the microcontroller. You can easily set different periodic and aperiodic signals external to the microcontroller's legs, to simulate the work of the external logic. With built-in graphical display can visualize a variety of indicators, build schedules, simulate the keyboard;
- The system configuration window and save the settings. You can save and restore an unlimited number of configuration files;
- Ability to customize colors and fonts and other settings for all windows at once for each window separately;
- Context-sensitive help system. From any menu or dialog box, you can get help related to this menu, window or dialogue;
- PDS-PIC runs on Windowsv.
A more detailed features of the simulator are presented in the table, compiled from the results of a comparative analysis of two simulators: MPlabSIM-firm Microchip, and PDS-PIC - Fiton firm. The main features and differences MPlabSIM and PDS-PIC due to the fact that their design was used conceptually different user interfaces and environments for simulation.
| MPlabSIM | PDS-PIC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Management * | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Breakpoints | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The simulated events | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CPU | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Modeling of external influences | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Additional Features | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
* MPlabSIM use the menu as an add-on lowercase typing commands control the simulation process with the ability to memorize and perform linear sequences of commands. For example, to change the contents of the register must be made as follows:
- Choose from the menu section "WINDOWS" - select the menu option "MODIFY" - choose "what" (STACK, DATA or CODE) (in this case, "DATA") are going to change - to specify the address - to enter a new value - When you confirm it this in the window register dump halyard you will see the result of a change, but in the box, nothing will change (only via the menu - an analog of the command line).
Using the PDS-PIC, you can modify the value of ragistra pressing two keys. It is also simple to perform all other actions to debug the program.
For example, ** a package MPLAB-sim for 16c54, when run on the recommended configuration MICROCHIP P90/16RAM.
An obvious feature of the software simulation is the fact that the execution of the programs loaded into the simulator is a time scale different from the real. However, low price, the ability of debugging, even in the absence of a debugging device layout, make software simulations extremely effective means of debugging. Separately, it must be emphasized that there is a whole class of bugs that can only be detected by the simulator.
Debugging Monitor
Debug Monitor - A special program is loaded into memory debugging system. Она вынуждает процессор пользователя производить, кроме прикладной задачи, еще и отладочные функции:
- загрузку прикладных кодов пользователя в свободную от монитора память
- установку точек останова
- запуск и останов загруженной программы в реальном времени
- проход программы пользователя по шагам
- просмотр, редактирование содержимого памяти и управляющих регистров.
Программа монитора обязательно должна работать в связке с внешним компьютером или пассивным терминалом, на которых и происходит визуализация и управление процессом отладки. Повторим, что отладочные мониторы используют тот процессор, который уже стоит на плате пользователя. Достоинством этого подхода являются очень малые затраты при сохранении возможности вести отладку в реальном времени. Главным недостатком является отвлечение ресурсов микроконтроллера на отладочные и связные процедуры, например: монитор занимает некоторый объем памяти, прерывания, последовательный канал. Объем отвлекаемых ресурсов зависит от искусства разработчика монитора. В последнее время появились изделия, которые практически не занимают аппаратных ресурсов процессора, о них будет рассказано ниже, в разделе "Эмуляторы ПЗУ".
Платы Развития
Платы развития, или как принято их называть в зарубежной литературе - оценочные платы (Evaluation Boards), являются своеобразными конструкторами для макетирования прикладных систем. В последнее время, при выпуске новой модели кристалла микроконтроллера, фирма-производитель обязательно выпускает и соответствующую плату развития. Обычно это печатная плата с установленным на ней микроконтроллером, плюс вся необходимая ему стандартная обвязка. На этой плате также устанавливают схемы связи с внешним компьютером. Как правило, там же имеется свободное поле для монтажа прикладных схем пользователя. Иногда, имеется уже готовая разводка для установки дополнительных устройств, рекомендуемых фирмой. Например, ПЗУ, ОЗУ, ЖКИ-дисплей, клавиатура, АЦП и др. Кроме учебных или макетных целей, такие доработанные пользователем платы стало выгодно (экономия времени) использовать в качестве одноплатных контроллеров, встраиваемых в мало серийную продукцию (5..20 шт.).
Для большего удобства, платы развития комплектуются еще и простейшим средством отладки на базе монитора отладки. Однако, здесь проявились два разных подхода: один используется для микроконтроллеров, имеющих внешнюю шину, а второй - для микроконтроллеров, не имеющих внешней шины.
In the first case the debug monitor is supplied by the company as a ROM chip that is inserted into a special socket on the motherboard development. The board also has a memory for user programs and the link to an external computer or terminal. An example of this is the price of an Intel 8051 microcontroller.
In the second case, the motherboard has built-in circuit development program of internal ROM of the microcontroller, which are controlled by an external computer. In this case, the program simply monitors the microcontroller is stored in ROM in conjunction with the application user code. An application with a specially prepared to be: in its place insert the appropriate calls to the debug monitor routines. Then, a trial run. To make corrections to the program the user must erase the ROM and to re-record. The finished application program is obtained from well-functioning by removing all calls to monitor the functions of the monitor and debug. Examples include the fees of the firm for its PIC Microchip controllers. The same principle and board for debugging microcontroller 80S750 Philips or 89C2051 Atmel.
It is important to note that, plus the monitor, sometimes the development board equipped with more and debug programs that run on an external computer in conjunction with the monitor. This program has been notably more complex and are often highly skilled set of debugging functions, such as a debugger, simulator, or various elements inherent in a pure form of an integrated development environment. The composition of the supplied packages and programs may include an applied nature, the most frequently encountered in practice.
Opportunities for debugging provided a set of "fee, plus the development of the monitor" certainly not as versatile as possible in-circuit emulator, and some of the resources of the microprocessor in the process of debugging selected for the monitor. Nevertheless, the presence of a complete set of ready-made software and hardware tools to proceed without loss of time for installation and debugging of the application system, in many cases the decisive factor. Especially when you consider that the cost of this package is somewhat less than the cost of a universal emulator.
Emulators ROMs.
ROM emulator - a software and hardware allows, replace the ROM on the target board, and expand it to RAM, which can be downloaded the program from your PC via a standard communication channels. This device allows the user to avoid repeated cycles of re-programming the ROM. ROM emulator makes sense only for microcontrollers, which are able to access external program memory. This unit is comparable in complexity and cost of development boards. It has one big advantage: versatility. ROM emulator can work with all types of microcontrollers.
Early ROM emulators allow only download the program, run it and stop using a common reset. Then came the complicated model with a hardware signal trace on the elaboration of a certain address on an oscilloscope. Emulated memory in such products has been available for viewing and modification, but it is very important for the control of the internal control registers of the microcontroller was not possible until recently.
But there are models of intelligent ROM emulators that allow you to "peek" into the microcontroller on the board and the general user, the debug control, were similar to the in-circuit emulator. The company even provides a Cactus is actually an intelligent emulator ROMs, as in-circuit emulator series of microprocessors, so it is impossible to distinguish the work of both. In fact, the processor is not replaced, and used the one that stands by the board.
Intelligent ROM emulators are a hybrid of conventional emulator ROM monitor debugging and schemes to quickly switch from one bus to another. This creates an effect as if the debug monitor was installed on the user board, and it will not take no for microcontroller hardware resources, except for a small area of program steps, about 4K. For example, a device developed by "Fiton" for all current and future microcontrollers, which are the core of the 8051 but additionally saturated with a variety of input devices \ output. This device supports many different microcontrollers from Philips, Siemens, OKI.
The integrated development environment.
Strictly speaking, the integrated development environment does not relate to the number of debugging tools, yet ignore this class of software tools that greatly facilitates and accelerates the process of developing and debugging microprocessor systems would be wrong.
In the traditional approach, the initial stage of writing a program is constructed as follows:
- The source code is typed using a text editor. At the end of the set, working with a text editor stops and starts a cross compiler. As a rule, re-written program contains syntax errors, and the compiler will report them to the console operator.
- Again, start a text editor, and the operator must find and eliminate errors identified, and the message about the nature of errors derived by the compiler is no longer visible, because the screen is occupied with a text editor.
And this cycle can be repeated more than once. If the program is not too small and trivial, going from different parts, subject to editing or upgrading, even this initial step can require a lot of time and programmer, and significantly dampen the enthusiasm of the developer.
Avoid large amounts of routine and substantially increase the efficiency of the process development and debugging, enable emerging and is quickly gaining in popularity of so-called integrated environment (shell) development (Integrated Development Environment, IDE).
As a rule, "good" integrated environment allows you to combine under one wing of the available debugging tools (in-circuit emulator, a software simulator, programmer), and thus provides the programmer with the texts of the programs in the style of "turbo".
Working in an integrated environment allows the programmer:
- Ability to use a lot of built-in file editor, specially oriented to work with the program sources.
- Diagnostic errors discovered at compile time, and source code available to edit are displayed simultaneously in a multi-mode.
- Ability to organize and conduct parallel work on multiple projects. Project Manager allows you to use any project as a template for the newly created project. Options used by compilers and list of project source files are installed in the dialog menu and saved in the project, eliminating the need to work with cumbersome batch-files.
- Recompilation are only edit modules.
- Ability to download the program being debugged in the existing debugging tools, and work with them without leaving the shell.
- Ability to connect to almost any hull software.
In recent years, the functions of integrated development environments are accessory APIs most advanced emulators and debuggers, simulators. These features, combined with a friendly interface, is able to make life easier for developers and speed up its work.




|