Below are commands used for loader file creation
Single core:
"\elfloader.exe" -proc ADSP-SC594 -init ezkitSC594_initcode_core0 -core0=Application_core0 -b SPI -f BINARY -Width 8 -bcode 0x1 –verbose -o Single.ldr
Multi core:
"\elfloader.exe" -proc ADSP-SC594 -init ezkitSC594_initcode_core0 -core0=Application_core0 -NoFinalTag="Application_core0" -core1=Application_core1.dxe -NoFinalTag="Application_core1" -core2= Application_core2.dxe -b SPI -f BINARY - Width 8 -bcode 0x1 –verbose -o MultiCore.ldr
In the defined boot stream, there is a “Final” tag associated with the last block in the stream destined for the specified core. The tag indicates to the boot ROM that boot process is complete after this block.
In a multi-core scenario, however, this tag must be omitted if other cores still need to be loaded after the current one. Otherwise, the boot ROM exits prematurely during the boot after loading to that core. This sequence results in the other cores not booting at all. The capability to remove the “Final” tag from the boot stream generated for a specific core is available via the –NoFinalTag switch.
The -NoFinalTag switch directs the loader utility not to set the FINAL flag on the last code block from the .dxe file. When building an .ldr file with multiple .dxe files, this prevents the boot from halting after the first .dxe completes.
Changing the –b switch value to OSPI generates the loader streams for an OSPI controller boot.