Intermec ck1 Reference Guide

Page of 390
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 
µ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 
µClinux, there 
exists also a specific vendor folder that holds building instructions on how 
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. 
ifdef CONFIG_XXXX 
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. 
if [ "$CONFIG_XXXX" = "y" ]; then 
..... 
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. 
µ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 
µClinux, the user has to set up 
the kernel and libraries that are used when compiling the binary. In order 
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.