You are here: LinuxPlatform Web>RealViewLink (03 Apr 2009)

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 .configconfiguration 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
Topic attachments
IAttachmentActionSizeDateWhoComment
docBooting_ARM_Linux_SMP_on_MPCore.docmanage151.5 K15 Sep 2008 - 17:33CharlyBecharaDescribe the boot process of Linux SMP on ARM11 MPCore (using PB11MPCore? board)
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
zenweb1 : 0.09 secs More Info