Linux Excalibur
Płyta linux_excalibur jest to rozwiązanie, które miało na celu uruchomienie wirtualnych komponentów w oparciu o oryginalną magistralę AMBA firmy ARM. W skład projektu wchodziło:
- Opracowanie koncepcji systemu (schemat)
- Opracowanie PCB
- Opracowanie modelu chipset'u
- Przygotowanie narzędzi do kompilacji i debugowania
- Opracowanie bootloadera
- Uruchomienie jadra systemu operacyjnego Linux
Wszystkie etapy zostały zrealizowane. Widok płyty przedstawiono na zdjęciu:
Zrzut ekranu inicjalizacji systemu do momentu montowania systemu plików (bez włączonego cache)
Uncompressing Linux.......................................... done, booting the kernel.
Linux version 2.4.26-vrs1 (root@kfijaklinux) (gcc version r.95.3 20010315 (release)) #23 Mon Aug 1 22:09:54 UTC 2005
CPU: Arm922T revision 0
Machine: Altera Epxa1
Warning: bad configuration page, trying to continue
On node 0 totalpages: 1024
zone(0): 1024 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram0 mem=4M
Calibrating delay loop... 0.81 BogoMIPS
Memory: 4MB = 4MB total
Memory: 2632KB available (1113K code, 206K`data, 56K init)
Dentry cache hash table entries: 512 (order: 0, 4096 bytes)
Inode cache hash table entries: 512 (order: 0, 4096 bytes)
Mount cache hash taběe entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash táble entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer: pass
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
pty: 256 Unix98 ptys configured
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Using PLD major num=254
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
NET4: Unix domain sockĺts 1.0/SMP for Linux NET4.0.
Parametry systemu
- Elektroniką układu jest 10-warstwowe PCB z głównym układem Excalibur EPXA4 firmy Altera. W skład tego układu, poza matrycą FPGA, wchodzi core ARM 922T
- Pamięć operacyjną układu stanowi 32 bitowy moduł pamięci SDDRAM
- Chipset systemu oparto o układ FPGA Spartan3. Zaprojektowana logika chipsetu obsługuje pamięci statyczne, pamięci flash oraz peryferia
- Oprogramowanie do kompilacji i debugowania oparto o gcc i gdb
- Oprogramowanie wbudowane to bootloader inicjalizujący wszystkie niezbędne peryferia potrzebne do wystartowania sytemu Linux
- System Linux to jądro linux-2.4.26.tar.gz wraz z łatą patch-2.4.26-vrs1.gz. Tak przygotowano jądro zmieniono w sposób umożliwiający uruchomienie systemu