??? 06/08/05 22:29 Read: times |
#94525 - nope. Responding to: ???'s previous message |
I said:
OK, so we're dealing with ancient products without the benefit of JTAG, etc. Richard Erlacher said:
805x devices that don't support JTAG are not necessarily ancient. I never said that. You keep talking about "products I designed back in '85 or so." and "applications that I designed in the '80's" and giving them as the reasons why you can't use JTAG, etc. "Resident" simply implies that the debugger executes within the environment and on the core of the local 805x, not in an external device. Yes, I understand that. But I still don't see why you need anything other than the most basic "kernel" to be actually resident. It seems to me that everything else would actually be far better off being in a PC. The fact that it resides within the environment under test is what makes it useful, since it then executes code with the timing and under other effects of the local environment. No, that is completely irrelevant. All you actually need resident is something that can load & examine memory & registers, and set your code running. I can see no point in having the debugger, assembler and disassembler actually resident in the chip. While you are typing-in your test code line-by-line, the 8051 is not executing that test code in real time! the code doesn't get executed until you type "GO!" (or whatever). So what is the point in having the assembler in the 8051? Why not have the assembler on a PC (a far more suitable platform for the job), and simply have it send the assembled binary code to the small resident "kernel" which then loads it to memory & runs it. What I use as a terminal, these days, is generally a notebook running some version of Windows and a terminal emulator. Of course you do! So you've got a PC there anyway - why not get it doing something more useful than just being a terminal emulator? Of course, back in the Old Days we did only have a dumb VT52 - the only processor available was the target processor. In that situation, all the debug tools naturally have to be resident in the target - and constrained by the limitations of the target. However, I believe it's incumbent, ethically and morally, on me, to provide services at the lowest possible cost to my clients. This doesn't mean, simply, that I should do my work for nothing, but, rather, that I should do things in the most efficient and cost-effective way that I can. Exactly. So just putting the minimum debug "kernel" into the chip serves this goal better - because its cost is multiplied by every single chip, whereas only relatively few of the PC-based debugger apps would be required. And having just a minimal resident kernel makes it much more likely to be generic and suitable to all your products - again reducing the per-unit cost. Where specific "advanced" features need to be introduced, this can be much more easily managed by having different variants of the PC application that all use the same resident kernel. It is generally best to push as much complexity as possible as far "up" the chain as possible. |