Intermec ck1 Reference Guide
Appendix A —
µClinux System
CK1 SDK Programmer’s Reference Manual
309
The version of
µClinux development tool is arm-ELF-DATE toolchain,
which can compile several different types of binaries. These tools provide a
foundation for the development and can be obtained as a pre-build binary
tool package or compiled by the developer by patching the GNU tools and
then compiling them with arm-ELF option. The whole toolchain includes
the following components.
foundation for the development and can be obtained as a pre-build binary
tool package or compiled by the developer by patching the GNU tools and
then compiling them with arm-ELF option. The whole toolchain includes
the following components.
Toolchain Components
Component
Description
binutils
A collection of binary tools (ld, as, etc.). Based on the GNU binutils-
2.10.
2.10.
gcc
C/C++ compiler. Based on GNU gcc-2.95.3.
elf2flt
An ELF to flat converter.
genromfs
Tool for creating romfs images. Based on sourceforges romfs project,
genromfs-0.5.1.
genromfs-0.5.1.
By default the script used to install these tools installs them to /usr/local
directory. If the tools are built from scratch, all the tools have to be
patched and configured in order to get them to work with the
directory. If the tools are built from scratch, all the tools have to be
patched and configured in order to get them to work with the
µClinux
kernel.
The important issue when developing code is the ability to track down the
instances that might affect application execution. Under the
instances that might affect application execution. Under the
µClinux two
different kinds of debugging are required, one for the kernel source code
and another for the user applications. For this,
and another for the user applications. For this,
µClinux provides the
ability to use GNU debugger (GDB), which allows you to debug programs
written in C, C++, and with some other languages. The GDB has a
number of patches available for
written in C, C++, and with some other languages. The GDB has a
number of patches available for
µClinux and ARM processors.
For other general developing, debugging tools that Linux provides are
normal print commands included to the source code and a command
called strace, which allows you to trace the system calls and signals when
programming is executed under this command.
normal print commands included to the source code and a command
called strace, which allows you to trace the system calls and signals when
programming is executed under this command.
Runtime Linker and Loader
At the runtime, loaders and linkers are the ones responsible for running
the applications. They also attach the abstract names for the programmer’s
point of view to more reasonable ones. In systems with MMU, the
applications can use the advantage of virtual memory and so the
instructions and the read-only data can be shared among the applications.
Without MMU, the flat memory model makes it necessary for the
application to be assigned with memory allocation different at each
runtime. The linker and loader locate the application and install it to the
system memory space in such a way that they can work from the place that
they are installed in.
the applications. They also attach the abstract names for the programmer’s
point of view to more reasonable ones. In systems with MMU, the
applications can use the advantage of virtual memory and so the
instructions and the read-only data can be shared among the applications.
Without MMU, the flat memory model makes it necessary for the
application to be assigned with memory allocation different at each
runtime. The linker and loader locate the application and install it to the
system memory space in such a way that they can work from the place that
they are installed in.