linux/Documentation/cris/README
<<
>>
Prefs
   1Linux 2.4 on the CRIS architecture
   2==================================
   3$Id: README,v 1.7 2001/04/19 12:38:32 bjornw Exp $
   4
   5This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded 
   6network CPU. For more information about CRIS and ETRAX please see further
   7below.
   8
   9In order to compile this you need a version of gcc with support for the
  10ETRAX chip family. Please see this link for more information on how to 
  11download the compiler and other tools useful when building and booting
  12software for the ETRAX platform:
  13
  14http://developer.axis.com/doc/software/devboard_lx/install-howto.html
  15
  16<more specific information should come in this document later>
  17
  18What is CRIS ?
  19--------------
  20
  21CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
  22architecture in Axis Communication AB's range of embedded network CPU's,
  23called 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
  25operating system.
  26
  27The ETRAX 100LX chip
  28--------------------
  29
  30For reference, please see the press-release:
  31
  32http://www.axis.com/news/us/001101_etrax.htm
  33
  34The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad 
  35range of  built-in interfaces, all with modern scatter/gather DMA.
  36
  37Memory interfaces:
  38
  39        * SRAM
  40        * NOR-flash/ROM
  41        * EDO or page-mode DRAM
  42        * SDRAM
  43
  44I/O interfaces:
  45
  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
  50        * ATA
  51        * SCSI
  52        * two parallel-ports
  53        * two generic 8-bit ports
  54        
  55        (not all interfaces are available at the same time due to chip pin 
  56         multiplexing)
  57
  58The previous version of the ETRAX, the ETRAX 100, sits in almost all of
  59Axis shipping thin-servers like the Axis 2100 web camera or the ETRAX 100
  60developer-board. It lacks an MMU so the Linux we run on that is a version
  61of uClinux (Linux 2.0 without MM-support) ported to the CRIS architecture.
  62The new Linux 2.4 port has full MM and needs a CPU with an MMU, so it will
  63not run on the ETRAX 100.
  64
  65A version of the Axis developer-board with ETRAX 100LX (running Linux
  662.4) is now available. For more information please see developer.axis.com.
  67
  68
  69Bootlog
  70-------
  71
  72Just as an example, this is the debug-output from a boot of Linux 2.4 on
  73a board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)
  74At the end you see some user-mode programs booting like telnet and ftp daemons.
  75
  76Linux version 2.4.1 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #207 Wed Feb 21 15:48:15 CET 2001
  77ROM fs in RAM, size 1376256 bytes
  78Setting up paging and the MMU.
  79On node 0 totalpages: 2048
  80zone(0): 2048 pages.
  81zone(1): 0 pages.
  82zone(2): 0 pages.
  83Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications AB
  84Kernel command line: 
  85Calibrating delay loop... 19.91 BogoMIPS
  86Memory: 13872k/16384k available (587k kernel code, 2512k reserved, 44k data, 24k init)
  87kmem_create: Forcing size word alignment - vm_area_struct
  88kmem_create: Forcing size word alignment - filp
  89Dentry-cache hash table entries: 2048 (order: 1, 16384 bytes)
  90Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)
  91Page-cache hash table entries: 2048 (order: 0, 8192 bytes)
  92kmem_create: Forcing size word alignment - kiobuf
  93kmem_create: Forcing size word alignment - bdev_cache
  94Inode-cache hash table entries: 1024 (order: 0, 8192 bytes)
  95kmem_create: Forcing size word alignment - inode_cache
  96POSIX conformance testing by UNIFIX
  97Linux NET4.0 for Linux 2.4
  98Based upon Swansea University Computer Society NET3.039
  99Starting kswapd v1.8
 100kmem_create: Forcing size word alignment - file lock cache
 101kmem_create: Forcing size word alignment - blkdev_requests
 102block: queued sectors max/low 9109kB/3036kB, 64 slots per queue
 103ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
 104eth0 initialized
 105eth0: changed MAC to 00:40:8C:CD:00:00
 106ETRAX 100LX serial-driver $Revision: 1.7 $, (c) 2000 Axis Communications AB
 107ttyS0 at 0xb0000060 is a builtin UART with DMA
 108ttyS1 at 0xb0000068 is a builtin UART with DMA
 109ttyS2 at 0xb0000070 is a builtin UART with DMA
 110ttyS3 at 0xb0000078 is a builtin UART with DMA
 111Axis flash mapping: 200000 at 50000000
 112Axis flash: Found 1 x16 CFI device at 0x0 in 16 bit mode
 113 Amd/Fujitsu Extended Query Table v1.0 at 0x0040
 114Axis flash: JEDEC Device ID is 0xC4. Assuming broken CFI table.
 115Axis flash: Swapping erase regions for broken CFI table.
 116number of CFI chips: 1
 117 Using default partition table
 118I2C driver v2.2, (c) 1999-2001 Axis Communications AB
 119ETRAX 100LX GPIO driver v2.1, (c) 2001 Axis Communications AB
 120NET4: Linux TCP/IP 1.0 for NET4.0
 121IP Protocols: ICMP, UDP, TCP
 122kmem_create: Forcing size word alignment - ip_dst_cache
 123IP: routing cache hash table of 1024 buckets, 8Kbytes
 124TCP: Hash tables configured (established 2048 bind 2048)
 125NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
 126VFS: Mounted root (cramfs filesystem) readonly.
 127Init starts up...
 128Mounted none on /proc ok.
 129Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60
 130eth0: changed MAC to 00:40:8C:18:04:60
 131Setting up lo with ip 127.0.0.1
 132Default gateway is 10.13.9.1
 133Hostname is bbox1
 134Telnetd starting, using port 23.
 135  using /bin/sash as shell.
 136sftpd[15]: sftpd $Revision: 1.7 $ starting up
 137
 138
 139
 140And here is how some /proc entries look:
 141
 14217# cd /proc
 14317# cat cpuinfo
 144cpu             : CRIS
 145cpu revision    : 10
 146cpu model       : ETRAX 100LX
 147cache size      : 8 kB
 148fpu             : no
 149mmu             : yes
 150ethernet        : 10/100 Mbps
 151token ring      : no
 152scsi            : yes
 153ata             : yes
 154usb             : yes
 155bogomips        : 99.84
 156
 15717# cat meminfo
 158        total:    used:    free:  shared: buffers:  cached:
 159Mem:   7028736   925696  6103040   114688        0   229376
 160Swap:        0        0        0
 161MemTotal:         6864 kB
 162MemFree:          5960 kB
 163MemShared:         112 kB
 164Buffers:             0 kB
 165Cached:            224 kB
 166Active:            224 kB
 167Inact_dirty:         0 kB
 168Inact_clean:         0 kB
 169Inact_target:        0 kB
 170HighTotal:           0 kB
 171HighFree:            0 kB
 172LowTotal:         6864 kB
 173LowFree:          5960 kB
 174SwapTotal:           0 kB
 175SwapFree:            0 kB
 17617# ls -l /bin
 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
 183
 184
 185(All programs are statically linked to the libc at this point - we have not ported the
 186 shared libraries yet)
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.