Post Go back to editing

flashing EV-SC594-SOM without changing the boot mode switch

Thread Summary

The user asked if it's possible to flash the ADSP-SC594 processor on an EV-SC594-SOM + carrier board without changing the boot mode switch. The final answer suggests using the 'update' command within the audio starter application, which allows reflash without changing the boot switch, but requires the application to be running. The 'CCES_runner.exe' utility can be used for debugging without changing the boot switch, but it is not suitable for persistent reflashing.
AI Generated Content
Category: Software
Product Number: EZ!
Software Version: CCES 2.12.0 or higher

Hello ADI team,

I am working with the project Advanced Audio Projects for the Sharc Audio Module [Analog Devices Wiki] using an EV-SC594-SOM + carrier.  I would like to know if there is a way to flash the device without changing the boot mode switch.

Currently I am using the command mentioned in the wiki:

cldp.exe -proc ADSP-SC594 -core 1 -emu 1000 -driver "is25lp512m_dpia_SC594_Core1.dxe" -cmd prog -erase affected -format bin -offset 0x00000 -file EV-SC594-EZKIT.ldr

It requires setting the boot mode switch to 0, flashing, and then reverting it to 1.

Is there a way to flash the resulting .dxe using the CCES_runner.exe utility to avoid changing the boot mode switch?

Thank you for your support,
Gilberto


Thread Notes

Parents
  • Hi Gilberto,

    Please note that, the CCES Runner is a command line utility that only can be used to run executable(s) built for Analog Devices' SHARC® and Blackfin® processors outside the CrossCore Embedded Studio IDDE.

    The Device Programmer (CLDP) is a CCES command-line utility for programming device memory on a target board. It can be used for prototyping applications featuring Analog Devices' evaluation products.

    And there is no recommended procedure to set the Boot Mode as 0 when flashing the ADSP-SC594 processor. You may keep the boot mode switch position to 1 both during flashing and when booing your application.

    If you encounter any issues while flashing with the Boot Mode switch set to 1, please let us know.

    Regards,
    Santhakumari.V

  • Hi Santhakumari,

    Thanks for your reply. When Boot Mode switch is set to 1, I see next error:

    C:\Repos\EV-SC594-EZKIT-Audio-Starter\build>"C:\Analog Devices\CrossCore Embedded Studio 2.11.1/cldp.exe" -proc ADSP-SC594 -core 1 -emu 1000 -driver "is25lp512m_dpia_SC594_Core1.dxe" -cmd prog -erase affected -format bin -offset 0x00000 -file EV-SC594-EZKIT.ldr
    Target Emulation Debug Target
    Platform ADSP-SC594 via ICE-1000
    Processor ADSP-SC594
    Core 1
    Driver is25lp512m_dpia_SC594_Core1.dxe
    Program EV-SC594-EZKIT.ldr
    Error: failed erasing affected sectors.
    Failed

  • Hi Gilberto,

    Unfortunately, we are unable to simulate your issue here, we can able to flash and boot a simple LED blink example code into EV-SC594-SOM evaluation board.

    In order to isolate your issue, please share the below points:
    1. Try to flash any simple LED code into your EV-SC594-SOM and confirm whether you are facing same issue with all project or specific project?
    2. If the issue occurs with any specific project, share the project to simulate here
    3. Whether you are facing same issue with different CCES versions?
    4. Try with "-erase all" instead of "-erase affected" with CLDP command to ensure a full flash erase is performed before programming.
    5. Also, confirm whether you are facing same issue when Boot Mode switch is set to 0 and boot with 1.

    Waiting for your reply.

    Regards,
    Santhakumari.V

  • Hi Santhakumari,
    Please use the project I mentioned in the first message of this thread:
     Advanced Audio Projects for the Sharc Audio Module [Analog Devices Wiki]

    and follow the instructions mentioned in the section:
    Sharc Audio Module - Program Flash [Analog Devices Wiki]




  • Hi,

    We tested this project with Boot Mode set to 1 and were able to flash the code without any error.

    However, please note that the SAM Audio Baremetal example is specifically designed for the ADSP-SC589 processor and SHARC Audio Module. The ADSP-SC594 is a different SHARC family with distinct hardware, which suggests there are architectural and peripheral differences from the SC589.

    So, we recommend you to try with the SC594 Board support package examples and let us know if you are still facing the same issues.

    You can download and install ADSP-SC59x EZ-KIT Board Support Package from the below link.
    download.analog.com/.../ADI_EV-SC59x_EZ-KIT-Rel4.0.0.exe

    After installation, you can find the examples from the following directory.
    C:\Analog Devices\EV-SC59x_EZ-KIT-Rel4.0.0\EV-SC59x_EZ-KIT\Examples

    1. Have you ported the SAM(SC589) audio framework example project to SC594 or tried to flash the SC589 LDR file into SC594?
    2. What is the status of flash while trying with "-erase all" option instead of "-erase affected"?

    Regards,
    Santhakumari.V

  • Hi Santhakumari, thanks for testing it in your bench. 

    The SAM Audio Baremetal is compatible with EV-SC594-SOM with carrier, you can see that the next flash procedure mentions it:


    It is also mentioned in the appendix A:
    Appendix A [Analog Devices Wiki]



    If I change -erase affected by "-erase all", I see this error:

    C:\Repos\powermanager2\sharc\EV-SC594-EZKIT-Audio-Starter\build>"C:\Analog Devices\CrossCore Embedded Studio 2.11.1/cldp.exe" -proc ADSP-SC594 -core 1 -emu 1000 -driver "is25lp512m_dpia_SC594_Core1.dxe" -cmd prog -erase all -format bin -offset 0x00000 -file EV-SC594-EZKIT.ldr
    Target Emulation Debug Target
    Platform ADSP-SC594 via ICE-1000
    Processor ADSP-SC594
    Core 1
    Driver is25lp512m_dpia_SC594_Core1.dxe
    Error: [TpsdkServer] Failed to set expression, $RCU0_MSG, with the value, 1572864, for processor 1



  • Hi,

    Apologies for the delayed response.

    Please note that, the only option to reflash the Audio Starter LDR for the SC594 EZKIT without having to change the boot switch is to use the "update" command that is built into the application itself (this is application specific though and doesn’t apply to other SW SDKs running on the EZKIT):
    https://wiki.analog.com/resources/tools-software/sharc-audio-module/advanced-audio-projects/shell-commands/development-commands#software_reflash_update

    However, please be advised that you will need to have the audio starter application up and running in order to invoke this command. You will still need to reset your board for the updated software to load, and there is no validation to ensure that the file being loaded is actually a proper LDR.

    With this, you shouldn’t need to change your boot switch.

    As a general rule and statement, the boot switch is a hardware switch that is tied specifically to the ROM bootloader functionality of the SHARC DSPs and is not something we control. This is a HW and silicon feature, not a SW feature. We have a command specifically in our own software for convenience, but it comes with limitation (listed above).

    If you brick your board for whatever reason through the update method, you will need to recover using one of the boot switch options as before.

    Hope this helps.

    Regards,
    Santhakumari.V

  • Hi Santhakumari, 

    I see now. My original question was because the debug session in CCES doesn't require position changes in the boot mode switch, so I was wondering if CCES_runner.exe could do something similar to the debug session in CCES

    Thanks,
    Gilberto

Reply Children
  • Hi Gilberto,

    Apologies for the delayed response.

    You can debug your application using "CCES_Runner" without changing the boot mode switch similar to the CCES IDE.

    For more information about "CCES_Runner" command line options, please refer the following FAQ linked below:
    Using CrossCore Embedded Studio's CCES Runner Utility Audit 



    Regards,
    Santhakumari.V

  • Hi Santhakumari,

    I reach out to the field support Engineer in my country, and I could have this answer:

    This worked for me:

    CCES_runner.exe -v\

     --target "Emulation Debug Target"\

     --platform "ADSP-SC594 via ICE-2000"\

     --processor ADSP-SC594\

     --core "0,RUN_AFTER_LOAD|SHARC\ldr\ezkitSC594W_preload_core0,NO_RESET_BEFORE_LOAD|RUN_AFTER_LOAD|C:\Repos\NAFAE\ev-sc594-ezkit-audio-starter\build\EV-SC594-EZKIT-ARM"\

     --core "1,RUN_AFTER_LOAD|C:\Repos\NAFAE\ev-sc594-ezkit-audio-starter\build\EV-SC594-EZKIT-SHARC0.dxe"\

     --core "2,RUN_AFTER_LOAD|C:\Repos\NAFAE\ev-sc594-ezkit-audio-starter\build\EV-SC594-EZKIT-SHARC1.dxe"

     

    However, if the customer wants to reflash the board, CCES might not be the correct tool. It seems this tool is just a command line alternative to the CCES debug session that can be used to emulate a program. That means changes will not persist after session ends. CCES_Runner seems to be good to automate tests, set some breakpoints, and read/write memory.

     

    CLDP would be the right tool to reflash the board. Normally, one would have to set the Boot Mode switch to 0 before calling the program command but I was able to reflash without turning the Boot Mode switch by sending a reset command before the program command.

     

    cldp.exe -proc ADSP-SC594 -core 1 -emu 2000 -driver "is25lp512m_dpia_SC594_Core1.dxe" -cmd reset

    cldp.exe -proc ADSP-SC594 -core 1 -emu 2000 -driver "is25lp512m_dpia_SC594_Core1.dxe" -cmd prog -erase affected -format bin -offset 0x00000 -file EV-SC594-EZKIT.ldr

     

    I could also do it by erasing all before programming, but that takes considerably more time than turning the Boot Mode switch.


    Currently I am using the cldp.exe commands, after the flashing I have to press the reset button in the EZKIT and it works!