EMBL01E-Module 4
EMBL01E-Module 4
Embedded Applications
Embedded Processor Market
Tied to Advances in Semiconductors
So there is a strong incentive to port your application, system, box to the “chip”
Trends in Embedded Systems
Increasing code size
average code size: 16-64KB in 1992, 64K-512KB in 1996
migration from hand (assembly) coding to high-level languages
Reuse of hardware and software components
processors (micro-controllers, DSPs)
software components (drivers)
Increasing integration and system complexity
integration of RF, DSP, network interfaces
32-bit processors, IO processors (I2O)
Run program
Step single instruction or single HLL statement
Trace execution
Monitor uP registers and memory contents
Disassemble machine code to assembly language
Watch variables (i.e. memory contents)
Breakpoints – stop execution
Advance breakpoints – conditional
Code coverage and performance analysis
Execute in realtime and capture information.
Types of Embedded Software
Development Tools
Editor
A text editor is the first tool you need to begin creating an embedded
system. It is used to write source code in programming languages C
and C++ and save this code as a text file.
A good example of a text editor is Geany. This is a small and
lightweight environment that uses the GTK+ toolkit. Geany supports
C, Java, PHP, HTML, Python, Perl, Pascal and other types of files.
Basic functions of Geany: Syntax highlighting, Code folding, Symbol
name auto-completion, Snippets, Auto-closing of XML and HTML
tags, Code navigation
Compiler
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.
A good debugger tool is IDA Pro that works on Linux, Windows and
Mac OS X operating systems. It has both free and commercial
versions and is highly popular among developers.
Linker
ARM Keil development tools provide a complete environment for creating embedded applications
for the widest range of ARM-based devices. The software package includes leading C/C++
compilers, simulation models, debuggers, linkers, assemblers, middleware libraries.
In addition, ARM Keil offers evaluation boards for the most popular devices based on Cortex and
ARM processors.
Advantages:
Easy to learn and use
Intuitive interface
Integration with third-party tools
Code templates
Example projects
Technical support by ARM experts
Suitable both for professionals and beginners
Embedded systems and IoT solutions are applied in numerous areas
and undoubtedly increase productivity and save expenses. At the same
time, they add complexity to processes and create additional challenges
for personnel.
There is no way to say which tool you should choose for creating
embedded software, since their number is enormous. We may say that
it all depends on the programmer’s skills and preferences, as well as on
the project needs.
Reference:
https://slideplayer.com/slide/5175993/
https://www.sam-solutions.com/blog/top-ten-embedded-
software-development-tools/
https://youtu.be/mve884mPysg