CY8MBR3116 - reprogramming flash

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

cross mob
Anonymous
Not applicable

Hello, 

   

We have a custom board with CY8MBR3116. I could configure and program the flash via I2C. However, i am not able to re-configure the device to change the some of the parameters. What process do i need to follow to delete the configuration flash and load a new set of configuration?

   

Here is the sequence i followed:

   

EzClick -> Generate .h with 128bytes of config info

   

Follow process in programming document - Acquire chip, write starting at SENSOR_EN, write flash with CTRL_CMD = 0x02. Issue Reset. This process works - i can read back the values and the chip seems to be operating. 

   

I need to reset / modify some of the parameters, i tried to follow the same sequence as above, but now i am not able to change the values, i cannot update/modify individual registers even. 

   

Is there a separate command or flow i need to follow to delete existing configuration?

0 Likes
1 Solution
Yuva
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 100 solutions authored

After writing a CMD_OP_CODE value of ‘2’ to the CTRL_CMD (0x86) register, wait for 220 ms and read the CTRL_CMD_STATUS (0x88) register to check if the configuration data is successfully saved to nonvolatile memory. 

   

If the configuration data is successfully saved to nonvolatile memory, the value in the CTRL_CMD_STATUS (0x88) register will be ‘0’ else it will be '1'. Incase of failure read the CTRL_CMD_ERR (0x89) register.

   

 

   

Thanks,

   

Yuva

View solution in original post

0 Likes
6 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Hello,

   

Can you mention specifically which parameters you wish to modify.

   

You can look at page no.70-71 of this document which may help you-

   

http://www.cypress.com/file/46366/download

0 Likes
Anonymous
Not applicable

I was attempting to modify prox_en and buzzer_en registers. 

   

Thanks

0 Likes
Yuva
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 100 solutions authored

After writing a CMD_OP_CODE value of ‘2’ to the CTRL_CMD (0x86) register, wait for 220 ms and read the CTRL_CMD_STATUS (0x88) register to check if the configuration data is successfully saved to nonvolatile memory. 

   

If the configuration data is successfully saved to nonvolatile memory, the value in the CTRL_CMD_STATUS (0x88) register will be ‘0’ else it will be '1'. Incase of failure read the CTRL_CMD_ERR (0x89) register.

   

 

   

Thanks,

   

Yuva

0 Likes
Anonymous
Not applicable

I am following this process, there are no errors indicated in the CMD_STATUS/CMD_ERR registers. However, the write is not taking effect. After a power reset and when i read the value back, they have not changed. Is this device meant to be reconfigured multiple times - or is it one time configuration? It does behave as if  it allows only a single configuration.  

0 Likes
Yuva
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 100 solutions authored

It is possible to configure the device multiple times. Can you tried to configure directly using the EZ-Click and check the status of the registers? Also trying to configure the entire generated file (with prox/buzzer) enabled from EZ-Click.

   

 

   

Thanks,

   

Yuva.

AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Please provide us with the commands that you are using for configuring  the device via I2C.

0 Likes