ΣSigmaStudio Ask AI Русский Log in

Anomaly 20000129

Processors & DSP BernhardM Apr 22, 2026 00:00 5 replies Original on forum ↗
Subscribe
BernhardM Question
Apr 22, 2026 00:00

Hi,

what is the correct way to program the OTP based on anomaly 20000129.

Regards

Bernhard

ADSP-21569

3.0.3

software

processors and dsp

Processors and Microcontrollers

Divya.P Reply
Apr 23, 2026 00:00

Hi Bernhard,

We provide OTP(SSLDD) library for accessing any OTP memory address for read and write.

You can use adi_otp_DataRead() and adi_otp_DataProg() which reads/writes into OTP memory a given number of 32-bit words. Additionally, in the OTP library we are giving multiple low-level APIs to program different fields as per different use case, like programming CGU, Different Security Keys etc. These low-level APIs are more smarter, where don’t have to do any read prior to programming or after programming. The API will only take care of those internally.

Please refer to the below OTP library header file to know all the available APIs.
C:\analog\cces\3.0.3\SHARC\include\services\otp\ adi_otp_v1.h

Also, please note that the OTP (SSLDD) library is only supported in CCES 3.x.x and later.

For more information about OTP(SSLDD) APIs, please refer the below mentioned CCES help path.
CrossCore® Embedded Studio 3.0.3 > System Run-Time Documentation > System Services and Device Drivers > ADSP-21569 Family (SHARC+ Core) API Reference > Topics > OTP Device Service

Regards,
Divya.P

BernhardM Reply
Apr 23, 2026 00:00

The OTP Library Functions reset the SPU to default values.

Is there a way to not reset the SPU.

Or is there an example to use the adi_rom_otp_pgm() functions in a save way.

Regards Bernhard

NandiniC Reply
Apr 27, 2026 00:00

Hi,

The OTP library does more than just reset SPU_WP and SPU0_SECUREC to their default values. It also enables the global lock, PINTEN, and the Write Protect Register Lock in the SPU_CTL register. Additionally, it blocks any writes to the OTP MMR space from masters.

SPU values being reset cannot be avoided , as these steps are part of the OTP library’s standard SPU initialization procedure, ensuring that the OTP MMR region remains secure.
Could you please let us know how the SPU’s default values impact your application, so that we can assist you better.

Regards,
Nandini C

BernhardM Reply
Apr 27, 2026 00:00

Hi,

We are using SPORT-DMA-Communication to an fpga and when the OTP-Library resets the SPU the SPORT-Communication failes.

Regards Bernhard

NandiniC Reply
Apr 29, 2026 00:00

Hi,

We recommend to use SPORT-DMA Communication after using OTP-Library as SPU values reset cannot be avoided when using OTP library.

Regards,
Nandini C