= Jmr3904 = [[TOC(TBR/BSP/Jmr3904, depth=2)]] == 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: [wiki:User:JoelSherrill User:JoelSherrill] reports that it runs fine on gdb 5.3. 4.6.99.2: [wiki:User::JoelSherrill 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 [http://www.sfr-fresh.com/unix/misc/dejagnu-1.4.4.tar.gz:a/dejagnu-1.4.4/baseboards/jmr3904-sim.exp here] You can find manuals [http://uk.computers.toshiba-europe.com/innovation/download_manuals.jsp here] and [http://wenku.baidu.com/view/81e49785ec3a87c24028c4ef.html here] You can check out the tests [http://comp.ist.utl.pt/ec-sc/0304/docs/ecos-2.0b1/doc/html/user-guide/rt-tx39-jmr3904.html here]