Hello.
I am using the hello_world_usart sample program in the dsp_examples folder.
Is it possible to change the address used by Fusion DSP?
It is defined in dsp_config.h as follows.
-------------
#define DSP_RESET_ADDRESS (uint32_t *)0x00180000
#define DSP_TEXT_ADDRESS (uint32_t *)0x00180400
#define DSP_SRAM_ADDRESS (uint32_t *)0x00080000
-------------
After changing the address, the DSP will no longer output Hello World.
Is it possible to specify addresses from the ARM side program?
Or do I need to reprogram the Fusion DSP?
Best regards,
Daisuke Yoshinari
i.MX-RT500
Hi @daisukeyoshinar ,
Thanks for your interest in NXP MIMXRT series!
I think the memory distribution can be reconfigured, but note that in the current configuration, the DSP code core data distribution uses partitions 1 and 18 of the shared RAM, and you have to make sure that the code and data are not in the same partition or the DSP cores will lock up permanently.
In addition, you need to make sure that you need to ensure that the copy target address (the TCM region of the DSP) is within the memory map of the Fusion DSP and does not overlap with the RAM partitions used by other masters.
Also, refer to this code to modify DSP Vector table remap address:
/* Set DSP to use primary static vector base(0x0000_0000) and remap to 0x180000. */
DSP_SetVecRemap(kDSP_StatVecSelPrimary, 0x600U);
/* Initializing DSP core */
DSP_Init();
#if DSP_IMAGE_COPY_TO_RAM
/* Copy application from RAM to DSP_TCM */
DSP_CopyImage(&reset_image);
DSP_CopyImage(&text_image);
DSP_CopyImage(&data_image);
#endif
Gavin
Thank you for the information about memory allocation.
The question was the need to build Fision DSP.
Regarding this point, I found a description in the documentation included with the SDK.
Getting Started with Xplorer for EVK-MIMXRT595.pdf
4.3 DSP Linking Profiles
I actually tried it.
To change the address used by Fusion DSP,
I needed to build a program for Fusion DSP.
thank you.