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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/31/05 00:16
Read: times


 
Msg Score: +1
 +1 Good Answer/Helpful
#94124 - I think I know what you're asking for
Responding to: ???'s previous message
At the previous day job, we did VME single-board computers based on PowerPC. The boards booted into our monitor program. Older boards used a custom monitor program; newer boards used a single-user version of Linux built against busybox. Both let the user run scripts, run memory/hardware tests, view and modify memory and CPU and peripheral-device registers. As the monitor program evolved, new features were added: it could enumerate the PCI busses, it could discover SCSI devices and mount filesystems, it had networking support, it could update flash memory. Of course one could then boot into a more full-featured operating system, like VxWorks, Linux or the like.

I believe this is what you're looking for.

Most of these SBCs did not had keyboard/video/mouse interfaces (although some of our VGA boards had USB host controllers). The usual human interface to them is an RS-232 port. One could attach a VT-100 terminal to the SBC's serial port and get to work. When new hardware features were added to the SBCs, the monitor program would need to be updated.

But really -- this isn't any different from using the JTAG debug interface on a Silicon Labs part. In fact, the SiLabs interface is preferable in many ways -- it IS a lot faster (no delay typing over the serial port!) and the GUI presents all of your registers and your memory dumps in a nice window.

You mention, "The JTAG is a serial scheme that transfers, at 100 Mbps, a byte in 80 ns, if that's how fast it goes overall, but how fast is that, as compared with the monitor running in real-time?" I have to ask: what is your user interface into your monitor program? Here's where the JTAG interface (or an ICE) is superior to a monitor debugger: the debug hardware controls the processor. You can set various breakpoints, including address hits, register value hits and memory value hits (if you're coding in C, source-level debuggers let you set breakpoints on C expressions), and then the processor runs full speed -- in real time until hitting a breakpoint. There is no performance penalty and peripherals perform as expected with no variation in timing.

So while I think I know what you're asking for, I question whether you know what you want. ICE mechanisms, even using the old Nohau pods with bondout chips have made onboard debug monitors obsolete. The JTAG interfaces have made the bondout pods obsolete (and good riddance).

Think about this for a moment. Most microcontroller projects use specific peripherals, and a debug monitor program would have to be built for each peripheral configuration. This means maintaining different versions for each product. Another point is why waste valuable ROM space (or FPGA logic!) on a debug monitor that your customers will never use?

Consider, instead, the JTAG debug interface. If you want to specifically test some peripheral, you could load a test program that exercises that peripheral. No need to build these sorts of test hooks into your shipping firmware, either (which saves ROM space).

--a

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