wiki:TBR/BSP/Jmr3904
Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Version 21 (modified by Roskotheslayer, on 11/29/10 at 20:26:05) (diff)

Jmr3904

{{Infobox BSP |BSP_name = jmr3904 |Manufacturer = Toshiba |Architecture = MIPS |CPU_model = Toshiba TX3904 |Simulator = Yes, included in GDB. }}

Overview

Intelligent dedicated systems and appliances used in interface, monitoring, communications, and control applications increasingly demand the services of a sophisticated, state-of-the-art operating system. Many such systems require advanced capabilities like: high resolution and user-friendly graphical user interfaces (GUIs); TCP/IP connectivity; substitution of reliable (and low power) flash memory solid state disk for conventional disk drives; support for 32-bit ultra-high-speed CPUs; the use of large memory arrays; and seemingly infinite capacity storage devices including CD-ROMs and hard disks.

The jmr3904 BSP is a Toshiba evalutation board for the TX3904. The TX3904 is an R3000 class system on chip with some timers and UARTS.

The most important thing about this BSP is that gdb has a simulator for it. The simulator is reasonably fast and accurate with the capability to simulate a clock interrupt source. It is one of the most frequently tested BSPs in RTEMS.

NOTE: GDB must be configured for mipstx39-* for this simulator to function correctly. This is why the mipstx39-rtems* RPMs are provided. The BSP can be built with mips-rtems* tools but can only be executed by the more specifically targetted gdb.

Using The BSP

The following is a session using the RTEMS 4.6 toolset to run hello.

$ mipstx39-rtems-run --board=jmr3904 hello.exe 
   *  HELLO WORLD TEST ***
Hello World
   *  END OF HELLO WORLD TEST ***

The following is a session using the RTEMS 4.6 toolset to run ticker.

$ mipstx39-rtems-run --board=jmr3904 ticker.exe 


   *  CLOCK TICK TEST ***
TA1  - rtems_clock_get - 09:00:00   12/31/1988
TA2  - rtems_clock_get - 09:00:00   12/31/1988
TA3  - rtems_clock_get - 09:00:00   12/31/1988
TA1  - rtems_clock_get - 09:00:05   12/31/1988
TA2  - rtems_clock_get - 09:00:10   12/31/1988
TA1  - rtems_clock_get - 09:00:10   12/31/1988
TA3  - rtems_clock_get - 09:00:15   12/31/1988
TA1  - rtems_clock_get - 09:00:15   12/31/1988
TA2  - rtems_clock_get - 09:00:20   12/31/1988
TA1  - rtems_clock_get - 09:00:20   12/31/1988
TA1  - rtems_clock_get - 09:00:25   12/31/1988
TA3  - rtems_clock_get - 09:00:30   12/31/1988
TA1  - rtems_clock_get - 09:00:30   12/31/1988
TA2  - rtems_clock_get - 09:00:30   12/31/1988
   *  END OF CLOCK TICK TEST ***

Test Reports

4.6.4: User:JoelSherrill? reports that it runs fine on gdb 5.3.

4.6.99.2: User::JoelSherrill? reports that it runs fine on gdb 6.3.