winIDEA supports ST Stellar and Centauri MCUs like SR6G7 and SR6P7. Their non-volatile memory (NVM, also Flash) parts, of which some are one-time-programmable (OTP), are represented in winIDEA through programmable memory devices such as CODE, DATA, and the two OTP BCS and UTEST. NVM also has two ports: one for read access and one for write access. When programming any of these parts with winIDEA, for example adding a new device configuration format (DCF) record, NVM read access port addresses should be used. winIDEA will automatically add the NVM write access port address offset when programming. If NVM write access port addresses are used with winIDEA, programming will fail.
1. Perform a test write to the non-OTP part of the NVM (CODE or DATA), using its read access port address.
Programming OTP memory is disabled by default in winIDEA. It can be enabled through the Hardware | Options | Programming. More information in How to write to the OTP memory?
2. Verify that programming on this address succeeded and also that the value is correct (endianness,...).
3. Revert this modified part of the non-OTP NVM to its previous
state.
4. Perform write to the desired OTP part of the NVM through the read access port address.
5. Verify that the desired OTP value is programmed there.
Carefully go through all related MCU and tools documentation first. Programming OTP memory with wrong values or in the wrong way can render the device unusable!