Sorry, I made a mistake:
1. Read the SYSTEM_STATUS(0x8A) register
2. If SYSTEM_STATUS (bit0) is 1, write configuration parameter to MBR3 (according to Register TRM)
3. If it is 0, nothing is done.
These are correct.
Could you please help me to understand what your question is again?
> after doing this process, the SYSTEM_STAUTS register will be 0, but the configuration will remain at the
> factory default.
For this case, there would be possibility to not configure registers correctly. Please make sure if the register can be program correctly.
> I think that the SYSTEM_STATUS register is 1 at the time of shipment from the factory, and will be 0 when
> writing something.
> Is this correct?
Yes, this is correct.
Here is the summarization of "SYSTEM_STATUS"register.
0) At a time to MBR3 device shipment from Cypress, the SYSTEM_STATUS register would be “Not defined”.
Please refer to the MBR3 register manual.
1) When the device is power-on, “SYSTEM_STATUS” is set to “1” in the firmware at this time. This mean that when you check this register at this timing, “SYSTEM_STATUS” has been already set to “1” (nothing was changed from factory default configuration)
2) If you changed any configuration and don't change “SYSTEM_STATUS” register, “SYSTEM_STATUS” is still “1” at this point. However, any changing of configuration registers will be effective only after reset command, then the "SYSTEM_STATUS” will be 0. If no reset, the changing will not be effective, "SYSTEM_STATUS” is still “1” at this point.
During Power Off, “SYSTEM_STATUS” is “Not defined”. After power on, because the configuration was changed at 2), “SYSTEM_STATUS” would be “0”.
Thank you for your reply.
I want to debug the configuration write procedure.
However, once SYSTEM_STATUS becomes 0, it can not be returned to 1.
Is there any way to set SYSTEM_STATUS to 1?
Could you please explain what the step you confirmed is, and what the specific condition/configuration is...?
Thank you very much.
Have to apologize for making you confused...
According MBR3 registers TRM, SYSTEM_STATUS register is Read only by Host ACCESS.
So, we can not write this register, for example, through BCP.