1. T.Srikrishna M.Tech,GVP
DEVELOPMENT TOOLS FOR MICROCONTROLLERS
Development Flow
Many development tool chains are available for ARM microcontrollers. The majority of
them support C and assembly language. Embedded projects can be developed in
either C or assembly language, or a mixture of both. In most cases, the program-
generation flow can be summarized in a diagram.
Software Development Tools
Software development tools are computer programs, and they usually run on personal
computers, helping the programmer to create or modify or test application programs.
Some common software development tools are
Text Editors
A text editor is a program that allows us to create or edit programs and text files.
Windows operating system has a text editor program called Notepad.
Using Notepad, we can create a new program file, modify an existing file, or display
or print the contents of a file.
Assemblers
Assemblers generate executable code from assembly language programs, and that
generated code can then be loaded into the program memory of microcontroller.
2. T.Srikrishna M.Tech,GVP
Assembly language is used in applications where the processing speed is very
critical
The main disadvantage of assembly language is that it is difficult to develop complex
programs using it.
Compilers
Similarly, compilers generate executable code from high-level language programs.
High-level languages, on the other hand, are easier to learn, and complex programs
can be developed and tested in a much shorter time.
Keil C51 is a popular compiler that creates apps for 8051 microcontrollers and
translates source code written in the C language
Simulators
A simulator is a computer program that runs on a PC without any microcontroller
hardware.
Simulators can display the contents of registers, memory, and the status of input–
output ports of the target microcontroller as the user program is interpreted. The user
can set breakpoints to stop the execution of the program at desired locations and then
examine the contents of various registers at the breakpoint.
.Debugger
This is a critical tool for testing. It goes through the code and eliminates bugs and
errors, notifying places where they occur. Precisely, debuggers pinpoint the lines
where issues are found, so programmers can address them quickly..
Linker
Traditionally, code is written into small pieces and modules. A linker is a tool that
combines all these pieces together, creating a single executable program. GNU ld is
one of the linker tools
Integrated Development Environment (IDE)
All the above-mentioned tools are needed for creating your embedded software. But
it would be extremely inconvenient to use them separately.
IDE is software that provides a set of necessary tools in one package.