Need Help for creating a protected firmware distribution system

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

cross mob
AnMo_1339336
Level 1
Level 1

Hi all. I need to create a system to share firmware with my customers without sharing plain hex files. In two words I need to give my customer the possibility to program his prototypes with my test firmware for a limited period of time (or for an exact number of devices) just for firmware evaluation/testing.

We are currently developing a windows software based on Psoc Programmer. Essentially our customer receives credentials to access a encrypted hex file. The windows client downloads (in ram) the encrypted hex, decrypts it (in ram) and then instructs PsocProgrammer to program the device. At no time hex file is present on disk, either encrypted or decrypted.

The problem we are facing is that, looking at PSoC Programmer COM API, there seem to be non  possibility to load the hex file directly from RAM. 

The only way we found to load HEX data is

HEX_ReadFile(string IN fileName, OUT imageSize, string OUT strError).

We wold need to have something as

HEX_ReadFromBuffer( byte[] buffer, OUT imageSize, string OUT strError)

Do anyone have a solution for this? Am I missing something?

Thank you in advance for you help

0 Likes
1 Solution
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Presently, I can't find any COM APIs for programming hex available in ram.

You can export the Creator project to 3rd paty IDEs like Keil uVision, IAR or Eclipse , for that you need to follow the steps as given  under topic "Integrating into 3rd Party IDEs" in Creator's Help. Then can make use of options available in other IDEs according to the requirement.

View solution in original post

0 Likes
1 Reply
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Presently, I can't find any COM APIs for programming hex available in ram.

You can export the Creator project to 3rd paty IDEs like Keil uVision, IAR or Eclipse , for that you need to follow the steps as given  under topic "Integrating into 3rd Party IDEs" in Creator's Help. Then can make use of options available in other IDEs according to the requirement.

0 Likes