ABLE User Guide

Simtec Electronics

V R Sanders

B J Dooks

  • LINUX® is a registered trademark of Linus Torvalds.

  • UNIX® is a registered trademark of The Open Group.

  • I2C® is a registered trademark of Philips Semiconductors Corporation

  • All other trademarks are acknowledged.

While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.


Table of Contents

I. Usage
1. Overview
2. Getting Started
2.1. Using hyperterm as a serial console
2.2. Using minicom as a serial console
3. Command Line Interface
3.1. Command line editing
3.2. Simple commands
3.3. Conditional execution
3.4. Quoting
3.5. Shell variables
3.5.1. Simple variables
3.5.2. Non volatile variables
3.5.3. Positional variables
3.5.4. Special variables
3.5.5. Accessing variables
3.5.6. Variables with special meanings
3.6. Filesystem navigation
3.7. ABLE help system
3.8. Shell script
4. Setting Options
5. ABLE Console
5.1. Console drivers
5.2. Setting parameters on serial drivers
5.3. Configuring the console system
5.4. Setting the logging level
5.5. Practical use of the console system
5.5.1. Basic serial debug console
5.5.2. No console at all
5.5.3. Displaying a logo and boot abort
6. Starting an Operating System Manually
6.1. Data sources
6.2. Alias sources
6.3. Network sources
6.4. XModem source
6.5. Navigating a filesystem
6.6. How ABLE identifies files.
6.6.1. ABLE shell script
6.6.2. ABLE executable
6.6.3. ARM LINUX® zImage
6.6.4. ELF and AOUT files
6.6.5. UNIX® Compress files
6.6.6. Gzip files
6.6.7. Images, text and data files
6.6.8. Motorola S-Record
6.7. Starting an Operating System
6.7.1. The "setargs, load and boot" method
6.7.2. The "command line" method
7. Starting an Operating System Automatically
8. Networking
8.1. Finding a network interface
8.2. Configuring a network interface
8.3. Using the network to obtain files
9. Upgrading
9.1. Obtaining Upgrades
9.2. Loading the Upgrade
9.3. Running the upgrade
II. Command Reference
I. Core Commands
autoboot — Attempt to locate and boot suitable images automatically.
console — Controls ABLE console.
date — Show the current real time clock date and time.
devls — Lists information about devices attached to a system
display — Display and image on console.
help — Display help on built in commands
history — Lists the commands in the command line history.
hwinfo — Print hardware information.
man — Manual page display
meminfo — Shows memory information.
modules — List ABLE modules
pmu — Power management control
reset — Reset machine
sbcd — Manipulates the board configuration data.
setdate — Sets the date in the real time clock
setopt — Sets device options.
settime — Sets the real time clock
shadow — Moves ABLE into RAM
showhz — Shows how long a system has been running
sysmsg — Show system messages.
sysspeed — Sets the system clockspeed
tasks — Displays task threads currently running on system.
uname — Print system identification
version — Display ABLE shell version
wrout — Write a string to an output file.
II. Shell Commands
echo — Output some text to standard output
exit — Exit ABLE shell
read — Reads a line of input into shell variables
sh — Start a new ABLE shell
sleep — Delay for a specified amount of time
test — Performs test operations
III. Network operations
ifconfig — Network device configuration and selection
mii — MII phy control
IV. File Navigation
cd — Change present working directory
ls — List files in directory
lsfs — List available filesystems
pwd — Show present working directory
V. File manipulation commands
cat — Displays contents of a text file
cp — Copy a file.
dumpfile — Displays a file in a hexadecimal dump
file — Tests each argument in an attempt to classify it.
sum — Checksum a file
VI. Non-volatile settings
nvclear — Reset non-volatile settings to defaults
nvsave — Save altered non-volatile settings
nvset — Set non-volatile parameters
nvshow — Show non-volatile parameters
nvunset — Clears non-volatile parameter
VII. OS manipulation commands
boot — Starts loaded OS images
load — Load executable images
showargs — Shows arguments to be passed to any booted OS
setargs — Sets arguments to be passed to an OS started with the boot command
VIII. Debugging commands
bast-at — Perform an audio test.
bast-at2 — Perform BAST audio test copies the line in to the line out
bast-hdlcd — Manipulate an HD44780 attached to the EB2410ITX LCD Module port.
dmcfg-rd — Debug command to read Davicom EEPROM
dmcfg-wr — Debug command to write Davicom EEPROM
dump — Displays an area of memory in hex dump
memset — Set range of memory to a specific value.
peek — Examine memory location
pic-rd — Read a value to the PMU PIC
pic-wr — Write a value to the PMU PIC
poke — Poke memory location
tick — Check system timing.
vtp1 — Video test pattern
vtp2 — Video test pattern
vtp3 — Video test pattern
vtp4 — Video test pattern
vtp5 — Video test pattern
III. Non-Volatile Variables Reference — Enable auto boot
boot.cmd — Command line to use for auto boot
boot.timeout — Time to wait before auto boot
boot.fs — The filesystems to be scanned by the autoboot command.
console.write — Default Console output stream — Default Console input stream
console.level — Console logging level
fb.enable — Framebuffer driver - enable output
fb.output — Framebuffer driver - output target
fb.x — Framebuffer driver - Display X size (width)
fb.y — Framebuffer driver - Display Y size (height)
fb.refresh — Framebuffer driver - Display refresh frequency
ide.multi-limit — IDE multiple sector read limit
shell.hist — Shell history depth
sys.autoshadow — Determines if ABLE will automatically moved into RAM at system start
sys.speed — System speed set at start time
usb.enable — USB system enable
usb.hubdepth — USB system depth hubs should be searched for devices to
IV. Appendices
A. Changelog

List of Figures

2.1. Hyperterm settings window
2.2. Hyperterm displaying ABLE output
2.3. Minicom settings window
6.1. Outline of Motorola S-Record
7.1. Initial boot operations
9.1. EB2410ITX resources page
7. Autoboot command flowchart
8. Video test pattern 1
9. Video test pattern 2
10. Video test pattern 3
11. Video test pattern 4
12. Video test pattern 5

List of Tables

3.1. Special variables
3.2. Variables with special meanings
5.1. Available console drivers
6.1. S-Record loader error codes
5. Commands in alphabetical order
6. Defined console log levels
7. Escaped echo characters
8. Possible test expressions
9. Alphabetical list of non-volatile variables

List of Examples

2.1. Display after starting ABLE on EB2410ITX
3.1. Using the test command and conditional operators
3.2. Using curly braces to disambiguate variables
3.3. Accessing positional parameters
3.4. Navigating a filesystem
3.5. Getting help on the uname command
3.6. Example shell script
4.1. Using the nvshow command to list the default variables
4.2. Using the nvset command
5.1. Using the console command to show available drivers
5.2. Setting serial console driver parameters
5.3. Showing the consoles of an unconfigured system
5.4. Adding console drivers to a running system
5.5. Setup of basic serial console
5.6. Using the null drivers safely
5.7. A method to display logo and boot abort
6.1. Using the ls command to list available sources.
6.2. Using the ls command to list cooked sources
6.3. Using the tftpboot source
6.4. Using the XModem source
6.5. An example S-Record
6.6. Using the "setargs, load and boot" method to start a LINUX® kernel
6.7. Using the "command line" method to start a LINUX® kernel
7.1. Displaying a logo during the automatic boot process
8.1. Executing a program using the tftpboot pseudo filesystem
9.1. The romwrite command requiring the shadow command
9.2. The romwrite command producing warnings
9.3. The romwrite command completing successfully
29. Using the console command
30. Using the date command
31. Using the devls command
32. Using the display command
33. Using the help command
34. Using the history command
35. Using the hwinfo command
36. Using the man command
37. Using the meminfo command
38. Using the modules command
39. Using the setdate command to set the real time clock
40. Using the setopt command to alter serial port options.
41. Using the settime command to set the real time clock
42. Using the showhz command
43. Displaying the system messages after a default boot
44. Using the syspeed command on a EB2410ITX
45. Using the tasks command
46. Using the uname command on the EB2410ITX
47. Using the version command
48. Using the echo command
49. Using the read command
50. Subshell variable scope
51. Using the sleep command to delay execution
52. Performing assorted tests
53. Using the ifconfig command to select default interface
54. Using the ifconfig command to configure a fixed address
55. Using the mii command to show all the registers in a phy
56. Using the cd and ls commands to navigate a filesystem
57. Using the ls command
58. Using the lsfs command
59. Using the pwd command and PWD variable to show the present working directory
60. Using cat command to display files contents
61. Using the dumpfile command
62. Using the file command to determine filetypes
63. Checksumming a file with the sum command
64. Using the nvset command and shell method to alter a non-volatile variables
65. Using the nvshow command
66. Using the boot command
67. Using the showargs command
68. Using the setargs command
69. Using the dump command to examine memory