Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
The following functions set incorrect values for RAM trim:
What are the causes and how do I correct them?
There is a defect in the cy_syspm.c source code file. After calling Cy_SysPm_LdoSetVoltage(), Cy_SysPm_BuckEnable(), or Cy_SysPm_BuckSetVoltage1(), the RAM trim is set with an incorrect value. This can potentially cause hard faults.
Update the CPUSS_TRIM_RAM_CTL register value each time after calling the Cy_SysPm_LdoSetVoltage(), Cy_SysPm_BuckEnable(), and Cy_SysPm_BuckSetVoltage1() functions (could be in the main.c file):
For ULP (0.9 V):
CPUSS_TRIM_RAM_CTL = 0x6012
For LP (1.1 V):
CPUSS_TRIM_RAM_CTL = 0x4013
The problem has been addressed in version 4.40 of the syspm driver (psoc6pdl-1.3.1).