1 Linux 2.4 on the CRIS architecture
2 ==================================
3 $Id: README,v 1.7 2001/04/19 12:38:32 bjornw Exp $
5 This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded
6 network CPU. For more information about CRIS and ETRAX please see further
9 In order to compile this you need a version of gcc with support for the
10 ETRAX chip family. Please see this link for more information on how to
11 download the compiler and other tools useful when building and booting
12 software for the ETRAX platform:
14 http://developer.axis.com/doc/software/devboard_lx/install-howto.html
16 <more specific information should come in this document later>
21 CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
22 architecture in Axis Communication AB's range of embedded network CPU's,
23 called ETRAX. The latest CPU is called ETRAX 100LX, where LX stands for
24 'Linux' because the chip was designed to be a good host for the Linux
30 For reference, please see the press-release:
32 http://www.axis.com/news/us/001101_etrax.htm
34 The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad
35 range of built-in interfaces, all with modern scatter/gather DMA.
41 * EDO or page-mode DRAM
46 * one 10/100 Mbit/s ethernet controller
47 * four serial-ports (up to 6 Mbit/s)
48 * two synchronous serial-ports for multimedia codec's etc.
49 * USB host controller and USB slave
53 * two generic 8-bit ports
55 (not all interfaces are available at the same time due to chip pin
58 The previous version of the ETRAX, the ETRAX 100, sits in almost all of
59 Axis shipping thin-servers like the Axis 2100 web camera or the ETRAX 100
60 developer-board. It lacks an MMU so the Linux we run on that is a version
61 of uClinux (Linux 2.0 without MM-support) ported to the CRIS architecture.
62 The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will
63 not run on the ETRAX 100.
65 A version of the Axis developer-board with ETRAX 100LX (running Linux
66 2.4) is now available. For more information please see developer.axis.com.
72 Just as an example, this is the debug-output from a boot of Linux 2.4 on
73 a board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)
74 At the end you see some user-mode programs booting like telnet and ftp daemons.
76 Linux version 2.4.1 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #207 Wed Feb 21 15:48:15 CET 2001
77 ROM fs in RAM, size 1376256 bytes
78 Setting up paging and the MMU.
79 On node 0 totalpages: 2048
83 Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications AB
85 Calibrating delay loop... 19.91 BogoMIPS
86 Memory: 13872k/16384k available (587k kernel code, 2512k reserved, 44k data, 24k init)
87 kmem_create: Forcing size word alignment - vm_area_struct
88 kmem_create: Forcing size word alignment - filp
89 Dentry-cache hash table entries: 2048 (order: 1, 16384 bytes)
90 Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)
91 Page-cache hash table entries: 2048 (order: 0, 8192 bytes)
92 kmem_create: Forcing size word alignment - kiobuf
93 kmem_create: Forcing size word alignment - bdev_cache
94 Inode-cache hash table entries: 1024 (order: 0, 8192 bytes)
95 kmem_create: Forcing size word alignment - inode_cache
96 POSIX conformance testing by UNIFIX
97 Linux NET4.0 for Linux 2.4
98 Based upon Swansea University Computer Society NET3.039
100 kmem_create: Forcing size word alignment - file lock cache
101 kmem_create: Forcing size word alignment - blkdev_requests
102 block: queued sectors max/low 9109kB/3036kB, 64 slots per queue
103 ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
105 eth0: changed MAC to 00:40:8C:CD:00:00
106 ETRAX 100LX serial-driver $Revision: 1.7 $, (c) 2000 Axis Communications AB
107 ttyS0 at 0xb0000060 is a builtin UART with DMA
108 ttyS1 at 0xb0000068 is a builtin UART with DMA
109 ttyS2 at 0xb0000070 is a builtin UART with DMA
110 ttyS3 at 0xb0000078 is a builtin UART with DMA
111 Axis flash mapping: 200000 at 50000000
112 Axis flash: Found 1 x16 CFI device at 0x0 in 16 bit mode
113 Amd/Fujitsu Extended Query Table v1.0 at 0x0040
114 Axis flash: JEDEC Device ID is 0xC4. Assuming broken CFI table.
115 Axis flash: Swapping erase regions for broken CFI table.
116 number of CFI chips: 1
117 Using default partition table
118 I2C driver v2.2, (c) 1999-2001 Axis Communications AB
119 ETRAX 100LX GPIO driver v2.1, (c) 2001 Axis Communications AB
120 NET4: Linux TCP/IP 1.0 for NET4.0
121 IP Protocols: ICMP, UDP, TCP
122 kmem_create: Forcing size word alignment - ip_dst_cache
123 IP: routing cache hash table of 1024 buckets, 8Kbytes
124 TCP: Hash tables configured (established 2048 bind 2048)
125 NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
126 VFS: Mounted root (cramfs filesystem) readonly.
128 Mounted none on /proc ok.
129 Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60
130 eth0: changed MAC to 00:40:8C:18:04:60
131 Setting up lo with ip 127.0.0.1
132 Default gateway is 10.13.9.1
134 Telnetd starting, using port 23.
135 using /bin/sash as shell.
136 sftpd[15]: sftpd $Revision: 1.7 $ starting up
140 And here is how some /proc entries look:
146 cpu model : ETRAX 100LX
150 ethernet : 10/100 Mbps
158 total: used: free: shared: buffers: cached:
159 Mem: 7028736 925696 6103040 114688 0 229376
177 -rwxr-xr-x 1 342 100 10356 Jan 01 00:00 ifconfig
178 -rwxr-xr-x 1 342 100 17548 Jan 01 00:00 init
179 -rwxr-xr-x 1 342 100 9488 Jan 01 00:00 route
180 -rwxr-xr-x 1 342 100 46036 Jan 01 00:00 sftpd
181 -rwxr-xr-x 1 342 100 48104 Jan 01 00:00 sh
182 -rwxr-xr-x 1 342 100 16252 Jan 01 00:00 telnetd
185 (All programs are statically linked to the libc at this point - we have not ported the
186 shared libraries yet)