Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
Multilink Universal + Coldfire BDM; ILLEGAL_BP at run
Will R. Apr 1, 2015 at 11:21 AM (11:21 hours)
Staff: Takao Y.

  • Hello,

    I'm experiencing the following behavior when trying to debug a Coldfire V1 target with a multilink universal rev B (f/w 6.14) debugger from Codewarrior development studio for microcontrollers v6.3.

    1. Power on target
    2. Launch debugger from codewarrior. BDM succesfully connects to the target, runs _startup code, and halts at main.
    3. Pressing F5 (run) in the debugger results in an ILLEGAL_BP error.

    Interrupts are disabled. Watchdog is disabled. The program is simply a loop that increments an int.

    Note that I am able to successfully single-step execution before the ILLEGAL_BP error.

    Also note that I am able to successfully run the same program if I enter the debugger through the power on reset sequence, which is:

    1. Power off target
    2. Launch debugger from codewarrior. P&E connection manager appears and prompts to power cycle target.
    3. Power on target.
    4. Choose "Connect (reset)". BDM successfully connects to the target, runs _startup code, and halts at main.
    5. Pressing F5 (run) successfully shows RUNNING.

    How can I debug the target without going through a power on reset? What is causing the ILLEGAL_BP error?




    Comments

  • Greetings,

    Sounds like a breakpoint from previous debug sessions are causing an issue. Try this out for me, before killing a successful debug session make sure to remove all breakpoints if you placed any. Then restart the debug session without power cycling the board and see if the problem is still showing up.

    It could be a bug where the software is not closing the previous debug session correctly so previous breakpoints are still placed in code and no longer valid.

    Also, I would like to know how you are killing the previous debug session. Do you just close the window? Is the chip still running? Do you never close the window and try to start a new debug session?


    Takao Yamada

    • Thanks for the quick response.

      There is no previous debug session - the error occurs when the host PC, target, and Multilink module are all power cycled. I also don't see any breakpoints set in the debug session, so it does not appear that there are any left over from a previous session.

      The error occurs regardless of how I close the debug session - I can close the window, unplug everything, and reboot the host PC and it will still occur the next time I run the debugger.

  • Greetings,

    I want you to try the updated CW6.3 patch I have created to see if it generates better results:
    http://www.pemicro.com/faqs/faq_view.cfm?id=211


    Takao Yamada

    • Ok, I'll give the patches a try today and let you know how it goes.

    • I installed the patch, which updated my Multilink firmware to v6.15.  The result is the same -- I get ILLEGAL_BP when I run the target, unless I enter debug mode through a power-on reset.

      My impression is that this is related to the initialization of the BDM-related DBG registers in the target. It seems like they are not properly initialized at power on. Note that I am using a CFV1CORE instantiated in an FPGA and not a discrete ColdFire part.

  • Greetings,

    Good to know about the FPGA. Do you happen to have any CFV1 chips that you could test on? If so, I want to create a brand new project for it in Codewarrior and simply debug the default project to see if you continue to see this problem. I want to ensure all the DLLs, P&E hardware with its firmware, drivers, and all factors are playing nicely. If it does, then we know the FPGA may be the remaining factor to this mystery.


    Takao Yamada

    • Unfortunately I do not have any non-FPGA CF parts on hand to test with.

    • Can you tell me if it is possible to write to the debug module control registers from the PC host?  In the file CFV1_BDM_P&E_Multilink_CyclonePro.ini I see a section [CFMultilinkCyclonePro_GDI_SETTINGS] that looks related to this function.  I'd like to initialize the debug module registers to a known state at startup.  Can you point me to any documentation related to the parameters in this file?

  • Greetings,

    Unfortunately, we have no way of replicating this so there is little I can do to help you with this problem.

    I would suggest downloading Freescale's Codewarrior eclipse 10.x and see if the new environment will improve your setup.


    Takao Yamada

Add comment


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







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