About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / cris


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

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


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog