Post Go back to editing

SC584 Custom Board with DDR3(MT41J128M16JT) flashing issue

Category: Hardware
Product Number: ADSP-SC584

Hello

Processor and Revision == ADSP-SC584 rev 1.0
Hardware Platform and Version == Custom Board
Target Software and Version == DDR3 Interfacing
Development Software and Version == CCES 2.9.2
Host Operating System and Version == Windows 11
Emulator Device == ICE 1000

I am working on the custom board which includes one SC584 processor, UARTs, one Winbond W25Q128FV SPI Flash and one DDR3 (MT41J128M16JT) memory. The custom board is designed as per Eval board schematics. To connect the board using ICE-1000 I used default preload code as supplied in the default directory (C:\Analog Devices\CrossCore Embedded Studio 2.x.x\SHARC\ldr\). But the loading of test code using debugger doesn't happened and stuck in between. On further research (Preload Customization FAQ), I came to know that during loading using debugger

"External memory needs to be configured appropriately before applications can be loaded. When the application boots, this is done through initcodes; when the application is loaded to target using the debugger, this can be done by the IDE automatically for simple processors."

The preload code that I used was for default DDR2 Memory (MT47H128M16) present on SC584 eval kit. To solve this issue I modified the "preload" source code in default directory (C:\Analog Devices\CrossCore Embedded Studio 2.9.2\SHARC\ldr\init_code\SC58x_Init\sc584_preload_Core0) for DDR3 memory (MT41K128M16JT). This is same DDR3 memory that is present in SC589 eval board.

I modified the CONFIG_DMC0 to Micron_2Gb_DDR3_MT41K128M16JT instead Micron_2Gb_DDR2_MT47H128M16 in config.h. I build and with this customized preload.dxe the custom board got connected and started working. In debug configuration Core 0 default preload path is modified to this custom preload.dxe. The different peripherals were checked independently and all works good.

But DDR3 memory (MT41J128M16JT) being used on our custom board is different from the DDR3 memory (MT41K128M16JT) used in preload code. It may happen that both part are quite similar and settings used in preload code works well for both.

The same modification as applied in "preload" code is done with "initcode" source code in default directory (C:\Analog Devices\CrossCore Embedded Studio 2.9.2\SHARC\ldr\init_code\SC58x_Init\sc584_init_Core0).
But the build customized initcode.dxe doesn't flashes the test code. It got stuck indefinitely after driver line as shown in snapshot.

Command used for loader file creation:


elfloader -proc ADSP-SC584 -si-revision 1.0 -bspimaster -fbinary -width 8 -bcode 1 -init "C:\Analog Devices\CrossCore Embedded Studio 2.9.2\SHARC\ldr\init_code\SC58x_Init\sc584_init_Core0\Release\sc584_init_Core0" -core0="D:/Working Dir/Radio 1/test_Core0/Debug/test_Core0" -NoFinalTag="test_Core0" -core1="D:/Working Dir/Radio 1/test_Core1/Debug/test_Core1.dxe" -o "test.ldr"

Command used for flashing:


cldp -proc ADSP-SC584 -cmd prog -driver "C:\Analog Devices\ADSP-SC5xx_EZ-KIT_Lite-Rel2.0.2\ADSP-SC5xx_EZ-KIT\Examples\Device_Programmer\sc584\sharc\sc584_w25q128fv_dpia_Core1\sc584_w25q128fv_dpia_Core1.dxe" -erase all -emu ice-1000 -format bin -core 1 -file test.ldr -cmd compare -format bin -core 1 -file test.ldr

Questions:

1. Does any further modification is required for new DDR3 (MT41J128M16JT) in preload/initcode?
2. Does the flashing driver also depends on the DDR memory configuration used?
3. Does any changes required for .ld files for memory mapping?

Please guide me to tackle this problem. Hoping for favorable response.

Flash Snapshot:

  • Hi Anukul,

    Could you please share us the below details, to assist you further on this issue.

    1. To isolate the issue, could you please try to flash the custom board with any simple LED application with init code and without init code and let us know the behavior. This is to ensure whether facing issue only after adding init code.
    2. Have you ever been able to flash to your target board, or is this the first time you're trying to flash?
    3. Please confirm the DDR size you are using.
    Also, please refer the below EE-note to Modify the default Preload and Initialization Code for Customized CGU/DMC Settings which might be helpful to you:
    https://www.analog.com/media/en/technical-documentation/application-notes/ee387v04.pdf
    Regards,
    Nandini C
  • Hi Anukul,

    We understand that this issue is already handled through private support. To avoid duplication of efforts, you can continue the discussions through private support.

    Regards,
    Nandini C