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
1 of 1 people found this helpful
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 | Cypress Semiconductor
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,
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.