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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/13/12 16:34
Read: times


 
Msg Score: +1
 +1 Good Answer/Helpful
#185899 - Beginners have even more reason for debug cells, i.e. ICE
Responding to: ???'s previous message
No, I do not agree Richard.

An experienced developer is experienced about reading datasheets. And have experience looking at a problem and then try to deduce what may be wrong.

Beginners totally lack this experience. So for them, it's a huge advantage to be able to freeze the program at a specific state and compare the state in the processor with what they assumed it to be. And that obviously requires not only support for breakpoints. But also ability to look at some of the peripherial state. Some important parts of the peripherial state can be accessible using debug cells in the processor even when the state is not available to normal software. In some situations, debug cells inside the processor can allow the code to look at write-only registers.

Next thing that debug cells have the ability to not just set dumb breakpoints. But you can set breakpoints for read or write accesses to specific memory areas. So having a write-access interrupt at the end of the stack, you can switch into the debugger the first moment your program tries to overflow the stack. And the debug cells can support counted breakpoints, where you break after 1000 iterations. Single-stepping aint fun when you need to look at the result halfway through a huge initialization sequence. And beginners may not realize that without good debug cells, you will sometimes have to add special placeholder code inside the sourcecode just to help with debugging - things like:
// Dummy function to get a single place to set "multiple" breakpoints.
function dummy_call(void) {
}


for (i = 0; i < 10000; i+++) {
    ...
    if (i == 1023 || head == NULL || ...) {
        dummy_call();
    }
    ...
}


Above construct is not something people think about before they have already spent lots of time debugging programs.

Next thing is that debug cells (which takes very few transistors inside the processor, and often can make do with very few processor pins - some AVR chips make use of the /RESET pin giving zero loss of pins) allows you to debug any part of the code. From a factory-empty chip with zero software in it and all the way to a final product. What do you do if you don't have a programmer for adding that monitor? Or you don't get any serial data out from the monitor? Debug the debugging tool?

The main thing here is that transistors are basically free. They have almost zero cost. So with zero cost, it is stupid to not get a processor that adds these extra transistors in the form of intelligent debug cells. For an experienced developer, it's just a question of saving expensive time. For a beginner, it is probably the difference between a working project and a major failure.

Next thing - a debugger who are stuck and asks for help on the net, can get better help if he/she is using a processor with some ICE functionality. People can tell them what to do to try to eliminate different possible error sources.

By the way - I feel your description of your cirumvention logic incorrect. It was most definitely aimed at circumventing the licensing limitations of the tool. I.e. an unethical work-around.

List of 61 messages in thread
TopicAuthorDate
Which modern small 8051 should I use?            01/01/70 00:00      
   addition            01/01/70 00:00      
      contradicting yourself.            01/01/70 00:00      
      Get on with SiLabs            01/01/70 00:00      
         Thanks for all of your input!            01/01/70 00:00      
            power miser            01/01/70 00:00      
               Re: Power Miser            01/01/70 00:00      
            Still Need the SiLabs Adapter            01/01/70 00:00      
      Why?            01/01/70 00:00      
   RE: 8-bit 8051            01/01/70 00:00      
      SiLabs is sometimes a bit slow ...            01/01/70 00:00      
         RE: "slow"?            01/01/70 00:00      
            Well ... It might have been coincidental ...            01/01/70 00:00      
   AT89S2051/4051 or ATLP2052/4052            01/01/70 00:00      
      and lose all the goodies            01/01/70 00:00      
         Onewire debug?            01/01/70 00:00      
            tradeoffs            01/01/70 00:00      
               Is a hobbyist not extremely likely to gain            01/01/70 00:00      
                  JTAG            01/01/70 00:00      
                     cost to debug            01/01/70 00:00      
                        cost of AVR debugging "dongle"            01/01/70 00:00      
                  You have to ask yourself ...            01/01/70 00:00      
                     Beginners have even more reason for debug cells, i.e. ICE            01/01/70 00:00      
                     WHAT, exactly, is a hobbyist likely to gain from built-in de            01/01/70 00:00      
                        I still think it 6 one way and half-a-dozen the other            01/01/70 00:00      
                           why go old fashioned            01/01/70 00:00      
                              Where you sit determines what you see.            01/01/70 00:00      
                     exactly this            01/01/70 00:00      
                        Those are all things the monitor allows            01/01/70 00:00      
                           please explain how the monitor allows ...            01/01/70 00:00      
                              Monitors really not good choice for new designs/developers            01/01/70 00:00      
                                 Describing Richards preferences            01/01/70 00:00      
                              It doesn't help with 'C' code at all            01/01/70 00:00      
                                 maybe not using that word            01/01/70 00:00      
                     "Small" 8051            01/01/70 00:00      
                        RE: "Small" 8051            01/01/70 00:00      
                        Productivity/quality really important for hobbyists too            01/01/70 00:00      
                        the calculation            01/01/70 00:00      
                           True cost comes in maintainance            01/01/70 00:00      
                              I totally agree, however            01/01/70 00:00      
                           Ratio?            01/01/70 00:00      
                              all numbers are arbitrary            01/01/70 00:00      
                                 but it's good to be ...            01/01/70 00:00      
                                    Not needed            01/01/70 00:00      
                              A couple of things ...            01/01/70 00:00      
                                 RE: A couple of things ...            01/01/70 00:00      
                                 neither does a SILabs toolstick            01/01/70 00:00      
                                    Starting out, the old-reliable antiques are very easy            01/01/70 00:00      
                                       Wrong conceptual level for majority of needs            01/01/70 00:00      
                                       only somewhat true            01/01/70 00:00      
                        First, Define Icc and Code Size Targets            01/01/70 00:00      
                           It's more complicated than that            01/01/70 00:00      
                           that is not enough            01/01/70 00:00      
                              that is not enough            01/01/70 00:00      
                                 which was what I posted            01/01/70 00:00      
                                    ROFL            01/01/70 00:00      
                                    Not a simple formula!            01/01/70 00:00      
                  power            01/01/70 00:00      
                     OCD != Emulation            01/01/70 00:00      
               the particular hobbyist in question            01/01/70 00:00      
                  It does allow him to maintain separation from the hardware            01/01/70 00:00      

Back to Subject List