Intermec ck1 Reference Guide
Appendix A —
µClinux System
308
CK1 SDK Programmer’s Reference Manual
Hardware Dependency Under the
µClinux
As in Linux,
µClinux also provides support for different processors. In the
regular Linux kernel, the separation between hardware-dependent and
hardware-independent source codes are made as clear as possible, which is
also the case with the
hardware-independent source codes are made as clear as possible, which is
also the case with the
µClinux kernel. This makes the adding of a new
processor support a straight forward task. The kernel source tree includes
two folders that both arch and include directories hold the platform
dependent code under the specific files and folders. In
two folders that both arch and include directories hold the platform
dependent code under the specific files and folders. In
µClinux, there
exists also a specific vendor folder that holds building instructions on how
to create the model specific settings.
to create the model specific settings.
When adding a new vendor and board to the
µClinux distribution, the
developer has to make the kernel aware of the new option. The first step is
to modify the file Boards.mk under the /arch/PROCESSOR_TYPE
folder, in the CK1 case the armnommu. This file includes the definitions
for platforms and boards and needs the following lines.
to modify the file Boards.mk under the /arch/PROCESSOR_TYPE
folder, in the CK1 case the armnommu. This file includes the definitions
for platforms and boards and needs the following lines.
ifdef CONFIG_XXXX
BOARD := XXXX
endif
BOARD := XXXX
endif
Next, the file config.in should have the following lines, under the specific
processor option, to inform the configuration to notice the new option.
processor option, to inform the configuration to notice the new option.
if [ "$CONFIG_XXXX" = "y" ]; then
.....
bool 'XXXX XXXX Board support' CONFIG_XXXX
.....
bool 'XXXX XXXX Board support' CONFIG_XXXX
The platform folder in this same directory holds all the processor options
defined to this architecture. You need to create a model specific folder
under the processor model that includes the files crt0_ram.S and ram.ld,
which are the architecture specific.ld file and the startup C asm code. The
model for these files can be checked under the platforms with the same
processor. The last step is to create a branch under the vendor folder for
the product and the type of the created platform. This file contains the
files described earlier.
defined to this architecture. You need to create a model specific folder
under the processor model that includes the files crt0_ram.S and ram.ld,
which are the architecture specific.ld file and the startup C asm code. The
model for these files can be checked under the platforms with the same
processor. The last step is to create a branch under the vendor folder for
the product and the type of the created platform. This file contains the
files described earlier.
µClinux Toolchains
In order to build and compile applications for
µClinux or an image for
your system, a set of development tools has to be installed to host machine.
To set up a development environment for
To set up a development environment for
µClinux, the user has to set up
the kernel and libraries that are used when compiling the binary. In order
to compile
to compile
µClinux kernel, a set of development tools are required, which
provides a foundation for development. These tools are used for cross-
compiling the applications and the kernel to the target platform.
compiling the applications and the kernel to the target platform.