I get "Build error: cannot open linker script file BootloaderSymbolsGcc.ld: No such file or directory" when trying to compile example shared memory bootloadable project.
The file is included from "cm0gcc.ld" and I can't find it on my disks. Google gives no result.
Is someone else facing the same problem as me ?
Before you can build the Bootloadable project, you would need to generate some linker scripts by running the mk.bat script, which is available as part of the Shared memory Bootloader project.
Read the datasheet for the example project to get more details. You would need to configure mk.bat file for the appropriate locations of the projects and then run it - that would generate the necessary scripts for the Bootloadable.
Thanks for your fast reply.
Effectively, I missed the pdf.
It works nice now, thanks 😉
It does not work out of the box with defaults. For PSOC Creator 4.2 here's what you need to change:
Add 01 to directory names.
Change version to 4.2 which will help find the executable.
Given how the rest of the platform works, this should really be easier...
after adjusting the paths there rising new errors. They are not explain that much. Your help is appreciated.
Thank you very much,
Daniel, You are over my knowledge now. I'm guessing that since it complains about overlap you have not set the dependencies in the Bootloadable component or copied the linker script. Double check those. Perhaps someone from Cypress knows better.
I believe the errors shown in the screen shot are what you get when the compiled application is bigger than the available flash.
AKA, the application is too big.
The total ROM size defined in bootloadable project linker file is too small. There is no extra space for application to reside after bootloader is settled.
rom (rx) : ORIGIN = 0x0, LENGTH = 262144
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 16384
Just enlarge LENGTH of rom from 131072 bytes to e.g. 262144.
If this problem persists even when the BootloaderSymbolsGcc.ld linker script has been generated from the mk.bat file, make sure that the parent directory of the linker script has been added in Build Settings -> Linker -> Additional Library Directories.
Without that path, the linker cannot find the additional linker script event though it's in the same directory as the cm0gcc.ld script.
I ran into this when trying to build a bootloadable project from scratch.