| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 | Linux on the CRIS architecture==============================This is a port of Linux to Axis Communications ETRAX 100LX,ETRAX FS and ARTPEC-3 embedded network CPUs.For more information about CRIS and ETRAX please see further below.In order to compile this you need a version of gcc with support for theETRAX chip family. Please see this link for more information on how todownload the compiler and other tools useful when building and bootingsoftware for the ETRAX platform:http://developer.axis.com/wiki/doku.php?id=axis:install-howto-2_20What is CRIS ?--------------CRIS is an acronym for 'Code Reduced Instruction Set'. It is the CPUarchitecture in Axis Communication AB's range of embedded network CPU's,called ETRAX.The ETRAX 100LX chip--------------------For reference, please see the following link:http://www.axis.com/products/dev_etrax_100lx/index.htmThe ETRAX 100LX is a 100 MIPS processor with 8kB cache, MMU, and a very broadrange of built-in interfaces, all with modern scatter/gather DMA.Memory interfaces:	* SRAM	* NOR-flash/ROM	* EDO or page-mode DRAM	* SDRAMI/O interfaces:	* one 10/100 Mbit/s ethernet controller	* four serial-ports (up to 6 Mbit/s)	* two synchronous serial-ports for multimedia codec's etc.	* USB host controller and USB slave	* ATA	* SCSI	* two parallel-ports	* two generic 8-bit ports	(not all interfaces are available at the same time due to chip pin         multiplexing)ETRAX 100LX is CRISv10 architecture.The ETRAX FS and ARTPEC-3 chips-------------------------------The ETRAX FS is a 200MHz 32-bit RISC processor with on-chip 16kBI-cache and 16kB D-cache and with a wide range of device interfacesincluding multiple high speed serial ports and an integrated USB 1.1 PHY.The ARTPEC-3 is a variant of the ETRAX FS with additional IO-unitsused by the Axis Communications network cameras.See below link for more information:http://www.axis.com/products/dev_etrax_fs/index.htmETRAX FS and ARTPEC-3 are both CRISv32 architectures.Bootlog-------Just as an example, this is the debug-output from a boot of Linux 2.4 ona board with ETRAX 100LX. The displayed BogoMIPS value is 5 times too small :)At the end you see some user-mode programs booting like telnet and ftp daemons.Linux version 2.4.1 (bjornw@godzilla.axis.se) (gcc version 2.96 20000427 (experimental)) #207 Wed Feb 21 15:48:15 CET 2001ROM fs in RAM, size 1376256 bytesSetting up paging and the MMU.On node 0 totalpages: 2048zone(0): 2048 pages.zone(1): 0 pages.zone(2): 0 pages.Linux/CRIS port on ETRAX 100LX (c) 2001 Axis Communications ABKernel command line: Calibrating delay loop... 19.91 BogoMIPSMemory: 13872k/16384k available (587k kernel code, 2512k reserved, 44k data, 24k init)kmem_create: Forcing size word alignment - vm_area_structkmem_create: Forcing size word alignment - filpDentry-cache hash table entries: 2048 (order: 1, 16384 bytes)Buffer-cache hash table entries: 2048 (order: 0, 8192 bytes)Page-cache hash table entries: 2048 (order: 0, 8192 bytes)kmem_create: Forcing size word alignment - kiobufkmem_create: Forcing size word alignment - bdev_cacheInode-cache hash table entries: 1024 (order: 0, 8192 bytes)kmem_create: Forcing size word alignment - inode_cachePOSIX conformance testing by UNIFIXLinux NET4.0 for Linux 2.4Based upon Swansea University Computer Society NET3.039Starting kswapd v1.8kmem_create: Forcing size word alignment - file lock cachekmem_create: Forcing size word alignment - blkdev_requestsblock: queued sectors max/low 9109kB/3036kB, 64 slots per queueETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications ABeth0 initializedeth0: changed MAC to 00:40:8C:CD:00:00ETRAX 100LX serial-driver $Revision: 1.7 $, (c) 2000 Axis Communications ABttyS0 at 0xb0000060 is a builtin UART with DMAttyS1 at 0xb0000068 is a builtin UART with DMAttyS2 at 0xb0000070 is a builtin UART with DMAttyS3 at 0xb0000078 is a builtin UART with DMAAxis flash mapping: 200000 at 50000000Axis flash: Found 1 x16 CFI device at 0x0 in 16 bit mode Amd/Fujitsu Extended Query Table v1.0 at 0x0040Axis flash: JEDEC Device ID is 0xC4. Assuming broken CFI table.Axis flash: Swapping erase regions for broken CFI table.number of CFI chips: 1 Using default partition tableI2C driver v2.2, (c) 1999-2001 Axis Communications ABETRAX 100LX GPIO driver v2.1, (c) 2001 Axis Communications ABNET4: Linux TCP/IP 1.0 for NET4.0IP Protocols: ICMP, UDP, TCPkmem_create: Forcing size word alignment - ip_dst_cacheIP: routing cache hash table of 1024 buckets, 8KbytesTCP: Hash tables configured (established 2048 bind 2048)NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.VFS: Mounted root (cramfs filesystem) readonly.Init starts up...Mounted none on /proc ok.Setting up eth0 with ip 10.13.9.116 and mac 00:40:8c:18:04:60eth0: changed MAC to 00:40:8C:18:04:60Setting up lo with ip 127.0.0.1Default gateway is 10.13.9.1Hostname is bbox1Telnetd starting, using port 23.  using /bin/sash as shell.sftpd[15]: sftpd $Revision: 1.7 $ starting upAnd here is how some /proc entries look:17# cd /proc17# cat cpuinfocpu             : CRIScpu revision    : 10cpu model       : ETRAX 100LXcache size      : 8 kBfpu             : nommu             : yesethernet        : 10/100 Mbpstoken ring      : noscsi            : yesata             : yesusb             : yesbogomips        : 99.8417# cat meminfo        total:    used:    free:  shared: buffers:  cached:Mem:   7028736   925696  6103040   114688        0   229376Swap:        0        0        0MemTotal:         6864 kBMemFree:          5960 kBMemShared:         112 kBBuffers:             0 kBCached:            224 kBActive:            224 kBInact_dirty:         0 kBInact_clean:         0 kBInact_target:        0 kBHighTotal:           0 kBHighFree:            0 kBLowTotal:         6864 kBLowFree:          5960 kBSwapTotal:           0 kBSwapFree:            0 kB17# ls -l /bin-rwxr-xr-x  1 342      100         10356  Jan 01 00:00 ifconfig-rwxr-xr-x  1 342      100         17548  Jan 01 00:00 init-rwxr-xr-x  1 342      100          9488  Jan 01 00:00 route-rwxr-xr-x  1 342      100         46036  Jan 01 00:00 sftpd-rwxr-xr-x  1 342      100         48104  Jan 01 00:00 sh-rwxr-xr-x  1 342      100         16252  Jan 01 00:00 telnetd
 |