Jmr3904
Table of Contents
BSP Infobox
BSP_name | jmr3904 |
Manufacturer | Toshiba |
Board_URL | http://www.ecoscentric.com/ecospro/doc/html/user-guide/rt-tx39-jmr3904.html |
Architecture | MIPS |
image | Microprocessors.jpeg |
CPU_model | TMPR3904F 50MHz |
Simulator | Yes, included in GDB. |
Aliases | jmr3904 |
RAM | 512k |
NVMEM | 16/32 kb EEPROM, 6 KB Flash |
Serial | PMON serial port |
Video | Video Unspecified |
Other | Timers integrated with the processor |
Overview
The TX3904 is a MIPS R3000 class CPU with serial ports and timers integrated with the processor. This BSP can be used with either real hardware or with the simulator included with mipstx39-rtems-gdb
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.
Board Setup
The eCos Developer’s Kit package comes with a pair of ROMs that provide GDB support for the Toshiba JMR-TX3904 RISC processor reference board by way of CygMon?.
Images of these ROMs are also provided at BASE_DIR/loaders/tx39-jmr3904/cygmon50.bin and BASE_DIR/loaders/tx39-jmr3904/cygmon66.bin for 50 MHz and 66 MHz boards respectively. The ROMs are installed to sockets IC6 and IC7 on the memory daughterboard according to their labels. Attention should be paid to the correct orientation of these ROMs during installation.
- Using HAL Package
- The JMR3904 HAL package should be used when targeting the
actual hardware. The same package can also be used when running on the full simulator, since this provides an accurate simulation of the hardware including I/O devices. To use the simulator in this mode the command `target sim --board=jmr3904' should be used from inside gdb.
- The jmr3904 target provides the packages needed to run
eCos on a Toshiba JMR-TX3904 board. This target can also be used when running in the full simulator, since the simulator provides an accurate simulation of the hardware including I/O devices. To use the simulator in this mode the command `target sim --board=jmr3904' should be used from inside gdb.
Running Applications on the Target
On Windows you must have the bash command line interpreter running with some environment variables which are useful for eCos work. If you have purchased the eCos Developer's Kit , you can select this by selecting Start->Programs->Red Hat eCos->eCos Development Environment . If you are using the eCos Net release, you should set the environment variables as shown in the GNUPro Toolkit Reference Manual . On Linux, simply open a new shell window.
You will need to change directory to the prebuilt tests that are provided in the eCos installation. Change directory as follows:
for the TX3904-based Toshiba JMR-TX3904 board:
$ cd BASE_DIR/prebuilt/jmr3904/tests/kernel/v1_3_1/tests
To execute the thread_gdb test case on the desired target, run GDB in command line mode using the following command, remembering to substitute the appropriate name for the architecture's gdb
Debugging
To debug your code you need JMR-TX3904 RISC Processor Reference Board with eCos CygMon? Debug EPROMs installed
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.
References
There is a simulator for this board in GDB,but if you want something different,you can download another simulator here
You can find manuals here and here
You can check out the tests here