- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For the fixed stack OTA bootloader it seems like if I don't use a BLE API function in the 'loader' project, it gets removed and is not available in the 'loadable' project, is this correct? We're using a 128k device and if I set 'remove unused sections = false' I get a ROM overflow condition. My workaround is to just put the BLE functions I need in a block that won't execute in the 'loader' project, then they will be available in the 'loadable'. Is this the right approach or am I missing something here?
Thanks,
Eric
Solved! Go to Solution.
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Eric,
Yes, In Fixed Stack OTA, BLE is component is available in Bootloader project. However we can link the necessary BLE APIs for our application by using the custom linker scripts.
Please go through our appnote: AN97060 - PSoC® 4 BLE and PRoC™ BLE - Over-The-Air (OTA) Device Firmware Upgrade (DFU) Guide | Cypre...
Go through the section 5.3 for adding Fixed stack OTA to an existing application project.
PSoC 4 BLE FAQs: https://community.cypress.com/docs/DOC-13821
Thanks & Regards,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Conceivably, if you have a large enough application project, then building the entire BLE API library could use up too much space. What you are describing for your approach sounds right to me; Since the bootloadable will be fixed stack, that means you can't upgrade/change the BLE stack once you upload it to the unit. But I haven't worked much with bootloading specifically, so I wouldn't exert much confidence in my answers
Epratt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Eric,
Yes, In Fixed Stack OTA, BLE is component is available in Bootloader project. However we can link the necessary BLE APIs for our application by using the custom linker scripts.
Please go through our appnote: AN97060 - PSoC® 4 BLE and PRoC™ BLE - Over-The-Air (OTA) Device Firmware Upgrade (DFU) Guide | Cypre...
Go through the section 5.3 for adding Fixed stack OTA to an existing application project.
PSoC 4 BLE FAQs: https://community.cypress.com/docs/DOC-13821
Thanks & Regards,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK I see now, their was no KEEP instruction in the linker file for the API function I was trying to call. So if the function is used directly in the bootloader project the linker will link it, if not, there must be a KEEP instruction for it. Got it, thanks.