The Software Development Kit or SDK is provided to give the end
users an environment where they can develop their own
applications and images. This document is intended as a complete,
step-by-step guide to create the SDK environment on the 2GB CF
and does not contain instruction on how to create an application
using SDK. Please note that the SDK is also referred to as
development environment in this document.
Please also refer to UM_SDK.pdf (SDK User’s Manual) how to
setup/use SDK.
XCI-SX1 SDK / SDK Technical Manual
1.1 Dependencies
Other files required to develop the SDK needs to be downloaded.
The table below shows the said files and their license information.
This SDK is build with the following environments.
• MontaVista Linux 3.0
• Linux Kernel 2.4.18
• gcc (GCC) 3.2.1 20020930 (MontaVista)
• glibc 2.2.5
• GNU gdb 5.2.1
XCI-SX1 SDK / SDK Technical Manual
2
2 Environment
This chapter explains kernels, programs, settings and so on.
The contents of this chapter have been applied to SDK.
2.1 Patches to kernel
Before kernel compilation, patches are first applied to the kernel. The
following sections lists the patches applied to the kernel.
Note: All patches have already been applied to /usr/src/linux on
SDK. The patch files are stored on
/buildtree/src/kernel/patches.
2.1.1 BigPhysArea Patch
XCI-SX1 SDK / SDK Technical Manual
Applying this patch allows the user to allocate a large area of contiguous
memory during boot up time which can be allocated or deallocated by
the kernel driver that needs it.
BigPhysArea
Patch Application:
2.1.2 Network Driver Patch
The network driver has to be patched to enable a more stable Ethernet
device driver for the target hardware (RTL8100C).
Network Driver
Upgrade
Patch Application:
cd /usr/src/linux
patch –p1 < [source]/bigphysarea.diff
Where:
[source] – path where the exploded patch is
located
cp 8139too.c
/usr/src/linux/drivers/net/
NOTE:
This command must overwrite the existing
8139too.c in the MVL3.0 kernel tree.
3
2.1.3 BootSplash Patch
To display a boot logo and progress bar during boot-up, this patch
should be applied to the kernel. Applying this patch enables the user to
display the desired effect during boot up.
XCI-SX1 SDK / SDK Technical Manual
Bootsplash Patch
Patch Application:
2.1.4 Keyboard Patch
The keyboard patch applied is to adjust the keyboard repeat interval and
delay. The other patch is a Kernel modification to avoid the occurrence
of “pc_keyb: controller jammed (0xFF)” error message.
Keyboard Patch
Patch Application:
Keyboard Repeat
“controller jammed”
error
cd /usr/src/linux
patch -p1 < [source]/bootsplash-3.0.7-
2.4.18-vanilla.diff
Where:
[source] – path where the exploded patch is
located
cd /usr/src/linux/drivers/input/
(edit the input.c file as shown below)
cd /usr/src/linux/arch/i386/
(edit the defconfig file as shown below)
#
# CONFIG_I2C is not set
CONFIG_PSKEYBOARD=y
5
XCI-SX1 SDK / SDK Technical Manual
#
# Mice
#
cd /usr/src/linux/Documentations
(edit the Configure.help file as shown below)
it as a module, say M here and read
<file:Documentation/modules.txt>.
The module will be called i2c-proc.o.
PS/2 keyboard support
CONFIG_PSKEYBOARD
PS/2 keyboard support is optional and can be
omitted on some systems,
for example, some IA32 systems which use
IrDA keyboards.
If unsure, say Y.
Bus Mouse Support
CONFIG_BUSMOUSE
Say Y here if your machine has a bus mouse
as opposed to a serial
The CONFIG_PSKEYBOARD kernel option should be
disabled.
2.1.5 MVL Patches
In addition to applied kernel patches, below is the list of MVL3.0 updates
that were applied into our kernel:
MVL3.0 Updates
Patch Application:
real_time_fixes
CAN-2004-0077
CAN-2003-0985
cd /usr/src/linux
patch -p1 [source]/mvl3.0.patch
cd /usr/src/linux
patch -p1 < [source]/CAN-2004-
0077.patch
cd /usr/src/linux
patch -p1 < [source]/CAN-2003-
0985.patch
6
XCI-SX1 SDK / SDK Technical Manual
CAN-2003-0961
cd /usr/src/linux
patch -p1 < [source]/CAN-2003-
0961.patch
Where:
[source] – location of the exploded patch
2.2 Kernel Configuration and Installation
2.2.1 Kernel Configuration
After applying the required patches to the kernel, it is time to set the
kernel configurations. Please make sure that the following
configurations are set before building the kernel.
Kernel Configurations
Kernel Features Remarks
ext3 file system
Minix file system Minix’s compact feature makes it ideal for read-
romfs
tmpfs
USB input device support Used for USB I/O
Video4Linux Used for the camera module
ATA/IDE Used to support IDE CF media
Network options’ UNIX
domain sockets
RAM disk and initrdUsed to allow an initrd image load and act as
Loop back device
To enable journaling on an IDE device such as a
CF. A journalized file system is required in order
to protect the CF’s XIP partition during abrupt
hardware on/off events.
only and load-on-boot-time-only partitions
Also known as cramfs. It is ideal for storing runtime, read-only data.
This dynamic ramdisk fs is used for storing
volatile data (such as contents of /tmp and the
like)
To allow network communication
the embedded environment’s main file system
Used as mount device for cramfs images
UNIX98 PTY,
Standard/Generic Serial,
and Virtual Terminal
supports
Used for serial console terminal requirements
7
Loading...
+ 19 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.