196 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			196 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Linux 2.4 on the CRIS architecture
 | 
						|
==================================
 | 
						|
$Id: README,v 1.7 2001/04/19 12:38:32 bjornw Exp $
 | 
						|
 | 
						|
This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded 
 | 
						|
network CPU. For more information about CRIS and ETRAX please see further
 | 
						|
below.
 | 
						|
 | 
						|
In order to compile this you need a version of gcc with support for the
 | 
						|
ETRAX chip family. Please see this link for more information on how to 
 | 
						|
download the compiler and other tools useful when building and booting
 | 
						|
software for the ETRAX platform:
 | 
						|
 | 
						|
http://developer.axis.com/doc/software/devboard_lx/install-howto.html
 | 
						|
 | 
						|
<more specific information should come in this document later>
 | 
						|
 | 
						|
What is CRIS ?
 | 
						|
--------------
 | 
						|
 | 
						|
CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
 | 
						|
architecture in Axis Communication AB's range of embedded network CPU's,
 | 
						|
called ETRAX. The latest CPU is called ETRAX 100LX, where LX stands for
 | 
						|
'Linux' because the chip was designed to be a good host for the Linux
 | 
						|
operating system.
 | 
						|
 | 
						|
The ETRAX 100LX chip
 | 
						|
--------------------
 | 
						|
 | 
						|
For reference, please see the press-release:
 | 
						|
 | 
						|
http://www.axis.com/news/us/001101_etrax.htm
 | 
						|
 | 
						|
The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad 
 | 
						|
range of  built-in interfaces, all with modern scatter/gather DMA.
 | 
						|
 | 
						|
Memory interfaces:
 | 
						|
 | 
						|
	* SRAM
 | 
						|
	* NOR-flash/ROM
 | 
						|
	* EDO or page-mode DRAM
 | 
						|
	* SDRAM
 | 
						|
 | 
						|
I/O interfaces:
 | 
						|
 | 
						|
	* one 10/100 Mbit/s ethernet controller
 | 
						|
	* four serial-ports (up to 6 Mbit/s)
 | 
						|
	* two synchronous serial-ports for multimedia codec's etc.
 | 
						|
	* USB host controller and USB slave
 | 
						|
	* ATA
 | 
						|
	* SCSI
 | 
						|
	* two parallel-ports
 | 
						|
	* two generic 8-bit ports
 | 
						|
	
 | 
						|
	(not all interfaces are available at the same time due to chip pin 
 | 
						|
         multiplexing)
 | 
						|
 | 
						|
The previous version of the ETRAX, the ETRAX 100, sits in almost all of
 | 
						|
Axis shipping thin-servers like the Axis 2100 web camera or the ETRAX 100
 | 
						|
developer-board. It lacks an MMU so the Linux we run on that is a version
 | 
						|
of uClinux (Linux 2.0 without MM-support) ported to the CRIS architecture.
 | 
						|
The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will
 | 
						|
not run on the ETRAX 100.
 | 
						|
 | 
						|
A version of the Axis developer-board with ETRAX 100LX (running Linux
 | 
						|
2.4) is now available. For more information please see developer.axis.com.
 | 
						|
 | 
						|
 | 
						|
Bootlog
 | 
						|
-------
 | 
						|
 | 
						|
Just as an example, this is the debug-output from a boot of Linux 2.4 on
 | 
						|
a board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)
 | 
						|
At the end you see some user-mode programs booting like telnet and ftp daemons.
 | 
						|
 | 
						|
Linux version 2.4.1 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #207 Wed Feb 21 15:48:15 CET 2001
 | 
						|
ROM fs in RAM, size 1376256 bytes
 | 
						|
Setting up paging and the MMU.
 | 
						|
On node 0 totalpages: 2048
 | 
						|
zone(0): 2048 pages.
 | 
						|
zone(1): 0 pages.
 | 
						|
zone(2): 0 pages.
 | 
						|
Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications AB
 | 
						|
Kernel command line: 
 | 
						|
Calibrating delay loop... 19.91 BogoMIPS
 | 
						|
Memory: 13872k/16384k available (587k kernel code, 2512k reserved, 44k data, 24k init)
 | 
						|
kmem_create: Forcing size word alignment - vm_area_struct
 | 
						|
kmem_create: Forcing size word alignment - filp
 | 
						|
Dentry-cache hash table entries: 2048 (order: 1, 16384 bytes)
 | 
						|
Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)
 | 
						|
Page-cache hash table entries: 2048 (order: 0, 8192 bytes)
 | 
						|
kmem_create: Forcing size word alignment - kiobuf
 | 
						|
kmem_create: Forcing size word alignment - bdev_cache
 | 
						|
Inode-cache hash table entries: 1024 (order: 0, 8192 bytes)
 | 
						|
kmem_create: Forcing size word alignment - inode_cache
 | 
						|
POSIX conformance testing by UNIFIX
 | 
						|
Linux NET4.0 for Linux 2.4
 | 
						|
Based upon Swansea University Computer Society NET3.039
 | 
						|
Starting kswapd v1.8
 | 
						|
kmem_create: Forcing size word alignment - file lock cache
 | 
						|
kmem_create: Forcing size word alignment - blkdev_requests
 | 
						|
block: queued sectors max/low 9109kB/3036kB, 64 slots per queue
 | 
						|
ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
 | 
						|
eth0 initialized
 | 
						|
eth0: changed MAC to 00:40:8C:CD:00:00
 | 
						|
ETRAX 100LX serial-driver $Revision: 1.7 $, (c) 2000 Axis Communications AB
 | 
						|
ttyS0 at 0xb0000060 is a builtin UART with DMA
 | 
						|
ttyS1 at 0xb0000068 is a builtin UART with DMA
 | 
						|
ttyS2 at 0xb0000070 is a builtin UART with DMA
 | 
						|
ttyS3 at 0xb0000078 is a builtin UART with DMA
 | 
						|
Axis flash mapping: 200000 at 50000000
 | 
						|
Axis flash: Found 1 x16 CFI device at 0x0 in 16 bit mode
 | 
						|
 Amd/Fujitsu Extended Query Table v1.0 at 0x0040
 | 
						|
Axis flash: JEDEC Device ID is 0xC4. Assuming broken CFI table.
 | 
						|
Axis flash: Swapping erase regions for broken CFI table.
 | 
						|
number of CFI chips: 1
 | 
						|
 Using default partition table
 | 
						|
I2C driver v2.2, (c) 1999-2001 Axis Communications AB
 | 
						|
ETRAX 100LX GPIO driver v2.1, (c) 2001 Axis Communications AB
 | 
						|
NET4: Linux TCP/IP 1.0 for NET4.0
 | 
						|
IP Protocols: ICMP, UDP, TCP
 | 
						|
kmem_create: Forcing size word alignment - ip_dst_cache
 | 
						|
IP: routing cache hash table of 1024 buckets, 8Kbytes
 | 
						|
TCP: Hash tables configured (established 2048 bind 2048)
 | 
						|
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
 | 
						|
VFS: Mounted root (cramfs filesystem) readonly.
 | 
						|
Init starts up...
 | 
						|
Mounted none on /proc ok.
 | 
						|
Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60
 | 
						|
eth0: changed MAC to 00:40:8C:18:04:60
 | 
						|
Setting up lo with ip 127.0.0.1
 | 
						|
Default gateway is 10.13.9.1
 | 
						|
Hostname is bbox1
 | 
						|
Telnetd starting, using port 23.
 | 
						|
  using /bin/sash as shell.
 | 
						|
sftpd[15]: sftpd $Revision: 1.7 $ starting up
 | 
						|
 | 
						|
 | 
						|
 | 
						|
And here is how some /proc entries look:
 | 
						|
 | 
						|
17# cd /proc
 | 
						|
17# cat cpuinfo
 | 
						|
cpu             : CRIS
 | 
						|
cpu revision    : 10
 | 
						|
cpu model       : ETRAX 100LX
 | 
						|
cache size      : 8 kB
 | 
						|
fpu             : no
 | 
						|
mmu             : yes
 | 
						|
ethernet        : 10/100 Mbps
 | 
						|
token ring      : no
 | 
						|
scsi            : yes
 | 
						|
ata             : yes
 | 
						|
usb             : yes
 | 
						|
bogomips        : 99.84
 | 
						|
 | 
						|
17# cat meminfo
 | 
						|
        total:    used:    free:  shared: buffers:  cached:
 | 
						|
Mem:   7028736   925696  6103040   114688        0   229376
 | 
						|
Swap:        0        0        0
 | 
						|
MemTotal:         6864 kB
 | 
						|
MemFree:          5960 kB
 | 
						|
MemShared:         112 kB
 | 
						|
Buffers:             0 kB
 | 
						|
Cached:            224 kB
 | 
						|
Active:            224 kB
 | 
						|
Inact_dirty:         0 kB
 | 
						|
Inact_clean:         0 kB
 | 
						|
Inact_target:        0 kB
 | 
						|
HighTotal:           0 kB
 | 
						|
HighFree:            0 kB
 | 
						|
LowTotal:         6864 kB
 | 
						|
LowFree:          5960 kB
 | 
						|
SwapTotal:           0 kB
 | 
						|
SwapFree:            0 kB
 | 
						|
17# ls -l /bin
 | 
						|
-rwxr-xr-x  1 342      100         10356  Jan 01 00:00 ifconfig
 | 
						|
-rwxr-xr-x  1 342      100         17548  Jan 01 00:00 init
 | 
						|
-rwxr-xr-x  1 342      100          9488  Jan 01 00:00 route
 | 
						|
-rwxr-xr-x  1 342      100         46036  Jan 01 00:00 sftpd
 | 
						|
-rwxr-xr-x  1 342      100         48104  Jan 01 00:00 sh
 | 
						|
-rwxr-xr-x  1 342      100         16252  Jan 01 00:00 telnetd
 | 
						|
 | 
						|
 | 
						|
(All programs are statically linked to the libc at this point - we have not ported the
 | 
						|
 shared libraries yet)
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |