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