Loading RTEMS application on MVME162

AJAI KUMAR MEDHAVI akmedhavi at rrcat.gov.in
Wed May 5 11:59:06 UTC 2010


Hi,


This is in continuation of first mail. I have build RTEMS with sample
application "Hello", for M68K and MVME162 BSP using MinGW Tools for
Windows.


Initially the file generated Hello.exe was of size of 1.52MB. Then I
reduced size of Hello.exe to 55KB by using m68k-rtems4.9-strip


Then I download sample application - Hello.exe on MVME162. But when I
execute go command, my CPU gets failed.


Please note that :


1. I have given following configuration options :


../rtems-4.9.1/configure    --target=m68k-rtems4.9
                            --enable-rtemsbsp=mvme162
                            --enable-cxx
                            -–enable-itron
                            --disable-rdbg
                            --disable-posix
                            --enable-networking
                            --enable-tests=samples
                            --prefix=/opt/rtems4.9


2.  The file linkcmds in
.\rtems-4.9.1\c\src\lib\libbsp\m68k\mvme162\startup folder has following
setting :


/*
 * Declare some sizes.
 */
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x20000;
_RamSize = DEFINED(_RamSize) ? _RamSize : 1M;
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;

MEMORY
{
        ram : org = 0x000000, l = 1M
}

SECTIONS
{
	ram : {
		. = .;
	} >ram

        /*
         * Text, data and bss segments
         */
        .text 0x20000 : {
                *(.text*)

		/*
		 * C++ constructors/destructors
		 */
		*(.gnu.linkonce.t.*)



3. Bspstart.c has following code :


oid bsp_start( void )
{
  m68k_isr_entry       *monitors_vector_table;
  int                   index;
  extern void          *_WorkspaceBase;
  extern void          *_RamSize;
  extern unsigned long  _M68k_Ramsize;

  _M68k_Ramsize = (unsigned long)&_RamSize;  /* RAM size set in linker
script */

  /*
   *  162Bug Vectors are at 0xFFE00000
   *  162Bug Vectors on LX are at 0x00000000
   */

#if defined(mvme162lx)
  monitors_vector_table = (m68k_isr_entry *)0x00000000;
#else
  monitors_vector_table = (m68k_isr_entry *)0xFFE00000;
#endif

  m68k_set_vbr( monitors_vector_table );

  for ( index=2 ; index<=255 ; index++ )
    M68Kvec[ index ] = monitors_vector_table[ 32 ];

  M68Kvec[  2 ] = monitors_vector_table[  2 ];   /* bus error vector */
  M68Kvec[  4 ] = monitors_vector_table[  4 ];   /* breakpoints vector */
  M68Kvec[  9 ] = monitors_vector_table[  9 ];   /* trace vector */
  M68Kvec[ 47 ] = monitors_vector_table[ 47 ];   /* system call vector */

  m68k_set_vbr( &M68Kvec );

  /*
   *  You may wish to make the VME arbitration round-robin here, currently
   *  we leave it as it is.
   */

  /* set the Interrupt Base Vectors */

  lcsr->vector_base = (VBR0 << 28) | (VBR1 << 24);

  page_table_init();

  Configuration.work_space_start = (void *) &_WorkspaceBase;
}


Kindly provide me information/help in following :


1. The precise procedure for loading hello.exe on MVME162-512A.


2. If anybody has working image of Hello.exe or any executable sample
application image for MVME162-512A VME cpu board, plase mail me on
akmedhavi at rrcat.gov.in and akmedhavi at rediffmail.com for testing it.


3. Any other information which may help me.




Please reply at the earliest.




Thanks and regards


AJAI KUMAR MEDHAVI
SCIENTIFIC OFFICER
RAJA RAMMANNA CENTRE FOR ADVANCED TECHNOLGY
PO : CAT, INDORE-452013, INDIA
PH. 91-731-2488054
Email : akmedhavi at rrcat.gov.in






-- 





More information about the users mailing list