In another post I asked about SysLink HWIs.
One other problem I have is trying to get SysLink working efficiently so that it does its thing and then gets out of the way. I have a problem here, because I don't have enough IRAM (L2 RAM) for the entire program and data, so some of the program has to live in external DDR. As far as my application is concerned, getting settings from the ARM to the DSP can be a slower process, so I have no problems with all that living in external DDR.
This is a problem for the SysLink HWIs (and perhaps SWIs if they create them too) though. If a HWI takes a long time to run, it's going to get in the way of SWIs. Also if the HWI is running from external DDR, it could be triggering cache invalidates which will cause all sorts of fun for the rest of the application. And unfortunately there isn't enough space left to put the entire SysLink library in IRAM.
From the SysLink library, are there some functions which definitely should live closer to the DSP core for best performance? And are there some functions which can definitely be left further away, because they don't matter so much? Some advice on how best to place these library functions in the linker command file would be very helpful, please.