We are developing a rtos based on the PSOC BLE which has plug and play compatibility with a list of sensors. The product will be sold on a contract basis to use the hardware design IP, operating system IP and base phone app example.
Concerning the psoc code, the OS uses quite a few udb as well as fixed function blocks. If we wanted to sell the os separately as a binary which could be installed so to speak (a similar concept to windows or android). The product designer could then use our API to access data and send data over BLE.
How much can we protect?
What issues will there be with having a static binary with UDB blocks (both built in as well as custom blocks we have made).
Binaries are fundamentally reverse-engineerable given time and effort, see here: https://www.whitehatsec.com/blog/protecting-your-intellectual-property-are-binaries-safe/
As far as a preprogrammed chip is concerned, you can set the flash protection in hardware to Unprotected, Protected (no reads), and Kill (fries the chip I assume)