CIU32_L051_M307R/Peripheral/CIU32L051_Lib/Source/ciu32l051_std_aes.c

94 lines
2.3 KiB
C
Raw Normal View History

/************************************************************************************************/
/**
* @file ciu32l051_std_aes.c
* @author MCU Ecosystem Development Team
* @brief AES STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ʵ<EFBFBD><EFBFBD>AES<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õȹ<EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD>
*
*
**************************************************************************************************
* @attention
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
*
**************************************************************************************************
*/
/************************************************************************************************/
/**
* @addtogroup CIU32L051_STD_Driver
* @{
*/
/**
* @addtogroup AES
* @{
*
*/
/************************************************************************************************/
/*------------------------------------------includes--------------------------------------------*/
#include "ciu32l051_std.h"
#ifdef STD_AES_PERIPHERAL_USED
/*-------------------------------------------functions------------------------------------------*/
/************************************************************************************************/
/**
* @addtogroup AES_External_Functions
* @{
*
*/
/************************************************************************************************/
/**
* @brief AES<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* @param aes_init_param AES<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @retval <EFBFBD><EFBFBD>
*/
void std_aes_init(std_aes_init_t *aes_init_param)
{
/* <20><>ʼ<EFBFBD><CABC><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
MODIFY_REG(AES->CR, (AES_CR_MOD_SEL | AES_CR_DATA_TYPE),
(aes_init_param->mode | aes_init_param->swapped_data_type));
}
/**
* @brief AESȥ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
void std_aes_deinit(void)
{
/* <20><>λAES */
std_rcc_ahb_reset(RCC_PERIPH_RESET_AES);
/* <20>ر<EFBFBD>AESʱ<53><CAB1> */
std_rcc_ahb_clk_disable(RCC_PERIPH_CLK_AES);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>AES<EFBFBD><EFBFBD><EFBFBD>ΪĬ<EFBFBD><EFBFBD>ֵ
* @param aes_init_struct AES<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @retval <EFBFBD><EFBFBD>
*/
void std_aes_struct_init(std_aes_init_t *aes_init_struct)
{
/* <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪС<CEAA><D0A1>ģʽ */
aes_init_struct->mode = AES_MODE_ENC;
aes_init_struct->swapped_data_type = AES_SWAPPED_DATA_NONE;
}
/**
* @}
*/
#endif /* STD_AES_PERIPHERAL_USED */
/**
* @}
*/
/**
* @}
*/