- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
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 ?
Regards,
cranor
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Cheers,
Uday
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your fast reply.
Effectively, I missed the pdf.
It works nice now, thanks 😉
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
set LOADER_PRJ_NAME=BLE_OTA_FixedStack_Bootloader01
set LOADABLE_PRJ_NAME=BLE_OTA_FixedStack_Bootloadable01
set CREATOR_VERSION=4.2
Given how the rest of the platform works, this should really be easier...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Mike,
after adjusting the paths there rising new errors. They are not explain that much. Your help is appreciated.
Thank you very much,
Daniel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
cm0gcc.ld ->
MEMORY
{
rom (rx) : ORIGIN = 0x0, LENGTH = 262144
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 16384
}
Just enlarge LENGTH of rom from 131072 bytes to e.g. 262144.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.