Closed GoogleCodeExporter closed 9 years ago
Fixed in release 0.14. The problem was that IOUnit.initiateLoad() was using
IOUnit.finish() to construct the result descriptor and reset the unit's busy
status in Central Control. finish() also sets the I/O Complete interrupt, which
we don't want at the end of a load. finish() call
CentralControl.loadComplete(), which was resetting the appropriate I/O Complete
interrupt bit, but by this time the IAR had been set, so the interrupt would
occur anyway. The solution was for loadComplete() to call signalInterrupt(),
which will re-prioritize any pending interrupts and reset the IAR.
This was actually a problem for both disk and card load operations, but
apparently the KERNEL that gets loaded from disk is smart enough to ignore the
spurious interrupt, but the one-card ESPOL loader is not. It usually worked in
SyllableDebugger if "Run Silently" was not checked, but not otherwise, probably
due to differences in timing.
Original comment by paul.kimpel@digm.com
on 6 Oct 2013 at 5:21
Confirmed.
Original comment by paul.kimpel@digm.com
on 29 Dec 2013 at 4:33
Original issue reported on code.google.com by
paul.kimpel@digm.com
on 6 Jul 2013 at 2:46