About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / cris

Based on kernel version 2.6.26. Page generated on 2008-07-16 21:12 EST.

1	Linux 2.4 on the CRIS architecture
2	==================================
3	$Id: README,v 1.7 2001/04/19 12:38:32 bjornw Exp $
4	
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
7	below.
8	
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:
13	
14	http://developer.axis.com/doc/software/devboard_lx/install-howto.html
15	
16	<more specific information should come in this document later>
17	
18	What is CRIS ?
19	--------------
20	
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
25	operating system.
26	
27	The ETRAX 100LX chip
28	--------------------
29	
30	For reference, plase see the press-release:
31	
32	http://www.axis.com/news/us/001101_etrax.htm
33	
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.
36	
37	Memory interfaces:
38	
39		* SRAM
40		* NOR-flash/ROM
41		* EDO or page-mode DRAM
42		* SDRAM
43	
44	I/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	
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.
64	
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.
67	
68	
69	Bootlog
70	-------
71	
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.
75	
76	Linux version 2.4.1 (bjornw[AT]godzilla.axis.se) (gcc version 2[DOT]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
80	zone(0): 2048 pages.
81	zone(1): 0 pages.
82	zone(2): 0 pages.
83	Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications AB
84	Kernel command line: 
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
99	Starting kswapd v1.8
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
104	eth0 initialized
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.
127	Init starts up...
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
133	Hostname is bbox1
134	Telnetd starting, using port 23.
135	  using /bin/sash as shell.
136	sftpd[15]: sftpd $Revision: 1.7 $ starting up
137	
138	
139	
140	And here is how some /proc entries look:
141	
142	17# cd /proc
143	17# cat cpuinfo
144	cpu             : CRIS
145	cpu revision    : 10
146	cpu model       : ETRAX 100LX
147	cache size      : 8 kB
148	fpu             : no
149	mmu             : yes
150	ethernet        : 10/100 Mbps
151	token ring      : no
152	scsi            : yes
153	ata             : yes
154	usb             : yes
155	bogomips        : 99.84
156	
157	17# cat meminfo
158	        total:    used:    free:  shared: buffers:  cached:
159	Mem:   7028736   925696  6103040   114688        0   229376
160	Swap:        0        0        0
161	MemTotal:         6864 kB
162	MemFree:          5960 kB
163	MemShared:         112 kB
164	Buffers:             0 kB
165	Cached:            224 kB
166	Active:            224 kB
167	Inact_dirty:         0 kB
168	Inact_clean:         0 kB
169	Inact_target:        0 kB
170	HighTotal:           0 kB
171	HighFree:            0 kB
172	LowTotal:         6864 kB
173	LowFree:          5960 kB
174	SwapTotal:           0 kB
175	SwapFree:            0 kB
176	17# 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	
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.