ARM RealView Development Boards
The following
page provides some documentation on the ARM RealView plaform family.
The RealView® Integrator(TM) Compact Platform operates in conjunction with a Core Module to provide a fully integrated development platform. The Core Module FPGA implements a set of ARM PrimeCell® Peripherals and memory controllers. The PrimeCell Peripherals make use of the drivers and connectors on the Compact Platform baseboard; these include LCD and touch screen connectors, VGA connector, Multi-Media Card (MMC) interface and an audio codec interface. Ethernet connectivity is provided by a dedicated interface chip. Expansion to Logic Modules and Logic Tiles is through an AMBA(TM) AHB-Lite system bus.
The RealView® Versatile Platform Baseboard for
ARM926EJ?-S(TM) has been designed specifically for ASIC emulation and prototyping. It is an ideal development board for the
ARM926EJ?-S PrimeXsys developer community.
The RealView® Versatile Application Baseboard for the
ARM926EJ?-S does not have tile stacking headers, and the AHB interfaces of the development chip are not routed to any connector. Therefore this board cannot be used to prototype hardware and develop AHB peripherals. This functionality is fully supported by the Versatile Platform Baseboard for the
ARM926EJ?-S.
Loading and running Linux kernels on ARM RealView boards
Installing pre-built images
Images can be installed into the board application flash using a debugger connected to the board via a JTAG run control device, such as
ARM RealView ICE (RVI).
- RealView IntegratorCP: use ARM Flash Utility (AFU.axf, provided with the board) to program images (i.e. AFU.axf), running the utility from the debugger:
AFU> program 1 u-boot c:/tmp/u-boot.bin
Lowest available flash at location 0x24440000 block B30
Programming Block B30
...
- RealView Versatile/PB926EJ-S: run the BootMonitor.axf program supplied with the board from a debugger to program images. There is a Flash menu with options enabling programming of ELF or binary images.
A similar process can be used to program other images (e.g. kernel binary image or
cramfs). These should be programmed as binary files since they are not ELF images. More information is provided with the documentation supplied with the board.
Boot Loader
Support for these platforms is available with U-Boot. U-Boot source and documentation is available at
http://sourceforge.net/projects/u-boot/. U-Boot is expected to run from RAM address 0x01000000 on ARM boards. The supplied raw binary can be loaded and run from a debugger.
- RealView Integrator: raw binaries (or ELF files) can be placed at the beginning of flash and executed as default image.
- RealView Versatile: the ELF file can be used to run directly from flash or the executable can be run directly from memory.
U-Boot can be compiled from the CVS source distribution.
ARM RealView Integrator and Versatile board support has been added in U-Boot CVS repository from version 1.1.0. Some ARM patches may not have reached the main distribution. Check by searching the U-Boot users list archive for the two strings "@arm.com" and "patch".
Please, refer to U-Boot's documentation for more information regarding U-Boot.
Resulting executables (binary and ELF) files are located at the top level directory. Macros are used to encode default command line passed to a Linux kernel, default boot sequence of the boot loader (i.e.
dhcp/bootp, flash etc.). Some of these can be changed from the U-Boot command line using
set options.
Note that when downloading a kernel image via Ethernet, you should configure your server to recognise the MAC address of your platform location of the image to download. Booting from flash
If all images are placed in flash, u-boot can be used to copy the kernel image from flash to RAM and start the execution of the kernel.
Changing the command line
The Linux kernel
CMDLINE can be set from the U-Boot prompt using the
set command. The current command line can be obtained when listing environment variables using the
printenv command. When executing the Linux kernel from a boot loader, the kernel will use the command line which is referenced from address contained in
r1.
Linux kernel
Pre-built binaries are available on
http://www.arm.com/linux, along with the
.config
configuration files used to generate them.
Sources for the kernel can be downloaded from www.kernel.org. Any additional patch should be applied to the base kernel source tree as follows:
$ cd linux-2.6.x/
$ patch -p 1 < patch-2.6.x-
You should copy the relevant configuration file into the kernel tree as .config and re-configure the kernel running 'make xconfig' or other equivalent command. The following sequence of commands can be used to build the kernel:
$ make xconfig
$ make Image produces a raw binary image in arch/arm/boot/
The generated
vmlinux file contains debugging information associated to the kernel image and can be loaded from the debugger.
Booting ARM Linux SMP on ARM11 MPCore
The boot process of ARM Linux SMP on the ARM11 MPCore from turning the power switch ON until the display of the command line is described in the attachment "Booting_ARM_Linux_SMP_on_MPCore.doc" --
CharlyBechara - 15 September 2008
Filesystem
A pre-built filesystem image is provided on
http://www.arm.com/linux which can be used with Integrator and Versatile platforms. A script detects at run time which platform the system is running on and creates a symbolic link to the appropriate serial device (/dev/tty...). This filesystem contains a subset of system utilities, commands and applications. An X server is also included with the larger compressed filesystem. The
Packages link contains the list of Debian packages used to produce the cramfs.
Additional documentation is available with these packages from these pages.
--
PhilippeRobin - 20 Jan 2006