• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Linux on the CRIS architecture
2==============================
3
4This is a port of Linux to Axis Communications ETRAX 100LX,
5ETRAX FS and ARTPEC-3 embedded network CPUs.
6
7For more information about CRIS and ETRAX please see further below.
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/wiki/doku.php?id=axis:install-howto-2_20
15
16What is CRIS ?
17--------------
18
19CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPU
20architecture in Axis Communication AB's range of embedded network CPU's,
21called ETRAX.
22
23The ETRAX 100LX chip
24--------------------
25
26For reference, please see the following link:
27
28http://www.axis.com/products/dev_etrax_100lx/index.htm
29
30The ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broad
31range of built-in interfaces, all with modern scatter/gather DMA.
32
33Memory interfaces:
34
35	* SRAM
36	* NOR-flash/ROM
37	* EDO or page-mode DRAM
38	* SDRAM
39
40I/O interfaces:
41
42	* one 10/100 Mbit/s ethernet controller
43	* four serial-ports (up to 6 Mbit/s)
44	* two synchronous serial-ports for multimedia codec's etc.
45	* USB host controller and USB slave
46	* ATA
47	* SCSI
48	* two parallel-ports
49	* two generic 8-bit ports
50
51	(not all interfaces are available at the same time due to chip pin
52         multiplexing)
53
54ETRAX 100LX is CRISv10 architecture.
55
56
57The ETRAX FS and ARTPEC-3 chips
58-------------------------------
59
60The ETRAX FS is a 200MHz 32-bit RISC processor with on-chip 16kB
61I-cache and 16kB D-cache and with a wide range of device interfaces
62including multiple high speed serial ports and an integrated USB 1.1 PHY.
63
64The ARTPEC-3 is a variant of the ETRAX FS with additional IO-units
65used by the Axis Communications network cameras.
66
67See below link for more information:
68
69http://www.axis.com/products/dev_etrax_fs/index.htm
70
71ETRAX FS and ARTPEC-3 are both CRISv32 architectures.
72
73Bootlog
74-------
75
76Just as an example, this is the debug-output from a boot of Linux 2.4 on
77a board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)
78At the end you see some user-mode programs booting like telnet and ftp daemons.
79
80Linux version 2.4.1 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #207 Wed Feb 21 15:48:15 CET 2001
81ROM fs in RAM, size 1376256 bytes
82Setting up paging and the MMU.
83On node 0 totalpages: 2048
84zone(0): 2048 pages.
85zone(1): 0 pages.
86zone(2): 0 pages.
87Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications AB
88Kernel command line:
89Calibrating delay loop... 19.91 BogoMIPS
90Memory: 13872k/16384k available (587k kernel code, 2512k reserved, 44k data, 24k init)
91kmem_create: Forcing size word alignment - vm_area_struct
92kmem_create: Forcing size word alignment - filp
93Dentry-cache hash table entries: 2048 (order: 1, 16384 bytes)
94Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)
95Page-cache hash table entries: 2048 (order: 0, 8192 bytes)
96kmem_create: Forcing size word alignment - kiobuf
97kmem_create: Forcing size word alignment - bdev_cache
98Inode-cache hash table entries: 1024 (order: 0, 8192 bytes)
99kmem_create: Forcing size word alignment - inode_cache
100POSIX conformance testing by UNIFIX
101Linux NET4.0 for Linux 2.4
102Based upon Swansea University Computer Society NET3.039
103Starting kswapd v1.8
104kmem_create: Forcing size word alignment - file lock cache
105kmem_create: Forcing size word alignment - blkdev_requests
106block: queued sectors max/low 9109kB/3036kB, 64 slots per queue
107ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
108eth0 initialized
109eth0: changed MAC to 00:40:8C:CD:00:00
110ETRAX 100LX serial-driver $Revision: 1.7 $, (c) 2000 Axis Communications AB
111ttyS0 at 0xb0000060 is a builtin UART with DMA
112ttyS1 at 0xb0000068 is a builtin UART with DMA
113ttyS2 at 0xb0000070 is a builtin UART with DMA
114ttyS3 at 0xb0000078 is a builtin UART with DMA
115Axis flash mapping: 200000 at 50000000
116Axis flash: Found 1 x16 CFI device at 0x0 in 16 bit mode
117 Amd/Fujitsu Extended Query Table v1.0 at 0x0040
118Axis flash: JEDEC Device ID is 0xC4. Assuming broken CFI table.
119Axis flash: Swapping erase regions for broken CFI table.
120number of CFI chips: 1
121 Using default partition table
122I2C driver v2.2, (c) 1999-2001 Axis Communications AB
123ETRAX 100LX GPIO driver v2.1, (c) 2001 Axis Communications AB
124NET4: Linux TCP/IP 1.0 for NET4.0
125IP Protocols: ICMP, UDP, TCP
126kmem_create: Forcing size word alignment - ip_dst_cache
127IP: routing cache hash table of 1024 buckets, 8Kbytes
128TCP: Hash tables configured (established 2048 bind 2048)
129NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
130VFS: Mounted root (cramfs filesystem) readonly.
131Init starts up...
132Mounted none on /proc ok.
133Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60
134eth0: changed MAC to 00:40:8C:18:04:60
135Setting up lo with ip 127.0.0.1
136Default gateway is 10.13.9.1
137Hostname is bbox1
138Telnetd starting, using port 23.
139  using /bin/sash as shell.
140sftpd[15]: sftpd $Revision: 1.7 $ starting up
141
142
143
144And here is how some /proc entries look:
145
14617# cd /proc
14717# cat cpuinfo
148cpu             : CRIS
149cpu revision    : 10
150cpu model       : ETRAX 100LX
151cache size      : 8 kB
152fpu             : no
153mmu             : yes
154ethernet        : 10/100 Mbps
155token ring      : no
156scsi            : yes
157ata             : yes
158usb             : yes
159bogomips        : 99.84
160
16117# cat meminfo
162        total:    used:    free:  shared: buffers:  cached:
163Mem:   7028736   925696  6103040   114688        0   229376
164Swap:        0        0        0
165MemTotal:         6864 kB
166MemFree:          5960 kB
167MemShared:         112 kB
168Buffers:             0 kB
169Cached:            224 kB
170Active:            224 kB
171Inact_dirty:         0 kB
172Inact_clean:         0 kB
173Inact_target:        0 kB
174HighTotal:           0 kB
175HighFree:            0 kB
176LowTotal:         6864 kB
177LowFree:          5960 kB
178SwapTotal:           0 kB
179SwapFree:            0 kB
18017# ls -l /bin
181-rwxr-xr-x  1 342      100         10356  Jan 01 00:00 ifconfig
182-rwxr-xr-x  1 342      100         17548  Jan 01 00:00 init
183-rwxr-xr-x  1 342      100          9488  Jan 01 00:00 route
184-rwxr-xr-x  1 342      100         46036  Jan 01 00:00 sftpd
185-rwxr-xr-x  1 342      100         48104  Jan 01 00:00 sh
186-rwxr-xr-x  1 342      100         16252  Jan 01 00:00 telnetd
187
188
189
190
191
192
193
194
195
196