Exchanging .o (object) files for algorithm IP protection

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
RiTa_288331
Level 2
Level 2
10 replies posted 10 questions asked 5 replies posted

This is more of a "fundamental C" question, where we are using the PSOC5LP to accomplish our task.  Here goes:

   

Problem statement:

   

We have a "special.c" file in PSOC creator, that has some of our special proprietary algorithms.  We know they work on our PSOC5 development board through testing and debugging.  We want to allow our customer to use the algorithms, but we do NOT want them to "see" the algorithms (I.E. the "special.c" file should be a "black box" to the customer).  As a side note, this project's schematic (.cysch) and pin configurations are common information between the two of us (not secret).

   

In order to do this, we want to compile special.c into special.o (the object file), and then give this special.o file to the customer. 

   

--> How do we create the external inputs/outputs in "special.c" so that the customer can see them, but not see the internals of special.c?

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I would suggest to create a library "libspecial.a", not an object file. Then you (your customer) can specify to use the library in Creator by adding "special" to Project -> Build settings -> Linker -> additional libraries.

   

When creating a new project there is an option at the initial window for a library project.

   

 

   

Happy coding

   

 

   

Bob

View solution in original post

0 Likes
1 Reply
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I would suggest to create a library "libspecial.a", not an object file. Then you (your customer) can specify to use the library in Creator by adding "special" to Project -> Build settings -> Linker -> additional libraries.

   

When creating a new project there is an option at the initial window for a library project.

   

 

   

Happy coding

   

 

   

Bob

0 Likes