|
Good afternoon,
1. Limitations during download to eZ80F91 internal FLASH
I encountered once before an issue with failure or difficulty to download to eZ80F91 FLASH if eZ80F91 NMI signal was being strobed for any reason. This is definitively an issue, confirmed by Zilog Tech Support in a Support Ticket, email or forum response (can’t remember which).
It’s unfortunate in that any application specific target hardware that utilizes NMI must assure it cannot be strobed during download. We have a workaround for that but at some point we still need to debug the NMI logic.
I’ve looked but can find no mention in the ZDS II Help files regarding this limitation.
2. Limitations during breakpoint
I’ve encountered an issue during breakpoint if the internal watchdog is enabled. If the breakpoint hits, the debugger will not regain control. If you attempt to manually Break using the Break button then this will not succeed either but instead will cause ZDS II to emit an error message as follows:
[ERROR] Command failed
Single step won’t work either, at least not after the Watchdog Timer is enabled.
Again, I can find no mention of this in the ZDS II Help files. Happily we also have a workaround (basically build with Watchdog disabled) but again, there still exists a need to test the watchdog logic.
3. Limitations during debug of a non-Watchdog build when using NMI
So we built a version of our code with the internal Watchdog Timer disabled and are able to successfully single step, run to breakpoint and manually Break the code using the ZDS II debugger. Granted the watchdog code can’t be tested directly but that’s another matter. Now, using this build we placed a breakpoint at the NMI vector (0x66), caused the NMI to fire and observed that ZDS II emits the following error message:
[ERROR] Unable to perform operation while target is running
Place the breakpoint one instruction later and all is good.
Again, I can find no mention of this in the ZDS II Help files.
4. Using View Memory in ZDS II to view locations from assembly (somewhat OT)
I have an assembly language file with “MyLabel: DS 8” and I wish to examine all 8 locations in a memory dump. A watch on MyLabel merely displays the first of 8 locations. A memory view allows me to specify by address, not symbolic name, but what’s the address of MyLabel? There doesn’t seem to be a quick way to drill down MyLabel to its actual absolute linked address and view it as an array of 8.
Being an intelligent person I can find ways to debug/ simulate my code in spite of these observed limitations. But I am disappointed that I can find no reference to support my observations or provide any guidance or workarounds.
I even looked in the ZDS II manual. There is nothing in there about the above error messages nor any comments about debug limitations due to user hardware.
I’d like to see some treatise on this subject from Zilog. Some basic limitations and recommendations for use would be helpful. How about a whitepaper or application note. I can’t be the only person interested in using the Watchdog Timer or NMI pin. If these two things complicate debugger use then it should be stated somewhere and what to do about it.
In my opinion.
Thanks for listening/ helping/ etc.
|