Programmers and debuggers, what they are and why they are needed, not everyone knows. At present, it is difficult to imagine the existence of a person without electrical appliances, some of which have microprocessors that require certain maintenance. Devices such as programmers and debuggers are one of those that are just designed to keep track of the clarity of their work.
Content
A device designed to read (collect) data and write (firmware) them to a storage device is called a programmer.For radio amateurs, a standard device connected to a serial or parallel port is suitable. It is ideal if you need to program the microcontroller once. Also, thanks to such a device, it is possible to load programs that have hex format into most AVR microcontrollers in a fairly short time.
The device is connected to the PC using special software that transfers the computer firmware to the programmer, and it writes it to the memory of the microcircuit. Programmers are connected in several ways, but the main one is the one that is carried out using the USB port.
Devices for reading and writing data can be classified according to some characteristics such as:
According to the connection of microcircuits, devices are divided into:
When choosing a device with a parallel connection, you should pay attention to the connector in which the microcircuit is placed. It should be of good quality, it is best if the model is equipped with a collet connector or one with a movable bar (ZIF connectors). Expensive models are equipped with connectors suitable for different cases. Cheap ones equipped with a one-time connection will quickly fail.
In-circuit devices are only suitable for chips that support in-circuit programming. Thus, it is possible to flash the microcircuit without removing it from the device itself.
All software products undergo rigorous testing during the development period, undergoing a number of updates, fixing various kinds of problems and undergoing full maintenance in the process in order to avoid future problems in use.Large programs, consisting of a large number of lines of source code, are divided into small components, which are first checked individually, and only then in the aggregate.
So what is a debugger? This is a module or application designed to find errors in programs. The debugger or the so-called debugger makes it possible to trace step by step, monitor, change and set the value of variables, set and remove breakpoints and stop conditions during program execution, and much more. Device operation includes interactive debugging, control flow analysis, log file analysis, application and system level monitoring, and unit and interactive testing.
The debugger not only checks and detects code errors, but also fixes them, thus ensuring that applications work correctly. The debugging process starts from the moment the code is written and continues at all subsequent stages, since the code is interconnected with the rest of the modules necessary to create a software product. When checking large programs with many lines of code, the debugging procedure is done in a more simplified way, using unit tests, code reviews and pair programming.
When buying a programmer, you should consider some points that will help you choose the right device:
And of course it is important to choose a manufacturer with a good reputation. This can be done by looking for reviews about the manufacturer on the Internet and get acquainted with the data on how long the company has been producing programmers.
When choosing a debugger (debugger), the buyer should also pay attention to such items as:
In principle, the selection of this tool is carried out taking into account the same points as the programmer, but you should be aware that in most cases users will encounter a debugger in the form of a program. As a module, programmers with debugger functions come across.
The list of the best programmers is based on customer reviews, it includes universal models, narrow-profile, suitable for work, only with certain types of microcircuits that are installed, for example, in car keys and many others.
The AVR USBASP model belongs to the universal USB programmers, supports ten-pin flash microcontrollers with the ability to install an additional six-pin adapters. The device has two power options (5 and 3.3 volts), which are carried out through a special jumper. Despite the advantages of the device, its cost is affordable.
This model is presented in the form of a cable, on one side of which there is a flash drive, which is a debugger, with the help of which a radio station, such as Walkie-Talkie, is configured. The device allows you to select and assign to the keys of the radio stations those functions that are necessary, set the desired level of noise reduction, select the sound of the call and channel connections. The debugger is compatible not only with Turbosky products, but also synchronizes with station models that are coded using CTCSS, DCS codes.
High-speed Chinese programmer MiniPro TL866 is suitable for programming all modern Windows systems: 7, 8, 10, 32 and 64 bits. Using this model, it is possible to conduct a SRAM test, and the device also supports such chips as NAND Flash up to 8 Gbits. In addition, MiniPro TL866 is equipped with a number of additional features such as automatic search for bad pin contacts, output of a serial number and algorithm tests. The power consumption of microcircuits is minimal. With the help of DLL libraries, programmers are able to create all sorts of algorithms, they can even set unique codes that allow copyright protection for the device.
Another model of the USB programmer, produced in China, is characterized by high speed.The body of the device is equipped with indicator lights that show the power and the programming process. The device belongs to the universal and is suitable for the repair of household appliances and industrial equipment. After switching on, the device makes it possible to automatically check whether the MC complies with safety standards, and also allows you to download the necessary software. With a limitation, but USB EZP2019 allows you to check the integrity of the motherboard BIOS of a personal computer. The device operates at speeds up to 12 m/s, thus the driver installation period is significantly accelerated.
Model RT809F is designed to work with electronic computers and peripherals, and the device also supports electrically erasable reprogrammable ROM I2C EEPROM Memory and random access memory (RAM) DDR1/DDR2/DDR3. In addition, RT809F is compatible with MCU RTD2120, 93 MircroWire, Micom. WINBOND expands the capabilities of the device, thereby attracting the attention of people involved in repairs of various equipment (radio, TV technicians, etc.), regardless of their skill level. Considering the parameters of the model, we can say that it is one of the most profitable, since it combines low cost and wide compatibility with microcontrollers.
This section will present both devices with debugger functions and debugger programs that deal with the elimination of various kinds of errors that occur while writing codes. The list includes both budget and expensive types, but each of them, according to consumers, copes well with its tasks.
CH341A is a device designed for flashing SPI and EEPROM memory, endowed with a debugger function. The interface of the model is in Russian, which makes it easier to work with it, the device itself supports about 700 MK. The device is designed to work with microcontroller firmware, debug motherboards located in a PC and storage memory, as well as update the BIOS. For the stability of motherboards, the user can disable the default driver installation function and independently connect the desired version.
IDA Pro is both a disassembler and a debugger that allows you to turn binary code into assembler text used to analyze the program. This program is endowed with extensive features, which makes it popular among users who are professionally involved in the field of programming. So, among the abilities we can distinguish such as recognition of standard library functions (FLIRT technology), the presence of an open and modular architecture and the built-in IDC programming language, the ability to work with almost all common processors and file formats, and many others.Due to its capabilities, the device performs such functions as checking for various malware and viruses, finding and studying errors in the code, validating and optimizing programs.
The PADI SWD Debugger model belongs to programmer debuggers, the J-Link debugger from Segger was taken as the basis for the development. The device allows you to upload firmware in binary format, using special development tools to debug programs by stopping and step-by-step debugging. To connect to the PADI IoT Stamp, only two wires are used - Serial Wire Data and Serial Clock. The Reset cord does not require a mandatory connection. To support the work of the debugger, the standard J-Link software package and the IAR and Keil development environments are used. The device is suitable for debugging programs, for flashing into microcontrollers such as Cortex-M, to power PADI for a period while the device is being designed.
Debuggers (debuggers) and programmers are important tools when working with devices that have chips. Each of the tools is endowed with certain functions, on which their cost and purpose depend.