CCES is showing unexpected or probably also incorrect behaviour when regenerating code from via the "Startup Code/LDF" CCES Add-In.
We have seen strange behaviour when modifying settings in the "Startup Code/LDF" Add-In, especially when enabling the use of external memory. The additional sections in app.ldf are not generated - at least not consistently. I have tried to reproduce the issue with a new CCES project and could see the same behaviour for CCES v2.6 and the current v2.8.
General issue: I make changes in the CCES GUI to modify settings for the "Startup Code/LDF" Add-In (disable/enable external memory, cache configuration, etc.). It seems that the files are not generated a) at all, b) only specific sections are regenerated and others are not (but should). After some experimenting it started to work again - I think this is related to when the code regeneration is triggered.
Can you please elaborate on the triggering process of regeneration? Can you please also elaborate on which changes effect which files?
To further investigate the issue I have used the headless build tools to fore the source code regeneration:
"%CCES_HOME%\ccesc.exe" -nosplash -application com.analog.crosscore.headlesstools -data "%WORKSPACE_DIR%" -project "%PROJECT_DIR%" -regensrc
The behaviour of the headless build tools seem to (almost?) match the IDE behaviour. Source regeneration often is not triggered, even when there have been changes in the mean time.
To double check I have even regenerated the source code manually by calling the SourceGenerators\SourceGen.exe executable directly on the system.svc file. However, I am not sure if this how to do it. I am not even sure if the CCES IDE or the headless tools use this utility in the background...
"%CCES_HOME%\..\System\SourceGenerators\SourceGen.exe" "%PROJECT_DIR%\system.svc" -proc ADSP-BF707 -o "%PROJECT_DIR%\system\startup_ldf"
For the calls of SourceGen.exe it looks as if the files in startup_ldf are consistently regenerated and their content matches the system.svc settings.
How to proceed?
I could use some custom pre-build command to force regeneration - not being sure if this produces correct results.
Can we fix CCES' behaviour instead?
I have been investigating this issue now for hours.