How to avoid leaking the application code since it is stored in the external memory?

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

cross mob
Anonymous
Not applicable

HI,

1, As the application code is stored in the external memory, spi flash or I2C eeprom, it is easy to be copied by anyone. So how to avoid the copy?

2, Does Cyw20735 have the internal storage which can store the application code or user data? If it has, I think we can make some tricky method to protel the application code in the external memory.

0 Likes
1 Solution
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi ohwelcome_2792261​,

Yes the application code in CYW20735 gets copied into external flash and you can copy it. But as the firmware is stored in ROM, the application code doesn't have any meaning even if someone copies it.

20735 has RAM but in downloading process, only minidriver is loaded into RAM, application goes in flash only.

View solution in original post

9 Replies
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi ohwelcome_2792261​,

Yes the application code in CYW20735 gets copied into external flash and you can copy it. But as the firmware is stored in ROM, the application code doesn't have any meaning even if someone copies it.

20735 has RAM but in downloading process, only minidriver is loaded into RAM, application goes in flash only.

Anonymous
Not applicable

Hi, shjl @shjl

Thanks for your response.

In my understanding, if we design our device based on 20735, our firmware (application code) is stored in the external flash. And the inside ROM only stores Cypress's firmware which will be programmed in the factory, right? If so, someone can easily copy my code from the flash and buy the chips from Cypress to copy my device, right?

Actually, I could not see much detail information from the datasheet about how the MCU runs, can you show me guide or link to know more? Thanks.

0 Likes
Anonymous
Not applicable

HI, shjl

1, Can we program any parameters setting to Cyw20735 when production?

2, Is there any memory inside Cyw20735 we can use to write personal parameters?

3, Is there any memory inside Cyw20735 we can use to program user code?

Thanks.

0 Likes
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi ohwelcome_2792261​,

As the flash contains the application code and processor will have to read the code from flash, we cannot have read protection for flash. There is a provision to set write protection though. I came across a link regarding this: https://www.eetimes.com/document.asp?doc_id=1332289 . But let me clear to you that we have not tested this.

In response to your other questions-

1. No we cannot.

2. You can store the parameters in NVRAM, but this is on external flash.

3. No there is no such provision.

Anonymous
Not applicable

Thanks. shjl

So for Cyw20735, we could not write anything into the device. How about Cyw20734? Is it similar to Cyw20735? Does Cyw20734 have any memory inside the chip we can use to write production parameters or application code etc?

0 Likes

The CYW20734 is not supported in the broad market and here on the community,

0 Likes
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi ohwelcome_2792261​,

CYW20734 is not similar to CYW20735.

As per the Bluetooth stack implementation in WICED, you can't use internal memory to store application code on WICED chips.

0 Likes
Anonymous
Not applicable

Great thanks. @shij

As you said, CYW20734 is not similar to CYW20735? So can I assume that there is memory inside CYW20734 and this memory is writable? Thanks.

0 Likes
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

By different, I mean the architecture and features for both the chips are different. I am not sure if you will meet your requirement with CYW20734.

0 Likes