Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/09/05 00:43
Read: times


 
#94533 - Full-function resident debug monitor
Responding to: ???'s previous message
You insist
"...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. "

to which I ask, "What's the advantage?"

Remember, all I initially asked was whether there's a monitor with the features I've mentioned that's available as 'C'-source. Most of what I got back, rather than a resounding "NO", which is what's apparently the case, is a bunch of pitches for using systems that are far more complex.

The reason I want source code, if available, is that I want to use it to support all the suitable MCU's, not just this one. While I like the 805x types, I also like some others, and I'd like a debugger like what I've used in the past, under CP/M and later under DOS. One reason is that the very best software I've encountered under Windows is resoundingly awful, poorly documented, and, mostly, falsely advertised.

I trust what I do, however imperfect, because I know what it is. It may take a little time to find out, but, ultimately I'll know what it is. That's never the case with commercial products.

I'll probably produce another 15-25 MCU-based designs over the remainder of my life, of which maybe 4 or 5 will use an 805x in the "classic" packages (DIL40 or PLCC44). The majority of the time spent on these will be in debugging and documentation. I don't want to have to learn a new debugger for each MCU, nor do I want to have to learn to drive someone else's user interface.

It's bad enough having to interact with Windows alone, just to invoke and use the terminal emulator. I certainly don't want to deal with the interprocess communication hassles that were never properly worked out, the DLL's that don't allow themselves to be dismissed when they should, and the other "gotchas" that pop up every day when I'm trying to figure out a problem. I certainly don't want to have to pick up a phone to call a pitifully ignorant support or sales person and then wait days or weeks before getting a solution, if one ever comes down the pike.

I'll repeat, "Where's the advantage" in having an assembler and disassembler on the PC, which will require that I run a communication task, a disassembler, an editor, an assembler, and another communication task just to patch a few dozen bytes of code. Yes, it's doable, but whenever I use a commercial package, I spend more time wrestling with the commercial package or trying to get it fixed than I do being productive. I'm willing to say that in most cases, a resident debugger with a link to a terminal through an external UART/BRG will outperform an ICE and its support tools, or JTAG and the associated tools, in terms of getting the job done. Now, I'm not talking about massive reworks, where new documentation and everything else is required, but merely the stuff I'm most likely to have to do on short notice. I just want to plug in my terminal interface, etc, and try to remember the assembler mnemonics. All of this stuff was much easier before Windows.

you said
"...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."

to which I have to ask, "Why?"

If I were writing an OS, perhaps, but if I'm fixing a problem that didn't occur in extensive simulation, and didn't show up in careful analysis prior to generating the code set in the first place, it doesn't require a major computing power to patch the code. It probably wants a bit inverted or a timing parameter modified to get the problem fixed. Do I really want to go through the entire edit, compile/assemble, link, download, and program sequence each time I modify a parameter? Probably not.

I just communicated with someone from KEIL, for example, a few days ago, and concluded that the individual concerned didn't even understand the page modes supported by the latest Maxim/Dallas 805x scions. What he didn't seem to understand is that it's possible to compute precise timing for any sequence of code executing in that environment. Though the MCU inserts extra clock cycles when a page boundary is crossed, it's clearly possible to compute the timing. What his comments mean is that their simulator doesn't simulate the hardware. Would you want to do your work with products from a company that asserts through its personnel that such timing is indeterminate? I'd be really careful!

I said,
" 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."

to which you replied

"No, that is completely irrelevant. "

Now, I don't see how that can be true. If I'm trying to cause execution of a test loop that's not part of the main code body so I can get a picture of the interface state with the logic analyzer, possibly with the goal of tracking down a signal quality issue, I think it's completely relevant.

You said,
"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. "

You don't seriously believe I'd ship the debugger with every unit, do you? It's a tool like and ICE or whatever. It goes in when trouble is being sought out, and comes back out when the job's done.

You closed with,
"It is generally best to push as much complexity as possible as far "up" the chain as possible."

... which might be true, were it not for the presence of Windows. Windows is pretty, it's easy to play with, but as for accomplishing useful work outside the common set of office or internet tools, I'd say it's a millstone around one's neck. If your tools use M$ Windows, and I've got almost all the versions, you're in for a difficult time.

RE

List of 115 messages in thread
TopicAuthorDate
Full-function debugger?            01/01/70 00:00      
   Keil uVision?            01/01/70 00:00      
      Full-function resident debuger            01/01/70 00:00      
         Oh...            01/01/70 00:00      
   Proteus6 or ISIS 5.2 Professional            01/01/70 00:00      
      full-function resident debugger            01/01/70 00:00      
         Like a Dream!            01/01/70 00:00      
   paulmon?            01/01/70 00:00      
   many possibilities            01/01/70 00:00      
      resident monitor vs. simulator/ICE            01/01/70 00:00      
         pray tell which            01/01/70 00:00      
         Nonsense!            01/01/70 00:00      
   best rethink this ...            01/01/70 00:00      
      comments            01/01/70 00:00      
      Nonsense!            01/01/70 00:00      
      Slow?            01/01/70 00:00      
         there's the rub...            01/01/70 00:00      
            I think I know what you're asking for            01/01/70 00:00      
               so what if JTAG is dead slow            01/01/70 00:00      
                  exactly            01/01/70 00:00      
                  full function debugger            01/01/70 00:00      
               Full-Function debug monitor            01/01/70 00:00      
                  answers and questions            01/01/70 00:00      
                     Full-Function debugger            01/01/70 00:00      
                  Does size matter??            01/01/70 00:00      
                     Full-Function resident debug monitor            01/01/70 00:00      
                  JTAG is the INTERFACE ..            01/01/70 00:00      
                     Full-Function resident debug monitor            01/01/70 00:00      
            You Call That Convenient???            01/01/70 00:00      
               A Men !!!            01/01/70 00:00      
                  sadly not            01/01/70 00:00      
                     be specific            01/01/70 00:00      
                        specifics            01/01/70 00:00      
                        Specifics....            01/01/70 00:00      
               Full Function Resident Debugger            01/01/70 00:00      
   JTAG vs On-Chip Debug            01/01/70 00:00      
   Full-Function Resident Debug Monitor            01/01/70 00:00      
      fried baloney            01/01/70 00:00      
         full-function debugger            01/01/70 00:00      
            a few questions            01/01/70 00:00      
               Full-Function resident debug monitor            01/01/70 00:00      
                  Still don't see why it needs to be...            01/01/70 00:00      
                     Full-Function resident debug monitor            01/01/70 00:00      
                        nope.            01/01/70 00:00      
                           Full-function resident debug monitor            01/01/70 00:00      
                              NASA            01/01/70 00:00      
                                 Full-function resident debug monitor            01/01/70 00:00      
                                    JTAG ?            01/01/70 00:00      
                                       Sometimes not            01/01/70 00:00      
                                       JTAG            01/01/70 00:00      
                                    OH!            01/01/70 00:00      
                                       Synchronization            01/01/70 00:00      
                                          what does that have to do with            01/01/70 00:00      
                                             synchronization            01/01/70 00:00      
                                                that is not "synchronization"            01/01/70 00:00      
                                                   synchronization            01/01/70 00:00      
                                                      more            01/01/70 00:00      
                                                         and more            01/01/70 00:00      
                                                            re: and more (was "Synchronization:)            01/01/70 00:00      
                                                         re: more (was Synchronization)            01/01/70 00:00      
                                                            ask about sim, get answer about mon            01/01/70 00:00      
                                                               simulator vs. debugger            01/01/70 00:00      
                                                                  The end            01/01/70 00:00      
                                                                     thank goodness!            01/01/70 00:00      
                        ancient?            01/01/70 00:00      
                  different targets            01/01/70 00:00      
                     Full-function resident debug monitor            01/01/70 00:00      
                        I know what that is            01/01/70 00:00      
      But Why?            01/01/70 00:00      
         Full-function debugger            01/01/70 00:00      
            limitatitions?            01/01/70 00:00      
   to Richard            01/01/70 00:00      
      full-function resident debug monitor            01/01/70 00:00      
         Time Warp            01/01/70 00:00      
            Multiple target            01/01/70 00:00      
               Full-function resident debug monitor            01/01/70 00:00      
            Full Function resident debug monitor            01/01/70 00:00      
               This is a discussion forum            01/01/70 00:00      
                  Problem in resolution            01/01/70 00:00      
                     Off-Topic!            01/01/70 00:00      
               So you got a free bonus!            01/01/70 00:00      
                  beating a dead horse            01/01/70 00:00      
         seek and ye shall find            01/01/70 00:00      
   Dunfield Development Systems ??            01/01/70 00:00      
      Full-Function Debug Monitor            01/01/70 00:00      
   Some barebone monitors            01/01/70 00:00      
      BASIC            01/01/70 00:00      
         BASIC ???            01/01/70 00:00      
            Not pretending it is            01/01/70 00:00      
            on BASIC            01/01/70 00:00      
               Acorn ?            01/01/70 00:00      
                  asm in basic            01/01/70 00:00      
      Full function resident debug monitor            01/01/70 00:00      
         source            01/01/70 00:00      
            Full function resident debugger C-source            01/01/70 00:00      
            Giving away source            01/01/70 00:00      
               of course you would            01/01/70 00:00      
                  Ha            01/01/70 00:00      
                     Poor DA A            01/01/70 00:00      
                        Here is my stock            01/01/70 00:00      
                           DA A            01/01/70 00:00      
      seasoned hands??            01/01/70 00:00      
         ROM-emulator + debug monitor            01/01/70 00:00      
         In ROM monitor.            01/01/70 00:00      
            emulators            01/01/70 00:00      
         Seasoned hands            01/01/70 00:00      
      BASIC - and - MONITOR-51            01/01/70 00:00      
   Timer 0 isr howto            01/01/70 00:00      
      to Jonzon Yeow            01/01/70 00:00      
   back to the original question            01/01/70 00:00      
      There's an echo in here...            01/01/70 00:00      
         sorry for not crediting you            01/01/70 00:00      
      XCHD instructions.            01/01/70 00:00      
      Original question            01/01/70 00:00      
   re;synchronization            01/01/70 00:00      

Back to Subject List