Software development tools are computer programs typically run on PCs that allow the programmer or system developer to create, modify and test applications programs. Some of the common software development tools include:
Contents
A text editor is usually used to create or edit programs and text files. The Windows OS comes with a text editor program called Notepad. Using a Notepad, you can create a new program file, modify an existing file, or display or print the contents of a file. Note that, you can’t use word processing programs like Microsoft Word for this task, since they embed word formatting characters like bold, italic and underline within the text.
Most of the assemblers and compilers you will come across have in-built text editors, making it possible to create a program and then assemble or compile it without having to exit the editor. These editors offer additional features, such as automatic keyword highlighting, syntax checking, parenthesis matching, and comment line identification. You can have different parts of a program shown in different colours to make the program more readable such as comments in one color and keywords in another. Such features assist in removing syntax errors during the programming stage, thus speeding up the development process.
Assemblers generate executable code from assembly language programs. The generated code can then be loaded into the flash program memory of say a PIC18-based microcontroller. Compilers generate executable code from high-level language programs. Examples of C compilers are:
Assembly language is typically used in applications where the processing speed is critical and the microcontroller must respond to external and internal events in the shortest possible time. Nevertheless, it is hard to develop complex programs using assembly language, furthermore, assembly language aren’t easy to maintain.
Even though most C compilers are essentially the same, each one has its own modifications or additions to the standard language.
A simulator is a computer program that runs on a PC without the microcontroller hardware. It simulates the behaviour of the target microcontroller by interpreting the user program instructions using the microcontroller instruction set. Simulators can display the contents of registers, memory and the status of the input-output ports as the user program is interpreted.
The user can setup breakpoints to stop the program and check the contents of various registers at desired locations. Additionally, the user program can be executed in a single-step mode, so the memory and registers can be examined as the program executes one instruction at a time as a key is pressed.
Some assembler programs contain in-built simulators. MPLAB IDE has in-built simulator.
High-level language simulators, also referred to as source-level debuggers, are programs that run on a PC and locate errors in high-level programs. The programmer can set breakpoints in high-level statements, execute the program up to a breakpoint and then view the values of program variables, the contents of registers, and memory locations at that breakpoint.
A source-level debugger can also invoke hardware-based debugging using a hardware debugger device. For instance, the user program on the target microcontroller can be stopped and the values of various variables and registers can be examined.
An example of high-level language compiler that has in-built source-level debugger is mikroC C.
The integrated development environments (IDEs) are powerful PC-based programs that enable the user to edit, assemble, compile, link, simulate, source-level debug a program and then download the generated executable code to the physical microcontroller chip using a programmer device.
IDEs are usually in graphical user interface (GUIs), where the user can select various options from the program without having to exit it as illustrated in the figure above.
Related articles:
The world of electronics is constantly evolving, allowing designers and manufacturers to push the boundaries…
PIC microcontrollers are fabricated by Microchip Technology. PIC16C84 and PIC16F84 are the two microcontrollers in…
The ADD instruction tells the microcontroller’s CPU to add the source byte to register A…
8-bit microprocessors are limited in their speed (the number of instructions that can be executed…
The 68HC11 (also abbreviated as 6811 or HC11) is an 8-bit microcontroller that was introduced…
Mutual exclusion typically imposes some conditions on access to a given resource by two or…