53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
/**
|
|||
|
|
******************************************************************************
|
||
|
|
* @file otp.c
|
||
|
|
* @author MCD Application Team
|
||
|
|
* @brief OTP manager
|
||
|
|
******************************************************************************
|
||
|
|
* @attention
|
||
|
|
*
|
||
|
|
* Copyright (c) 2018-2021 STMicroelectronics.
|
||
|
|
* All rights reserved.
|
||
|
|
*
|
||
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
||
|
|
* in the root directory of this software component.
|
||
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
||
|
|
*
|
||
|
|
******************************************************************************
|
||
|
|
*/
|
||
|
|
|
||
|
|
|
||
|
|
/* Includes ------------------------------------------------------------------*/
|
||
|
|
#include "utilities_common.h"
|
||
|
|
|
||
|
|
#include "otp.h"
|
||
|
|
|
||
|
|
/* Private typedef -----------------------------------------------------------*/
|
||
|
|
/* Private defines -----------------------------------------------------------*/
|
||
|
|
/* Private macros ------------------------------------------------------------*/
|
||
|
|
/* Private variables ---------------------------------------------------------*/
|
||
|
|
/* Global variables ----------------------------------------------------------*/
|
||
|
|
/* Private function prototypes -----------------------------------------------*/
|
||
|
|
/* Functions Definition ------------------------------------------------------*/
|
||
|
|
|
||
|
|
uint8_t * OTP_Read( uint8_t id )
|
||
|
|
{
|
||
|
|
uint8_t *p_id;
|
||
|
|
|
||
|
|
p_id = (uint8_t*)(CFG_OTP_END_ADRESS - 7) ;
|
||
|
|
|
||
|
|
while( ((*( p_id + 7 )) != id) && ( p_id != (uint8_t*)CFG_OTP_BASE_ADDRESS) )
|
||
|
|
{
|
||
|
|
p_id -= 8 ;
|
||
|
|
}
|
||
|
|
|
||
|
|
if((*( p_id + 7 )) != id)
|
||
|
|
{
|
||
|
|
p_id = 0 ;
|
||
|
|
}
|
||
|
|
|
||
|
|
return p_id ;
|
||
|
|
}
|
||
|
|
|
||
|
|
|