Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
search inside all forums
Can't set breakpoint on HC08 (HC908QB8) with USB-ML-MON08
Hiandra T. Jun 12, 2020 at 02:07 PM (14:07 hours)
Staff: Zahar R.

  • Hello,

    I have installed CW 6.3 on Windows 10 64bit Operating System using the new one step method posted on NXP community forum. It can be seen on the page I’m using the P&E Multilink/Cyclone Pro connection (USB MON08 Multilink) with HC08 (HC908QB8).

    I can make the Project and when I enter in debug mode, the target is automatically detected. However, when I start the execution, it is halted and stops in a specific instruction every time. I’ve noticed that it is able to run Step Over, but the execution is also halted in the same instruction after a few steps (it’s an endless loop). I can’t set any breakpoints either, it shows an error message on console.

    I’m able to run without problems the debug session with the same hardware using CW 6.2 on Windows 7 32bit Operating System. I’ve noticed using the Step Over that it often shows on console “Preset breakpoint encountered” before going to the next step.

    Reading the topic on this page, I found information about which are the P&E's debugger DLLs. Then I compared P&E’s debugger DLLs versions for HC08 devices, the ICD08sw_dll.dll, that is inside the P&E folder. I checked the versions for HC908QB8 in ngs_devices_hc08.ini file.

    In CW 6.2 on Windows 7, in which I can set breakpoints and run the program smoothly, the version used is ICD08sw_dll_v230.dll. But CW 6.3 on Windows 10 was using ICD08sw_dll_v681.dll. I changed the configuration file so that CW 6.3 would use v230 DLLs in the fields PROG, ICD and PROG_INTERACTIVE. After that, I added wdapi900.dll from a CW 10.7 installation, so that my target coud be recognized.

    Despite that, when the program starts, the execution is still halted on the same instruction I mentioned previously. But Step Over can now reach more instructions than with v681 DLLs. I still can’t set breakpoints, but now the error messages are displayed in two separate HI-WAVE windows, instead of just on console. "Could not set the hardware breakpoint at address $(address)", immediately followed by "Was not able to set the breakpoint at $(adress)".

    All the problems seems to be related with the breakpoints, that can’t be set. The execution seems to be halted because the debugger can’t set and clear breakpoints. I reached that conclusion since during the correct single-step execution (on Windows 7) the message “Preset breakpoint encountered” is shown several times.

    Can a patch be provided to solve this issue? I would really appreciate if someone could help me solve this.

    Thanks in advance.


  • I found a newer patch that contains a more recent version of the dll I mentioned in the previous comment. So I installed CW 6.3 outside Program Files x86 and used ICD08sw_dll_v722.dll. 

    But besides the first breakpoint, that stops by default on main, no other breakpoints can be set.

    I also noticed that with some projects the "Run" command works, but with another project the execution is halted.

    Example of the console messages I get:

    Baud rate change detected. New baud rate = 3009.
    Setting OSCTRIM register to value stored in flash (at $FFC0).
    EST BAUD = 3012 Baud.
    EST BAUD = 3012 Baud.
    Device is HC908QB8.
    Mode is In-Circuit Debug.
    IO registers loaded for MC68HC908QB8 from C:\NXP\CodeWarrior for Microcontrollers V6.3\prog\REG\HC908QB8.REG
    Startup command file does not exist.
    Preload command file does not exist.
    Postload command file does not exist.
    main 0xDF2B T
    Flash Programming Successful.
    IO registers loaded for MC68HC908QB8 from C:\NXP\CodeWarrior for Microcontrollers V6.3\prog\REG\HC908QB8.REG
    Startup command file does not exist.
    Target Ready

    Baud rate change detected. New baud rate = 10416.

    Baud rate change detected. New baud rate = 9615.

    Error: Could not write breakpoint to hardware.


    Can someone help me solve this?


  • Hi Hiandra, 

    Sorry for delayed response. I think the issue that you might be facing here is that 908QB8 device has a single hardware breakpoint that is accessible during FLASH debugging. Therefore, if you have more than a single hardware breakpoint set (and one of them is set at main on a startup) then the future breakpoints you set will be ignored during debugging.

    To have a secondary hardware breakpoint take effect, the first breakpoint that you set at main needs to be disabled.

    Best Regards,

Add comment

   Want to comment? Please login or create a new PEmicro account.

© 2021 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement