]>
Commit | Line | Data |
---|---|---|
14c70c3d JN |
1 | Linux on the CRIS architecture |
2 | ============================== | |
1da177e4 | 3 | |
14c70c3d JN |
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. | |
1da177e4 LT |
8 | |
9 | In order to compile this you need a version of gcc with support for the | |
14c70c3d | 10 | ETRAX chip family. Please see this link for more information on how to |
1da177e4 LT |
11 | download the compiler and other tools useful when building and booting |
12 | software for the ETRAX platform: | |
13 | ||
14c70c3d | 14 | http://developer.axis.com/wiki/doku.php?id=axis:install-howto-2_20 |
1da177e4 LT |
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, | |
14c70c3d | 21 | called ETRAX. |
1da177e4 LT |
22 | |
23 | The ETRAX 100LX chip | |
24 | -------------------- | |
25 | ||
14c70c3d | 26 | For reference, please see the following link: |
1da177e4 | 27 | |
14c70c3d | 28 | http://www.axis.com/products/dev_etrax_100lx/index.htm |
1da177e4 | 29 | |
14c70c3d JN |
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. | |
1da177e4 LT |
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 | |
14c70c3d JN |
50 | |
51 | (not all interfaces are available at the same time due to chip pin | |
1da177e4 LT |
52 | multiplexing) |
53 | ||
14c70c3d JN |
54 | ETRAX 100LX is CRISv10 architecture. |
55 | ||
56 | ||
57 | The ETRAX FS and ARTPEC-3 chips | |
58 | ------------------------------- | |
1da177e4 | 59 | |
14c70c3d JN |
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. | |
1da177e4 | 63 | |
14c70c3d JN |
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. | |
1da177e4 LT |
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 | ||
1da177e4 LT |
189 | |
190 | ||
191 | ||
192 | ||
193 | ||
194 | ||
195 |