Intermec ck1 Guide De Référence

Page de 390
Appendix A — 
µClinux System 
CK1 SDK Programmer’s Reference Manual 
321 
because it can not ensure that the pages would be loaded to the same 
location in RAM. In general in embedded environments it also would not 
be acceptable to suspend an application in order to use more RAM than is 
physically available. 
User Applications 
User applications exist under the 
µClinux-tree in the ./user folder. As a 
default, the environment has many ported applications for different 
purposes. If you want to add or port new applications, they should be 
placed under this directory and then you modify some files in order to see 
the new application in the menus. 
The major concern when developing and running large, sophisticated 
programs under 
µClinux is the lack of MMU. This of course changes the 
memory management so that heavily memory dependent applications may 
not run properly under the 
µClinux environment. The parts in the code 
using memory allocations and de-allocations require redevelopment. Also 
memory swapping and paging needs to be removed. 
Porting Applications 
Porting applications to 
µClinux is the same kind of task as in regular 
Linux. As Linux already has a great deal of applications developed under 
the GPL, they can be added with a rather minor modification to run under 
the 
µClinux kernel. The main step for porting is to modify the application 
Make files and configuration files to ensure that the compilation is done 
with the 
µClinux tool chain. The other thing that should be noted is the 
lack of the MMU and the system calls related to this. For efficient and user 
friendly programming, it is usually convenient to comment all the changes 
made to the source code, so that the other developers using your code can 
easily see what and how the change is made. 
Most problems when compiling the newly ported application are usually 
generated from the libraries. The lack of libraries forces you to also port 
the whole library to the system, and when linking the code with these 
libraries, some unexpected problems might occur. Also some differences 
might occur from the APIs offered by the C libraries. From here the newer 
µClibc has a better support for Linux-like APIs. 
Future of 
µClinux 
Today the 
µClinux community continues to provide the patches for the 
latest kernels as they appear. This development process has always been 
rapid and includes also the releases of the development kernels. The 
community also releases the latest 
µClibc version through the µClinux 
support pages. The distribution also evolves to provide support for new 
MMU-less microprocessor architectures as they appear.