#1962 closed defect

Problems with MVME162 BSP

Reported by: Vic Hoover Owned by: Joel Sherrill
Priority: normal Milestone: 4.10.3
Component: bsps Version: 4.10
Severity: normal Keywords:
Cc: gedare@… Blocked By:
Blocking:

Description (last modified by Joel Sherrill)

1) The BSP does not accept console input
2) The BSP does not use the factory default memory locations for DRAM. This caueses two probelems: a) RTEMS does not return to the 162Bug program on completion and b) exceptions cause a processor lockup instead of having 162Bug display the exception condition.
3) The BSP should be configured for an MC68LC040 (no FPU) by default so that all boards will work when compiled out of the box.

Attachments (2)

ChangeLog.VPH (776 bytes) - added by Vic Hoover on Nov 10, 2011 at 8:51:00 PM.
Change log entries for c/src/lib/libbsp/m68k/mvme162/ChangeLog
diff_rtems-4.10.1.VPH (15.9 KB) - added by Vic Hoover on Nov 10, 2011 at 8:52:22 PM.
Patch to RTEMS 4.10.1 release

Download all attachments as: .zip

Change History (5)

Changed on Nov 10, 2011 at 8:51:00 PM by Vic Hoover

Attachment: ChangeLog.VPH added

Change log entries for c/src/lib/libbsp/m68k/mvme162/ChangeLog

Changed on Nov 10, 2011 at 8:52:22 PM by Vic Hoover

Attachment: diff_rtems-4.10.1.VPH added

Patch to RTEMS 4.10.1 release

comment:1 Changed on Nov 11, 2011 at 1:27:49 AM by Gedare

Cc: Gedare added

comment:2 Changed on Nov 11, 2011 at 1:30:56 AM by Gedare

Replying to comment:3:

Thanks for filing this PR! One note, usually we prefer patches with the -u flag
(they are a little easier to read).

I also have a minor suggestion that I think could make the code a little easier
to maintain. You might change the define in mvme162/include/bsp.h to be
something like:
#if defined(mvme162lx)
#define 162BUG_VEC_ADDRESS 0x00000000
#else
#define 162BUG_VEC_ADDRESS 0xFFE00000
#endif

Then the following
! #if defined(mvme162lx)
! m68k_set_vbr(0x00000000); /* restore 162Bug vectors */
! #else
! m68k_set_vbr(0xFFE00000); /* restore 162Bug vectors */
! #endif

And

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

become

m68k_set_vbr(162BUG_VEC_ADDRESS);

...

monitors_vector_table = (m68k_isr_entry *)162BUG_VEC_ADDRESS;

these should work and reduce the number of places that would need to be updated
if the SRAM or DRAM base addresses changed.

Oops! That is exactly what you did! :) I just didn't quite parse the patch right.

comment:3 Changed on Nov 23, 2014 at 5:25:34 PM by Joel Sherrill

Description: modified (diff)
Milestone: 4.114.10.3
Resolution: fixed
Status: newclosed

I committed this on 2 Feb 2012. It appears to be on 4.10 and 4.11.

Note: See TracTickets for help on using tickets.