I'm trying to put the monitor in an EPROM so I don't have to download over USB (using FX2 device). I've done everything that I think is needed, but still get monitor error 22 - no code memory at 1212h. The hex file does not contain any data at address 1212! The load completes (i.e. download hits 100%) but debugger won't start up. I do see that during the download, one time, the processor does a read from address 1212h which is probably not an instruction fetch but a read from code memory (since it reads one byte from that region and that's all, while executing up around CXXX). Has anyone successfully gotten the monitor to run on their board?
It's our own board. If I had a listing of the monitor library source then I could see what region the code is in when it reads address 1212h. There should not be any accesses to this area, and there is no data in the hex file in this region. If I could tell that the processor was trying to push something on the stack, for example, then I'd know that the stack pointer must be messed up. Perhaps you could compile the library with some higher level of debug turned on, so that the resulting map file includes lots more data about what routines are where in memory. After spending weeks on this I don't think that I'd be any worse off with the source. I've really exhausted all the usual problems. I followed everything in the app note, and the monitor is "sort of" recognized, and all the code does download - just doesn't run at the end. Does the EPROM area near address zero have to be writeable? My understanding is that all the jumps in the vector table are redirected to similar jumps (a duplicate table) at address 8000. If the code tries to change locations at that address then of course it won't work since it's not von neumann in that region.