SPARCengine 1e
From RTEMSWiki
SPARCengine 1e is a SPARC V7 board in VME, circa 1991.
This CPU was used as a prototype for the ERC32 chipset. It was reworked considerably for the ERC32 project (see below).
The existing RTEMS ERC32 BSP does not work on SPARCengine 1e (see below).
Motivation for port:
TSC695 (ERC32 triplet in one chip) "starter kit" is priced at $17K (Atmel). A used Force CPU-2CE board is a mere $100 on ebay. Same SPARC V7, same VME, 2 serial ports, Ethernet. TSC695 VME boards continue to be a viable choice of radiation-hardened embedded systems for space applications.
Differences between SPARCengine 1e and ERC32:
Provided by Jiri Gaisler:
The ERC32 is not very similar to the Fujitsu MB86901A processor used in the Sparcengine 1e. The integer pipeline implements the same SPARC V7 instruction set, but the memory hierarchy is completely different. MB86901A has a cache, an MMU, and DRAM main memory. ERC32 has no cache, no MMU and executes directly from 0-waitstate external static RAM. The peripherals (uart, timers, irq ctrl, I/O) are completely different. I also believe that the MB86901A has 7 register windows while ERC32 (based on Cypress 601) has 8.
It should be possible to develop an SS 1E bsp, but all low level code (drivers and init) will be different from ERC32. So the only RTEMS part you really can reuse is the general SPARC support. The complete bsp and associated drivers must be written from scratch. This means that you need detailed data sheets with register definitions, address allocation and interrupt routing. Unless you have that, it will be very difficult (impossible?).
User:Pianissimo Board documentation is available at http://car.uml.edu/misc/sparc-1e/
NetBSD availability for SPARCengine 1e
Limited success. SPARCengine 1e (sun4e machine) is a VME version of SPARCstation 1 (sun4c machine), and NetBSD is available for sun4c only. NetBSD sparc boot.net can start on SPARCengine 1e and use its port A as the console. Does not seem to work beyond that.
Other RTOS on SPARCengine 1e
MiThOS worked on sun4e, but without VME. MiThOS project is defunct, and no support is available.
An old version of VxWorks 5.0.2b-sparc worked, see http://alamoana.keck.hawaii.edu/inst/lris/ccdmsgs.html
Known problems with Rtems ERC32 on SPARCEngine 1e:
- ERC32 BSP is in ELF format, whereas SPARCengine bootloader supports a.out only.
User:JoelSherrill suggests that objcopy could be used to convert from the ELF executable linked by the normal application procedure to what the board expects. Many boards cannot download the object format produced when you link an application, so there is often a transformation step. Something like the following in the make-exe rule in the "custom" file should solve this:
$(OBJCOPY) -O a.out-sunos-big $(basename $@).nxe $(basename $@).exe
- Very little expert help can be found, the board is too old.
You can hope that some other free software project supports the board. NetBSD is always the first place to check. it might be worth a query on the crossgcc list.
- Original SUN libraries for this board are hard to find.
What do you need them for? And would be it OK to use them?
Although not the appropriate place to ask, the gcc list has people with all sorts of hardware.
Potential problems:
- MMU got redesigned in ERC32.
Not critical if the ROM monitor puts the CPU in what the i386 folks used to call the 32-bit flat memory model.
- VME support looks board-specific.
This looks bad even from the NetBSD notes I saw. It looked like they didn't support VMEBus either. If this is the same thing as a Force board, it might be worth asking in those circles.