4 Replies Latest reply on Jul 9, 2014 12:39 AM by zhifengzhang

    How to use watchpoint(data pointer) with mentor prober personal?

    zhifengzhang

      I was debugging an application, and some RAM memory is modified abnormally.

      watchpoint is a very good idea to catch the mistake, but I don't know how to use it.

      I refered to the personal user manual, and there is a MON command BSH which can set hardware break point.

      I tried to set command as:

      MON> BSH W 32 0x2008efc0

      but it does not work, the error message is:

       

      MON>BSH W 32 0x2008efc0

      Processor does not support address ranges in hardware breakpoints

      Unsupported HWBP type

      WARNING: breakpoint NOT set, target returned error.

       

       

      I tried MON. BSH W 0x2008efc0

      the breakpinter can set but it does not work.

       

      I use mentor prober personal, the CPU is TI AM3505 which has a cortex-A8 core.

      the tool chain is GNU.

      does my processor not support hardware breakpoint?

       

      could somebody can help me?

        • 1. Re: How to use watchpoint(data pointer) with mentor prober personal?
          dan_schiro

          Hello,

           

          I've attempted to reproduce this through MON and I can set the Write Access breakpoint using the ReadyStart Hello World demo app and will break on access to Task_Control_Block in the demo with the following command:

           

           

           

          >BSH W 0x80014c8

           

           

          where 0x80014c8 is the starting location of Task_Control_Block. The BL command shows it is set before issuing the ‘G’ command.  

           

           

           

          I also attempted this through CodeBench.  I set the Watchpoint on the same memory location and I receive the same errors you did when applying a range:

           

           

          The target endianness is set automatically (currently little endian)

           

          Cannot access memory at address 0x48040000

           

          arm-none-eabi-sprite: Processor does not support address masks in hardware breakpoints

           

           

           

          arm-none-eabi-sprite: Unsupported HWBP type

           

           

           

           

          Reviewing the TRM, the processor does support address masks so I will need to continue this investigation with our probe team and get back to you.

           

          Regards,

          Dan

          1 of 1 people found this helpful
          • 2. Re: How to use watchpoint(data pointer) with mentor prober personal?
            zhifengzhang

            Hello,

            Thanks very much for your support.

             

            I also use ReadyStart, and just as you said, the command MON> BSH W 0x........ dose work now.

            But it does not support write access break point with specified value.

            For example, I want to it break when the specified value 0x0000001 is written to address 0x2008efc0.

             

            I write command as:

            MON> BSH W 0x2008efc0 = 0x00000001

            the response is:

            Processor does not support value specific hardware breakpoints

            Unsupported HWBP type

            WARNING: breakpoint NOT set, target returned error.

            MON>

             

            Is my command foramt wrong?

            What is the correct format, or the processor does not support it? I did not find information in TRM.

             

            Best Regards,

            Zhifeng

            • 3. Re: How to use watchpoint(data pointer) with mentor prober personal?
              dan_schiro

              Hello Zhifeng,

                   I have heard back from our MESP team and they informed me that I am wrong; the Cortex-A8 does not support address masking.  The following types of hardware breakpoints are not supported:

               

               

              (1)    Address ranges      e.g.    >BSH W   8000  8010

               

              (2)    Address masks       e.g.    >BSH W   8000  #FF

               

              (3)    Value specific.       e.g.    >BSH W   8000 = 123

               

               

               

              These type of hardware breakpoints are supported:

               

               

              >BSH IS 32  8010      // I=instruction fetch,  S=size 32 bit , ARange= address 0x8010

               

              >BSH WS 32  8010   // W= write access,  S=size 32 bit , ARange= address 0x8010

               

              >BSH W  8010          // W= write access, ARange= address 0x8010

               

              >BSH R  8010           // R= Read access,  ARange= address 0x8010

               

               

              Regards,

              Dan

              • 4. Re: How to use watchpoint(data pointer) with mentor prober personal?
                zhifengzhang

                Hello Dan,

                 

                Thank you very much for your support!

                 

                Your replay is very usful for me.

                 

                Best Regards,

                Zhang Zhifeng