= Pc386 = The PC386 BSP is designed to support a wide variety of PC clones and supports "variants" for the most popular CPU models. The availablility of these variant builds makes it possible to build a BSP which is optimized for a particular CPU model. Currently, the following variants are available: * pc386 - i386DX class CPU with i387 FPU * pc386dx - i386DX class CPU without an FPU * pc486 - i486 class CPU with integrated FPU * pc586 - Pentium class CPU * pc686 - Pentium II class CPU * pck6 - AMD K6 CPU More variants can be added to take advantage of GCC optimizations for newer CPUs or to take advantage of features in newer CPUs. Instructions are available for using this BSP with the PC simulator [wiki:Developer/Simulators/Bochs Bochs]. = Booting an RTEMS Application = For PC like hardware (pc386 BSP), the most succesfull way seems to be to use GRUB to boot RTEMS binaries. The instructions are available for booting directly from floppy/harddrive and also for PXE network boot using GRUB. See c/src/lib/libbsp/i386/pc386/HOWTO for more information. Alternatively, you can boot from Dos using Luca Abeni's eXtender, available from http://freedos-32.sourceforge.net/downloads.php This enables you to run DOS diagnostics and utilities (such as chkdsk) before startup. To use eXtender, add the "x" command followed by your RTEMS image name to your autoexec.bat file. For example: {{{ C:\>x smart.exe }}} = Embedded PC Platforms = There are a wide variety of embedded PC platforms. Specific instructions are available for the following: == DIMMPC == DIMMPC is a single chip Embedded PC that is compiled with the pc386DX BSP as it has no math coprocessor. The DIMMPC comes with DR Caldera DOS pre-installed, so it is best to boot RTEMS using eXtender. DIMMPC has onboard cs8900 ethernet port. The drivers being used have been written by Cybertec Pty Ltd, and funded by Commonwealth Government through the Australia Council, its arts funding and advisory body. Current Version tested is rtems-4.6.0pre5 and is extremely stable. == Bobcat == The Versalogic Bobcat is a PC-104 system with an Elan SC520 CPU which is comparable to a 133 Mhz 486/586. The NIC is an EtherExpress Pro. [wiki:User:EricNorum Eric Norum] tested this PC-104 system with a serial console, while OAR's configuration had a graphics card. [wiki:User:EricNorum Eric Norum] provided the following information in a series of email exchanges. Eric sent [wiki:User:JoelSherrill Joel Sherrill] the FBU.EXE and ROM image he used since OAR had a BobCat. Both worked. In order to get the Bobcat to boot via BOOTP/TFTP, you must perform the following steps. They may look pretty short, but Eric can assure you that there's a couple days work behind them. * Get EtherExpressPro Boot ROM image from the rom-o-matic web server. * Copy FBU.EXE and ROM image to MS-DOS bootable floppy. ROM image must be in a file name who's name begins with `E' and extension is `.BIN'. * Set Bobcat CMOS Advanced Configuration option to: {{{ E000h 64k page function : BIOS ext }}} * Boot from floppy and run: {{{ FBU E82559ER.BIN (or whatever the ROM image file is named). }}} = Serial Port as Console = If you are willing to set a define and recompile, any serial port can be forced to be the console rather than the video. In addition, Eric Norum made a change that lets the BSP automatically fall back to using COM2: as a serial-line console (9600-8N1) if no video adapter is present. This allows the pc386 BSP to be used on conventional PCs with video adapters as well as with embedded PCs (PC-104) which have no video adapters. To make this change, add the '#define' line shown below (example based on rtems-ss-20030128/c/src/lib/libbsp/i386/pc386/console/console.c): {{{ rtems_termios_initialize (); #define RTEMS_RUNTIME_CONSOLE_SELECT #ifdef RTEMS_RUNTIME_CONSOLE_SELECT /* * If no video card, fall back to serial port console }}} = Test Reports = == 4.6 Branch == 4.6.99.2: i810 board (PIII/EtherExpress 100 on board): [wiki:User:Psorensen Phillip Sorensen] tested with ticker and hello. Initial successful testing with EPICS. 4.6 branch (October 3 2005 -- 4.6.4 plus): qemu: Seems to work reasonably well. Using qemu on GNU/Linux Fedora Core 4, hello, ticker, netdemo, and httpd test ran. I ran some non-networking tests using the Qemu MS-Windows port. I backported [User:KarelGardas| Karel Gardas's]] timer driver from the CVS head and get what appear to be reasonable numbers from the tmtests if the units are in microseconds. This is with using a GRUB boot floppy. Reported by [wiki:User:Joel_Sherrill Joel Sherrill]. == CVS Head == CVS HEAD (September 1 2005): IBM T22 (PIII/Intel EtherExpress 100): [wiki:User:KarelGardas Karel Gardas] tested tm01.exe and netdemo.exe CVS HEAD (September 1 2005): noname K6-2 (K6-2/3C905-TX-C): [wiki:User:KarelGardas Karel Gardas] tested tm01.exe and netdemo.exe CVS HEAD (September 1 2005: homebuild K8 (Winchester/Asus A8V): [wiki:User:KarelGardas Karel Gardas] tested tm01.exe CVS HEAD (September 22 2005): qemu: When using gcc 3.3.5 RPMs, hello, ticker and some tmtests successfully ran. Reported by [wiki:User:Joel_Sherrill Joel Sherrill]. CVS HEAD (September 22 2005): qemu: When using any gcc 4.0.x (4.0.1 RPMs or 4.0.2pre2), hello ran but ticker fails. Email thread is at http://www.rtems.com/ml/rtems-users/2005/september/msg00143.html. Reported by [[User:Joel Sherrill|Joel Sherrill]].