I need a whinge. Bloody Zilog's so-called ez80 software has been running me ragged for over a week. The code executes perfectly on the development kit, crashes on the target. Running off with the fairies, Program counter pointing anywhere.
MUST be a hardware fault. Spent ages writing evermore sophisticated tests to fault the RAM. No failures at all.
OK, spurious interrupts- had every input line attached to capacitor -on
-a- string, board looks like a hedgehog. No change.
Glitches? 4 layer board with decouplers splattered everywhere, unlikely, in any case everything executes perfectly in MY test programs...
Start to suspect something in their code. Closed source, so not much to go on.. but did find that the devkit never gets beyond a certain point, the target does... after the first thread has been created. So the roaming PC was partly due to execution falling off the end of the routine, presumably with nowhere to go. Fixed that with an infinite wait loop.
Now reaches the loop, but doesn't start the thread. Where's the timer interrupt, can we break there... the timer interrupt is in the middle of an unallocated memory area. Hang on, I TOLD them that the RAM was
0xC00000 to 0xC7FFFF, why is the interrupt table being plonked at 0xBF8000?Stepped through the startup code, they load it in there. Why??? The devkit has RAM there, I don't, but why doesn't the linker sort all that out? They must have left an absolute address in there from when they bodged the thing in the first place.
Where do they tell you about this in the docs? You some kind of crazy optimist? Half the documentation refers to other documents that don't exist, either on the disk or on the Zilog website. the other half is just mykin' it ap.
OK whinge over, I'm off for a few days on the boat... if anyone doesn't know what narrowboating on English canals is like, just come and try it, it's like Tai Chi combined with Zen meditation interspersed with short burst of purposeful activity at locks or swing bridges, the day ends with liver busting pub blowouts..
Paul Burke