Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
Support for debug settings (PROGPPC NEXUS & ICD)to work in MPC5643L
Arthi V. Aug 3, 2017 at 04:41 AM (04:41 hours)
Staff: Takao Y.

  • Hi All,

    We are starting to work with MPC5643L controller in Codewarrior V2.10 IDE. As there is provision for using QORIVVA family controllers in PE Micro Multilink Universal Debugger, So we installed PROGPPC NEXUS and ICD software tools for debugging purpose.
    The thing is we are new to this software tool, we understood that PROGPPC is for flashing the shadow algorithms to the board and ICD is for flashing and debugging the code or project we created.
    Can anyone guide us how to set up the debug settings for these software debugging tools?
    Looking forward for your reply.


    Regards,

    Arthi Venkatasubramanian




    Comments

  • Greetings,

    PROG PPCNEXUS is for flash programming everything, including internal flash and shadow.

    ICD PPCNEXUS is for debugging. It has the ability to call PROG to do the flash programming before loading the debug information from your ELF file.

    Within ICD you should High-level Load (HL) (HLOAD) your ELF file and it will handle the flash programming and loading of the debug info.

    You should also go to the Configuration Menu -> Automated Script Option to change the macro file that is ran after a reset. This is necessary for the debugger to correctly load the MMU settings and initialize RAM. Find the macro for your device. And you will need to know whether you are using BookE or VLE instruction set to be able to select the correct macro file. Modifications to the macro file may be necessary if your project has RAM or Flash mapped to a different address. Edit the macro file in a text editor and there are comments in the script that indicates what default settings are made.


    Takao Yamada

    • Hi,

      Thanks for your reply. Actually we just did an example of pin toggling in both LSM and DPM. First we use PROG PPCNEXUS for flashing the shadowflash into it and it gets connected and we are able to switch between LSM and DPM.

      When we use VLE.mac file as macro and load the elf file and debugged. Actually it works but when we turn off the power and it is again asking to flash.
      so, we are in a situation like whenever we turned power off and on, it is must to flash the program again and again.

      So please provide us a solution to avoid this flashing of program everytime after power on/off.

      Looking forward for your reply.

    • Hi Sir,

      We came across one issue while programming the example code of "LSM_DPM LED TOGGLING", I will explain we did with the tools for both programing the LSM and DPM.

      LSM: (It is working correctly)
      1.] First, In PROGPPCNEXUS, we connected and script we used is "LSM DPM CONFIG.PPC" and we erase the module; then programmed.

      2.] Then, In ICD we load the mpc5643l_vle.mac file using HLOAD, the program is executing as well as the LEDs are toggling. In the ICD status window, the following message is displayed "Processor detected in Lockstep mode" and also only one core (z4_0) is available which is correct as the mode chosen is LSM.


      DPM: (Working but ICD windows showing wrong debug information)

      1.] First, In PROGPPCNEXUS, we connected and script we used is "LSM DPM CONFIG.PPC" and we erase the module; then programmed.

      2.] Then, In ICD we load the "mpc5643l_vle.mac" file and using HLOAD, the program is executing as well as the LEDs are toggling for the DPM mode. In the ICD status window, the following message is displayed "Processor detected in Lockstep mode".

      But the mode is actually DPM and the program is running in DPM mode only. We dont know why it is showing as "Processor detected in Lockstep mode". Also, there are two cores available (z4_0 &z4_1) in the window but it is not showing that core 1 is running.


      My question is why the windows are displaying wrong information when the program is running succesfully?

      Please help us so what we can be able know what we are missing.

      Looking forward for your reply,

      Regards,

      Arthi Venkatasubramanian

  • Thank you sir

  • Greetings,

    Are you using ICD PPCNEXUS within Codewarrior? Then you will get asked to program each time because that is how it is designed to program the latest ELF file from your project and start a debug session. You might find some settings within CW2.10 that prevents you from programming again and again however you may need to ask NXP for assistance with that. Find a way to hotsync/attach to your board.

    If you used ICD PPCNEXUS standalone and not within CW, then you will not be asked to program each time, however, you will need to load the debug information into the software.


    Takao Yamada

  • Greetings,

    Look for the macro files in your software that have the words "enable_second_core_vle" in its name. Try that and you will have better results.

    Also, make sure that after you program the device in DPM that you power cycle your board to ensure that the chip boots up in DPM mode.


    Takao Yamada

    • Hi Sir,

      We proceed with what you told. Its working for both LSM and DPM modes. While executing the code in DPM mode, the reset script that we chosen was "enable_second_core_vle" mac file. At that instance, the status is displaying as Processor detected in DPM mode. But once, if we click the RESET option in the ICD PPCNEXUS window, it immediately shows the following message "Processor detected in Lockstep mode" even if the program running in DPM mode. The output is executing successfully but the reset problem is still there as I mentioned earlier.

      Please provide a solution to us so that we can know which part we are wrong.

      Awaiting for your reply.


      Regards,

      Arthi Venkatasubramanian

  • Greetings,

    So the issue you want resolved is that the software is reporting back the wrong message? Are you able to debug with no issues even if the message is wrong?

    When you reset, does the reset script run? Are you seeing that the secondary core is coming out of reset?

    We determine whether the chip is in DPM or LSM based on the register information found at address 0xC3FD8000. When you click on reset, could you check this address and see what value is displayed?


    Takao Yamada

    • Hi Sir,


      Thanks for your reply.

      We are having two issues while debugging the program using ICD PPCNEXUS version 6.22.0.0.

      1.]The first issue is that we are not able to view the run time value of a global variable in watch window.

      After using HLOAD, we add a global variable in watch window in order to view the run time value of that particular variable.

      But while executing, the watch window is showing the global variable as "running" instead of displaying the run time value.

      So, how to get the run time variable values in watch window. Actually this is the usual procedure in viewing the run time variables using pe micro.


      2.] We tried to view the register values in the register window while running the program.

      What happens is, only after stopping (i.e) giving break point to the line of code, the register values are shown.

      How to view the changes in the register when executing the code line by line?


      So kindly tell us how to solve these two issues and if there is any procedure, provide us the procedure.

      Awaiting for your reply.


      Regards,

      Arthi Venkatasubramanian

  • Greetings,

    1) Go into your variable window and right click on the variable you want to see in real-time. Modify the variable and enable real-time variable option.

    2) The variable window should update each time you halt or step. I use this software daily and I have had no issues seeing register values update.


    Takao Yamada

  • Hi,

    That's what we did, only after using halt or step, we are getting the values.

    Till that it is showing as "running". Whereas in MC9S12X controller debugger "Hiwave true simulator" while executing itself we are able to view the change in run time variables.

    Is it possible to view the run time variables continuously without the interruption of step or halt?

    For register value, the case is we should close the code window in order to update the register value.

    How to view the change in register value by giving breakpoints without closing the code window?

  • Greetings,

    Make sure when you modify the variable, you should see the check mark for "real-time variable". Then you will see real-time information. You should not be seeing "running".

    Correction:
    2) The REGISTER window should update each time you halt or step. I use this software daily and I have had no issues seeing register values update.

    Do you have multiple core (DPM) setup or do you have LSM setup when you see the register values and real-time variables not update?


    Takao Yamada

    • Hi Sir,

      Is there any option to attach a screenshot in this forum, so that it is easy to ask our question?

      Regarding the display of register values update while running the code, the status is the register values are updated when we stop or halt but for that it is needed to close the code window.

      Is there anything to do with the code window?


      Can we use the same debugger tool for codewarrior v10.6?


      Regards,

      Arthi Venkatasubramanian

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