VIPER RedBoot and AEL Quickstart VIPER / VIPER-Lite Entry Level Embedded Linux Development Kit Quickstart Manual Contents
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Definitions Arcom is the trading name for Arcom Control Systems Inc and Arcom Control Systems Ltd. Disclaimer The information in this manual has been carefully checked and is believed to be accurate. Arcom assumes no responsibility for any infringements of patents or other rights of third parties, which may result from its use. Arcom assumes no responsibility for any inaccuracies that may be contained in this document.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Contents Contents Introduction ........................................................................................................................................4 Handling your board safely ....................................................................................................4 About this manual ..............................................................................................................................
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Introduction Introduction The VIPER / VIPER-Lite is an ultra low power PC/104 form-factor single board computer based on the Intel 400MHz PXA255 (VIPER) or 200MHz PXA255 (VIPER-Lite) XScale processor. The PXA255 is an implementation of the Intel XScale micro-architecture combined with a comprehensive set of integrated peripherals including: • Flat panel graphics controller. • Interrupt controller. • Real time clock (RTC).
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart About this manual About this manual This manual gets you started using the VIPER / VIPER-Lite with RedBoot and Arcom Embedded Linux (AEL). It lists the items you should find in your kit, and tells you how to unpack, connect and configure the board. Arcom Embedded Linux for VIPER / VIPER-Lite is based on the standard v2.6 kernel and includes the essential features for embedded communication and display solutions.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart About this manual Conventions Symbols The following symbols are used in this guide: Symbol Explanation Note - information that requires your attention. Tip - a handy hint that may provide a useful alternative or save time. Caution - proceeding with a course of action may damage your equipment or result in loss of data. VL Indicates that a feature is not available on the standard VIPER-Lite configuration.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Getting started Getting started What’s in the kit? The VIPER / VIPER-Lite Development Kit includes: • VIPER-M64-F32, VIPERL-M64-F32 or VIPERL-M64-F16. • Optional GPIO based VIPER-I/O board (technical manual included on CD)*. • Standard serial port breakout cable (up to five ports). • RS-232 serial cable (2m). • RS-232 null modem adapter. • Flat panel display cable. • VIPER FPIF-CRT (breakout assembly with standard CRT socket).
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Getting started What else do I need? An x86 Linux system compliant with version 1.3 of the Linux Standard Base2 is required for the Arcom Embedded Linux host environment. Suitable systems include PCs with Debian GNU/Linux, RedHat Linux, Fedora Core or SUSE Linux. The Fedora Core installation DVD is supplied for this purpose. In addition, the following information and equipment may be useful: • Networking details for the VIPER.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Getting started What peripherals are supported? The following peripherals/features are supported in this release: • Five UARTs, COM1 through COM5, including the processor’s internal FFUART, BTUART and STUART. The VIPER-Lite is only fitted with three COM ports. • On-board Flash array. • CompactFlash+. • Ethernet interface. • A variety of flat panels running with screen resolutions of 320 x 240 or 640 x 480. • Power management.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Unpacking and connecting up Unpacking and connecting up This section guides you, step-by-step, through the process of connecting up the VIPER / VIPER-Lite for the first time and powering up the system. The VIPER / VIPER-Lite is delivered ready to run. There are no link settings or configuration switches that need to be adjusted for the board to operate.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Unpacking and connecting up Ethernet LED cable Ethernet data cable For all connections, the red wire on the cable is pin 1. Pin 1 on each connector is marked on the board. 2 The VIPER I/O board can be attached above the main VIPER / VIPER-Lite board once all connections to the main board are complete.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Unpacking and connecting up 3 Fit the VIPER / VIPER-Lite power supply cable to the plug on the board. 4 Connect a serial terminal emulator3 to COM1 using the supplied null modem adaptor and cable. 5 Configure the serial terminal as follows: 6 • 115200 baud. • No parity. • 8 data bits. • No handshaking. Switch on the VIPER / VIPER-Lite board once the terminal emulator is set up on the host PC.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Power supply Power supply The AC Power Supply Unit (PSU) supplied in the kit is rated at 4A @ +5V DC. This is designed to support the requirements of the VIPER / VIPER-Lite and VIPER-I/O. If additional devices are powered from this supply, ensure that the overall current rating is not exceeded.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart RedBoot RedBoot What is RedBoot? RedBoot is a complete bootstrap environment for embedded systems. Based on the eCos Hardware Abstraction Layer, RedBoot inherits the eCos qualities of reliability, compactness, configurability, and portability. RedBoot enables download and execution of embedded applications via serial or Ethernet, including embedded Linux and eCos applications.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart RedBoot The only difference is that the default boot script initializes the clock to 400MHz for VIPER and to 200MHz for VIPER-Lite. Refer to following section for more details on ‘clock’ command. %{FREEMEMLO} is a predefined alias for the lowest address of available memory. %{kernel} is an alias for the full path name of the Linux kernel to boot.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Arcom Embedded Linux (AEL) What’s in AEL? AEL is a space-optimized Linux distribution based on Linux kernel version 2.6. AEL includes many of the standard file, shell and text utilities. As well as the basic Linux system, the default installation includes: • OpenSSH Secure Shell. • Minimal X Window System. • Web server.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) ... INIT: version 2.85 booting ... Configuring network interfaces... If you do not have a DHCP server and you have not configured a static IP address the board pauses at this point while it searches for a DHCP server. See Setting up networking, page 18. ... done. ... INIT: Entering runlevel: 3 Starting system log daemon: syslogd. Starting kernel log daemon: klogd. Starting NFS common utilities: statd.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Setting up networking As supplied, the board uses the DHCP protocol to configure the network. This requires a DHCP server to be available on your network. For more information, please consult your network administrator.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) The file system The file system used on the VIPER / VIPER-Lite Flash memory is a compressed Journaling Flash File System (JFFS2). JFFS2 has the following advantages: • Robustness. • Power fail safe. • No integrity scan (fsck) is required at boot time. • Flash wear levelling. • Transparent compression, with a typical compression ratio of 2:1.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Linux kernel The version of the Linux kernel used on the VIPER / VIPER-Lite is a standard Linux 2.6 kernel tree with patches to provide support for Arcom’s boards. Source and configuration The kernel sources are installed in the host environment as /opt/arcom/src/linux-sourceVERSION.tar.gz.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Hardware configuration VL PC/104 bus The PC/104 bus on the standard VIPER option is implemented via the second PCMCIA controller built into the PXA255 processor. The PC/104 I/O address space is mapped at physical address 0x30000000 and virtual address 0xF1000000. This means that a PC/104 card that has been configured at I/O address 0xXXX is available at virtual address 0xF1000XXX.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) CPU clock frequency scaling The PXA255 processor used on the VIPER / VIPER-Lite can scale the core clock frequency from 100 to 400MHz, allowing an application to dynamically trade off performance against power consumption. This functionality is exposed in Linux via special files in the /sys system.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) The default on the VIPER is to use the performance governor with a maximum frequency of 400MHz. The maximum frequency on the VIPER-Lite is limited to 200MHz by passing a command line parameter to the Linux kernel. Please refer to the Software configuration section on page 28 for further information.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) The current settings can be examined using the cpufreq-info utility: # cpufreq-info ... analyzing CPU 0: ... hardware limits: 99.5MHz − 398MHz available cpufreq governors: performance current policy: frequency should be within 398MHz and 398MHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 398MHz (asserted by call to hardware).
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Display controller The display controller driver module (pxafb) is configured by default for a 320x240 TFT display. The driver module should be loaded using the normal modprobe command: # modprobe pxafb This Development Kit is supplied with a VIPER FPIF-CRT interface module.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Parameter Description Default pixclock The pixel clock, expressed in picoseconds (10-12s). This value is used in conjunction with the current memory clock rate to calculate LCCR3[PCD]. pixclock:157500 left, right, hsynclen, upper, lower and vsynclen The timing parameters. All parameters are given as a number of pixel clock ticks. The upper and lower margins should be 0 for passive (STN) displays.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Arcom Embedded Linux (AEL) Parameter Description Default outputen Configures the polarity of the output enable signal. A value of 0 indicates an active low signal while 1 indicates active high. This parameter corresponds to the LCCR3[OEP] register. outputen:1 pixclockpol Configures the polarity of the pixel clock signal. A value of 0 indicates a falling edge while 1 indicates rising edge.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Software configuration Software configuration If you are using a VIPER-Lite you need to carry out some additional configuration. This primarily involves informing the Linux kernel of the reduced CPU speed. The VIPER-Lite is a reduced power VIPER derivative based around the 200MHz PXA255 processor. You can inform the Linux kernel of the reduced maximum CPU speed by adding the following to the default kernel command line: "cpu_pxa25x.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Examples for VIPER / VIPER-Lite Examples for VIPER / VIPER-Lite The Development Kit includes an example program, which demonstrates how to use the VIPER I/O board. This can be found in examples/c/ directory on the CD. It demonstrates how to access and manipulate many of the capabilities provided by the VIPER I/O board. These include functions to: • Drive LEDs, relays and the sounder.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Target support software Target support software When building applications for the VIPER / VIPER-Lite board, you must use the AEL host environment. This consists of a set of utilities that provide a cross-compile environment targeting the VIPER / VIPER-Lite board. A cross-compile environment is required in order to produce binaries for the XScale processor.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Appendix - Contacting Arcom Appendix - Contacting Arcom Arcom sales Arcom’s sales team is always available to assist you in choosing the board that best meets your requirements. Contact your local sales office or hotline. Sales office US Sales office UK Arcom 7500W 161st Street Overland Park Kansas 66085 USA Arcom Clifton Road Cambridge CB1 7EA UK Tel: 913 549 1000 Fax: 913 549 1002 E-mail: us-sales@arcom.
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart Index Index A F AEL · 16 applications, embedded · 14 audio · 9 file system · 19 temporary · 19 Flash array · 9, 19 flat panel · 9 B board features · 4 boot scripts · 14 boot up · 16 bootstrap · 14 G C H · 12 CCCR multiplier configurations · 22 installation · 7 clock command · 15 frequency scaling · 22 rates · 22 command line · 20 CompactFlash card · 27 contact details · 31 conventions · 6 copyright · 2 CPU clock · 22 handling · 4 host
VIPER / VIPER-Lite Embedded Linux Development Kit Quickstart nano · 18 networking · 18 support software · 30 technical · 31 symbols · 6 P T packaging · 4 PC/104 · 9, 21 interrupts · 21 performance clock rate · 23 peripherals · 9 power management · 9 power supply · 13 powersave clock rate · 23 prompts · 6 TCP/IP networking · 18 technical manual · 14 support · 31 temporary files · 19 trademarks · 2 N U real time clock · 9 RedBoot · 6, 14 UART · 9 unpacking · 10 USB client · 9 USB host controller · 9