Post Go back to editing

[TpsdkServer] Failed to set expression, $PC, with the value, 0x1c0d4e, for processor 0

Category: Software
Product Number: ADSP-21583
Software Version: CCES 2.11.0

Hi team 

  1. getting this error : [TpsdkServer] Failed to set expression, $PC, with the value, 0x1c0d4e, for processor 0 
  2. iI checked in the map file and could find that the address is label for start in app_startup.s 
  3. created a new workspace and tried to run the code and still getting the same error. 

please assist in this. 

the processor is ADSP-21583 on CCES 2.11.0 IDE. 

 

Parents
  • Hi,

    From the information you have shared, we see that you are using custom board. Could you please check your preload file have the modifications and is suitable for your ADSP-21583.

    The main purpose of these pre-load files is to set up clocks and DMC settings so that the debugger is able to load the user’s application to external memory.

    CCES 2.0.0 (and later) supports the concept of preload files for the ADSP-SC5xx processors, which are equivalent to initcodes, but used during the debugging phase of development.

    Preloads are added automatically to debug Configurations when there is an EZ-Kit available for the selected processor (ADSP-SC584, ADSP-SC589, ADSP-SC573).If no EZ-Kit is available, no preload is specified by default as the configuration performed by the preload will need to be tailored to your custom hardware, for which the default one may not be appropriate.

    When your hardware is similar to an EZ-KIT, as a basis for building an preload code executable for your own custom hardware. Alternatively there are unconfigured preload code projects that might be a better starting point when your target is less like an EZ-KIT.

    The CCES installation provides the source code and project files of preload code for ADSP-215xx processors in the directory:
    <installation path>:\Analog Devices\CrossCore Embedded Studio <version>\SHARC\ldr

    Please refer the below FAQ's for more information about how to create/modify the preload program for the custom targets:

    FAQ - Preload code customization for 215XX processors
    ez.analog.com/.../faq---preload-code-customization-for-215xx-processors

    Also, please refer the below EE-note to Modify the default Preload and Initialization Code for Customized CGU/DMC Settings:
    www.analog.com/.../ee387.pdf

    You can find the associated files for the EE-387 note from the below link:
    www.analog.com/.../EE387.zip

    Please refer the below CCES help path:
    CrossCore® Embedded Studio <version> > Integrated Development Environment > Debugging Targets > Debugging ADSP-SC5xx SHARC+ and ARM Projects > About Preload Files

    If still you are facing any issue, please answer the below questions. This will help us to assist you further.

    Please let us know if you facing this issue with all projects or with any specific project? Can you please try with simple project and let us know how you gets on.

    Have you ever been able to connect to your ADSP-21583 target board, or is this the first time you're trying to connect?

    As you're using a custom board can you please confirm that it complies with the JTAG Technical Reference Guide EE-68, which is available online at the following location: http://www.analog.com/ee68

    Do you have access to any Ez-kit board you can use to connect to your emulator with? Do you still encounter the same error messages?

    Please confirm whether your preload file loaded correctly before start debug.

    If still you observe same the issue, Could you please try disabling the "Run immediately after load" option in your launch configuration by clicking on the DXE that is to be loaded and select 'Edit'.You will then be able to load your DXE and step through the code until the issue occurs. Please let us know specifically at which line /code the issue occurs.

    Regards,
    Santhakumari.K

  • Hi santhakumari. 

    1. you are correct that it is a custom board. but I am trying a simple code which does not need code to be placed in external DMC and surprisingly, the code executes many times before it stops randomly by giving this error. and does not execute afterwards. because it executes many times without any configuration of external DMC/ SDRAM. do we need DMC configurations for small size of codes also  ??
    2. is it in installation directory or help section of IDE ? could not find this path. CrossCore® Embedded Studio <version> > Integrated Development Environment > Debugging Targets > Debugging ADSP-SC5xx SHARC+ and ARM Projects > About Preload Files 
    3. for preload files [C:\Analog Devices\CrossCore Embedded Studio 2.11.0\SHARC\ldr\init_code\215xx_Init ]  the init /preload codes could be found in these folder for ADSP-21583. could we use these file for making clock related changes directly - if external DMC is not present in board ? 

    Thanks  

  • Hi Rajesh,

    Please find the details below: 

    Q1>>>The main purpose of these pre-load files is to set up clocks and DMC settings so that the debugger is able to load the user’s application to external memory.  Since arm placing data in l3 memory, External memory needs to be configured appropriately before applications can be loaded. This is done Pre-load files during emulation. When the application boots, this is done through initcodes.  Therefore, you need preload code, when using external memory or when changing the default clock setup only.

    Q2>>>When not using an EZ-KIT and developing for ADSP-SC57x/ADSP-2157x or ADSP-SC58x/ADSP-2158x processors, the core clock frequency can be set to 500 MHz(or as per your need) by modifying and rebuilding the preloads and initcodes.  You can update the source files, rebuild the preload executable, and place the binary in the SHARC\ldr directory in place of the existing file. See the readme.txt in the processor-specific directory for more information on configuring the preload file.  

    Q3>>>Also you can find more details about preload files in below CCES help path from the IDDE.Please refer the attached screenshot help.jpg.
    CrossCore® Embedded Studio <version> > Integrated Development Environment > Debugging Targets > Debugging ADSP-SC5xx SHARC+ and ARM Projects > About Preload Files

      

    If still you are facing issues, please share us the below details. This will help us to proceed further.  
    If you have access to ez-kit or any other board, please try with same setups on that specific machine and let us know how you gets on. This will help us to isolate whether issue is related to specific board.  

    Please let us know if you are facing this issue with all projects or with any specific project? If you are facing issue with specific project, please share us your example project along with steps to simulate here. Waiting for your reply.

    Best Regards,
    Santhakumari.K

Reply
  • Hi Rajesh,

    Please find the details below: 

    Q1>>>The main purpose of these pre-load files is to set up clocks and DMC settings so that the debugger is able to load the user’s application to external memory.  Since arm placing data in l3 memory, External memory needs to be configured appropriately before applications can be loaded. This is done Pre-load files during emulation. When the application boots, this is done through initcodes.  Therefore, you need preload code, when using external memory or when changing the default clock setup only.

    Q2>>>When not using an EZ-KIT and developing for ADSP-SC57x/ADSP-2157x or ADSP-SC58x/ADSP-2158x processors, the core clock frequency can be set to 500 MHz(or as per your need) by modifying and rebuilding the preloads and initcodes.  You can update the source files, rebuild the preload executable, and place the binary in the SHARC\ldr directory in place of the existing file. See the readme.txt in the processor-specific directory for more information on configuring the preload file.  

    Q3>>>Also you can find more details about preload files in below CCES help path from the IDDE.Please refer the attached screenshot help.jpg.
    CrossCore® Embedded Studio <version> > Integrated Development Environment > Debugging Targets > Debugging ADSP-SC5xx SHARC+ and ARM Projects > About Preload Files

      

    If still you are facing issues, please share us the below details. This will help us to proceed further.  
    If you have access to ez-kit or any other board, please try with same setups on that specific machine and let us know how you gets on. This will help us to isolate whether issue is related to specific board.  

    Please let us know if you are facing this issue with all projects or with any specific project? If you are facing issue with specific project, please share us your example project along with steps to simulate here. Waiting for your reply.

    Best Regards,
    Santhakumari.K

Children
  • with the preload codes the processor boots and enters the code  

    but if the processor gets hanged or stalled. it does not come out of the error [TpsdkServer] Failed to set expression, $PC, with the value, 0x1c0d4e, for processor 0  

    the processor enters suspended automatically and for next debug session it does not start. it needs to power off and power on + disconnecting the ICE cable and reconnecting it. 

    the session does not terminate smoothly. 

  • An internal error occurred during: "Launching genB3_Core1 Debug".
    [TpsdkServer] Failed to reset MP group: Error code 8004806e

    once we run the code in debug mode with the pre-load code and with external-sdram configuration, we get this above error. 

    what do we understand by error codes given in this case? the error codes should help in narrowing down the actual cause of the problem.

  • Hi,

    We just need few more pieces of information to work out exactly what is happening. Could you please answer the following? This will help us to assist you further.

    Can you please try creating the project from scratch and let us know if you seeing the same behavior. Also, please try connecting your device with some other machine and check whether you observe the same behavior.

    Do you have access to any Ez-kit you can use to connect to your emulator with? Do you still encounter the same error messages? Does the ICE Test utility run successfully or does it fail at any point? If the Test fails, please provide us with a screenshot showing the ICE Test results. This will help us to isolate your issue whether specific to your hardware.

    "Failed to reset MP group" means that we failed to reset the cores. All cores are put in a group and then we do the reset which is why it says MP group. Please let us know whether you are loading code to all the cores? This will determine if we are doing a system reset or core reset.

    In CCES, can you go to Window::Preferences and then General->Logging and enabled “Log debug events to the debug log file”. Once that is done can you try connecting and loading your application and send us the log file after the failing message has been displayed?

    Also, please let us know whether you have DDR in your system. You should not use pre-load at all if you don’t have ddr.

    Basically, Preload is an application that sets up the processor so that we can properly load code to it. The pre-load resides entirely in internal memory and needs to setup DDR in order to access it by loading bits of the application there. It does not reside there forever but merely runs and can then be overwritten after. If you want to get around this to make sure you can connect to your board and do some very basic debugging then they can always create an application for the ADSP-21583 which has no external memory. you should be able to load it and at least verify debug is working properly.

    If you are facing this issue with the specific project, please share us the project with the steps to reproduce the issue along with screenshot of error.This will help us to assist you further.

    Regards,
    Santhakumari.K