Post Go back to editing

OpenOCD .cfg for SC572 Custom board

Hi team,

We're in the process of bringing up a custom board that uses an SC572 chip. We've managed to rebuild the preloader code and were able to run a bare-metal application.

We are now trying to flash a modified U-boot image onto it but have encountered the following error:

Similar errors were encountered before in another section, but that was overcome when I commented the following line out.

reset_sharcxi_debug_regs 0x80005000
in C:\Analog Devices\CrossCore Embedded Studio 2.10.0\ARM\openocd\share\openocd\scripts\target\adspsc57x.cfg (and the equivalent of this in the linux version) 

How do I go about solving this issue? What other configs do I need to change in order to use OpenOCD with SC572?

Thanks for reading and I look forward to hearing from you.


  • Hi Yan,

    Can you please follow the below instruction to generate the u-boot files and give a try with default u-boot files.

    If you have already u-boot running in your target, you can skip the "Flash U-Boot for the First Time" section
    and you can load the update the modified u-boot as mentioned in the "Flash U-Boot to SPI Flash" section

    Please let me know if you need any further information.

    Vignesh R

  • Hi Vignesh,

    I think there's a misunderstanding on what I'm trying to ask.

    Your instructions use OpenOCD with adspsc57x.cfg to talk to the ICE1000 debugger. However, through experimentation, I found that the file only works with sc573 chips with 2 SHARC cores.

    I had to comment out the following line in the following file to get through the early parts of your instructions for my SC572 board. The line of code most likely resets the second SHARC core, which doesn't exist on the SC572.

    reset_sharcxi_debug_regs 0x80005000
    in C:\Analog Devices\CrossCore Embedded Studio 2.10.0\ARM\openocd\share\openocd\scripts\target\adspsc57x.cfg (and the equivalent of this in the Linux version) 

    Currently, I am able to load both the init file and the u-boot file into RAM by following your instructions, but I am encountering the error message in the image above.
    Please advise on the next steps and let me know if you have any clarification questions.
  • Hi Yan,

    It looks like you are following MCAPI method to load the DSP cores.

    If so, Remoteproc is an alternate option to load the DSP cores, could you please give a try with Remoteproc to see you are able to boot Linux and DSP

    The below link may help.

    Below are the steps I used to follow to flash the Linux on Arm and bare metal code on DSP.

    First flash the u-boot to ARM
    Now we should be able to boot to Linux
    Then we can create ldr files for DSP
    And then use Remoteproc to load the ldr files to DSP

    And if you are trying any other method, please let me know with the steps.

    Vignesh R

  • Hi Vignesh,

    I think there is still a misunderstanding because you're answering a different question than what I'm asking.

    Let me ask my question in the following way:

    Can you provide the instructions to flash u-boot onto an SC572 chip.


  • Hey  , I was wondering if you've had any success flashing u-boot on a SC572 chip.

  • Hi Yan,

    Commenting out that line makes sense as your processor(SC572) has only 2 cores instead of the 3 and we were trying to do something on a core that does not exist. As far as your other issue with the error print out, have you altered the init file you are using prior to loading uboot for your particular DDR memory? That init file would have been written specifically for our EZ-KIT so any differences would likely mean a change to that file. I don't have an SC572 processor here to try this out unfortunately.



  • Hi Chad,

    We did manage to rebuild the init file for the SC572 on bare-metal by changing the processor type on the provided pre-loader and init file in $DIR. and was successful in running an example application. (OUr board used similar/same memory chip)

    We moved the init file to Linux and tried booting from there, but with no success.

    Would you be able to outline steps to do this task and I'll try it on my end?

    $DIR = C:\Analog Devices\CrossCore Embedded Studio 2.10.0\SHARC\ldr\init_code\SC57x_Init

  • Hi, 

    I don't think that you should be using the init file from CCES when you are installing Linux onto the ARM core of the processor.

    The build of U-Boot should create its own init object that can be loaded and will initialize the core for U-Boot to be loaded.

    If you look at the instructions on this page regarding installing U-Boot onto the system, you will see a section where we load INIT_ELF_FILE.

    This file performs the same actions as the CCES init files, but tailored for U-Boot.

    Can I ask that you review the above page and let us know whether this information helps you get things running.