Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
Wrong register values
. Jan 18, 2017 at 05:09 PM (17:09 hours)
Staff: Takao Y.

  • Hello,

    I'm using Multilink Universal FX debugger with MPC5744P. As an example if I read out SIUL2 registers with ICDPPC NEXUS tool after uC reset I don't get the correct reset values for a lot of registers. The same issue with S32 design studio V1.1. If I use Multilink Universal debugger the same issue. I have also used a second board with MPC5744P and another with MPC5643L with the same result. Downloading SW and debugging works so far.

    My OS is Windows 10 Home V1607 64 bit. I have used S32 design studio V1.0 with Multilink Universal debugger on a Window 7 64bit system before and everything was fine.

    I have already deinstalled and installed USB drivers and updated debugger firmware to usbmlfxufjtagens.0940 with update tool V6.22 but the same issue...

    Any ideas?

    Regards
    Jörg




    Comments

  • Greetings,

    For ICD PPCNEXUS and S32, are you using the register views? Or are you looking at the memory window and checking out the values found there? I want you to compare the values you are seeing the register and in the memory. It would be interesting if the values differed. It would be hard for the memory window to show incorrect values.


    Takao Yamada

    • Hello,

      I have checked also the memory contend in memory window. Also there wrong values. It fits with the register view. If I change a "wrong" value in register view or in memory view then the value is not updated. If I change a "correct" value then it's changed correctly.

      Other question:
      Is it normal that the update tool detects an old firmware if the actual firmware version is already installed?

      Regards
      Jörg

  • Greetings,

    I do not understand your new question about old firmware. Are you talking about the firmware updater utility for multilink universal? It will always force update the firmware when you use the firmware updater and will think it detects an old firmware. That is normal behavior.

    Can you give me an example of a register you are reading and what you see and what you expect? I want to replicate the issue on my end. Step by step instruction would be ideal.


    Takao Yamada

    • Hello,

      I have done another exercise (to be sure that the problem is not related to my HW). I have received a DEVKIT-MPC5748G board . I have created a project with S32 design studio V1.1 for z0 core. I didn't change the code. Debugging with OpenSDA I haven't found a problem with SIUL registers (didn't check all) but with CAN0_MCR and following registers . The value for CAN0_MCR after reset should be 0xD890000F. I read 0xFFEC0000 (which is also the address of the register!). I see the same for the following registers, the register value is always the address of the register. Same with memory view. If I modify the values they doesn't change. The same appears if I debug with Multilink FX.

      Jumping back to MPC5744P board I can see the same. CAN0_MCR and following registers have the values of their addresses.

      Regarding the firmware update this was my question...

      Regards
      Jörg

  • Greetings,

    Do you know if all of the modules you are reading from are not clock gated? Reading registers of a module not clocked will cause unknown behaviors. SIUL is turned on by default so there is no issues there. But most other modules are turned off and you may need to turn them on using the MC_ME.

    Find one of the example projects for the MPC5748G within the S32 IDE and you will find examples of i2c, spi, flexcan, adc, and other modules and repeat your exercise.


    Takao Yamada

    • Hello,

      I followed your suggestion to take an example for further investigation. I used a S32 example for MPC5744P and found the same issue. The registers values didn't match to the default values after reset. So I had a deeper look at the manual and found that the default register values given by S32 register view are wrong. So as for much of this kind of problems the solution is easy. Thanks for your support...

  • Greetings,

    I do not understand what you mean by "So as for much of this kind of problems the solution is easy."

    If this is happening on both S32 and ICD software for your project, then that is a concern I need to address. Give me a register or address you were following in your example and I will try to replicate the issue.


    Takao Yamada

    • Hello,

      I'm talking about the register reset values and the bits which can be changed or not. In S32 some register reset values are not correct. Also (from the description) it is possible to change bits in registers which could not be changed.

      As an example:
      MSCR23 you can't change bits SRC, OBE, ODE, HYS and PUS. With the ICDPPCNEXUS debugger in register view (same for S32) it suggests that it is possible because of the description. In the description it's missing that this bits are reserved.

      By the way I was searching register description files for embsysregview in S32 for PPC uCs and couldn't find them. Are they included in the source (maybe I'm asking the question to the wrong person)?

      Regards
      Jörg

  • Greetings,

    The registers in embsysregview for S32 Power are not developed by us. You are indeed asking the wrong company for that.

    For ICD for MPC56xx devices we generated our own registers by hand. For 57xx devices they are developed by someone at NXP and we import them into our tools. So it is very possible you will see the same problems in both S32 and ICD for MPC57xx devices. We do not have the source so you are better off asking NXP about these inquiries.


    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