I have a new board design that has the 280039 processor. It is a derivative product from another that also has a 280039 processor. Some of the pinouts have changed but overall not much. Therefore, we have experience with a working SYS/BIOS on a 280039. However, on this new board SYS/BIOS will crash or go to abort (depending on whether I add some test code or not). I'll focus on the "abort" case for now. When this happens all of the PIEIER registers have been initialized to zero. So, there are no PIE interrupts available. I thought this might be due to an NMI so I created a simple handler for that and added a breakpoint there but it does not hit the breakpoint.
The code path is quite short before the failure. It runs main, starts the first task, and then it's toast. Up to this point, the code is the same as the parent product that it is derived from. It looks to me like something is stepping on the SYS/BIOS memory because what I see in the ROV doesn't make sense for such a small code run. Additionally, this code runs on the parent product. It will crash after close to a minute. But that is to be expected because some of the IO is mapped differently. But the code actually comes up and runs. However, on the derivative system that this is supposed to run on, it doesn't.
When it goes into the "abort" loop, the only interrupt enabled is Int13 and it looks as though the flag is 1. I think this interrupt is setup by the OS for the OS. Is that correct?
See the attached .zip file for screen shots and code snippet.
Any help is appreciated.