Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

Please accept the use of cookies on our site

At PEmicro we use web browser cookies in order to provide you with an enhanced experience and in order to be able to do things like shopping cart processing and identify you when you login to our website.

Click here to accept

search inside this forum
search inside all forums
Changing .PCP RAM Address
Ross M. migrated on Dec 31, 2013 at 11:00 AM
No staff assigned yet

  • Hi There,

    The default settings in the MPC5566 .PCP file are:
    begin_cs device=$30000000, length=$00300000, ram=$00300000

    How can I change these to match the default Freescale memory map for this device?
    The actual SRAM array in that device is at 0x4000_8000 with the Flash Array from 0x0000_0000 to 0x002F_FFFF. The MCU registers are at 0xC3F0_0000 to 0xC3FD_4FFF and 0xFFF0_0000 to 0xFFFF_FFFF.



  • Hi Confused,

    What is the motivation for changing these values? A change here would require a custom version of PROGPPCNEXUS.

    Best regards,

  • Because in the hardware I am working on this is where everything is mapped to.
    I am a little confused though as the Freescale docs for the MPC5566 don't have RAM at $00300000, I am working with them in the default ranges. Am I missing something here?

  • Hi Confused,

    The MPC55xx devices have a memory management unit (MMU) which allows addresses to be remapped. The physical address of RAM is still at 0x4000_0000, but for the P&E flash algorithms, we remap this to 0x0030_0000. This remapping is primarily done to maintain compatibility with the older MPC5xx algorithms.

    Because the remapping is temporary (after a reset, the MMU goes back to its default settings), this should not affect the user. Are you running into any problems?

    Best regards,

  • Hi Edison,

    Unfortunately I am having some troubles.
    When using ICDPPCNEXUS it does detect the device 'MPC5566 Device detected'.
    But often I am seeing the message 'Error in ONCE status register during instruction execution'. Or 'Bus error occurred during write'.
    Does that indicate anything?


  • I'm going to dig this thread up because I am now back on the same hardware I had troubles with in the past.
    Where it's at:

    The Multilink device seems to be connecting to the MPC5554 ok (yellow LED is on) and in the ICD program it says "MPC5554 device detected". In ICD I can even see the values in the SPR's (eg PVR = 81120000, I have no idea if that is valid), so I assume from this the hardware connections are fine.

    However in the Flash Programmer the error I get is it says "Error Loading .pcp file to address 00300000".
    So what does this indicate? That maybe it's not connecting to the MPC 100% ok, or something else?
    Any advice would be much appreciated.


  • Can anyone at P&E Help or did I waste my money on buying the Multilink for this MPC5554?

  • Hi Confused,

    Error loading algorithm means that the software has attempted to download the programming algorithm into RAM, but failed verification. Usually this is caused when the BDM_SPEED frequency is too high. This parameter can be configured in the PEMicro Connection Manager that first appears when you run the software.

    You can try using the slowest possible value (~31 KHz) to see if the algorithm loads successfully. If successful, you can increase the BDM_SPEED higher (which makes flash programming faster). In general, the BDM_SPEED should be no greater than 1/6 of the processor's operating bus frequency.

    Best regards,

  • Unfortunately that did not fix the problem.
    Initializing -Error : Error in ONCE status register during instruction execution
    Error loading .PCP file....blah, blah at address 00300000

    I don't know what process your software needs to go through to get to the point where the ICD program detects the CPU type, but it does, it says 'MPC5554 device detected' so can we assume I have no issues with connections?

  • Hi Confused,

    To check basic debug functionality, you can try the following:

    1) Connect with ICDPPCNEXUS
    2) In the menu bar, go to "Configuration -> Automated Script Options"
    3) Check the box that reads "Run Script File after the Debugger RESETS the MCU:" and specify the "mpc5500_any_init.mac" file
    4) Click OK and type "reset" into the Status window
    5) Try looking at RAM (address 0x4000_0000) and modify the contents.

    If successful, it suggests basic debug functionality is present. Otherwise, let us know where it fails and take a screenshot if possible. Also, could you post the versions of ICDPPCNEXUS and PROGPPCNEXUS that you are using?

    Best regards,

Add comment

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

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