I'm currently working on porting some code based on the bare metal framework for the ADSP-SC589 to the ADSP-SC598.
I've encoundered some interesting issues with resources shared between cores (e.g. shared gpio drivers). N.B. gpio drivers have been updated away from the bare metal frameworks bm_gpio functions.
When the drivers folder is added to a Sharc core (in addition to the Arm core), I get errors such as 'Symbol 'ADI_GPIO_DIRECTION_OUTPUT' could not be resolved', and on further inspection, this seems to be being referenced from multiple locations, possibly causing an issue? This is shown in the image below.
I have experimented with a simple example toggling pins in multiple cores just using the functions in <services/gpio/adi_gpio.h>, this compiles fine with no issues. Linking in a shared drivers folder to an additional core results in the issues above. Interestingly, removing links to common folders from the sharc core does not fix the errors produced, even when a clean build is undertaken. I suspect this may be an issue behind the scenes, or there's an option I'm not aware of to get the Arm to pull in only Arm drivers, similarly Sharc drivers for Sharc cores?
Any advice greatfully received!