mirror of
https://github.com/Fishwaldo/bl_mcu_sdk.git
synced 2025-07-08 05:48:28 +00:00
[fix] fix some code bugs
This commit is contained in:
parent
291ab32674
commit
cbedd52d06
7 changed files with 84 additions and 88 deletions
|
@ -192,7 +192,7 @@ typedef struct dma_device {
|
||||||
|
|
||||||
#define DMA_DEV(dev) ((dma_device_t *)dev)
|
#define DMA_DEV(dev) ((dma_device_t *)dev)
|
||||||
|
|
||||||
int dma_register(enum dma_index_type, const char *name);
|
int dma_register(enum dma_index_type index, const char *name);
|
||||||
int dma_allocate_register(const char *name);
|
int dma_allocate_register(const char *name);
|
||||||
int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_t transfer_size);
|
int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_t transfer_size);
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,7 @@ int dac_open(struct device *dev, uint16_t oflag)
|
||||||
/* 12.2880MHZ / 24 / 64 = 8KHZ*/
|
/* 12.2880MHZ / 24 / 64 = 8KHZ*/
|
||||||
GLB_Set_DAC_CLK(ENABLE, GLB_DAC_CLK_AUDIO_PLL, 24);
|
GLB_Set_DAC_CLK(ENABLE, GLB_DAC_CLK_AUDIO_PLL, 24);
|
||||||
dacCfg.div = DAC_CLK_DIV_64;
|
dacCfg.div = DAC_CLK_DIV_64;
|
||||||
|
break;
|
||||||
|
|
||||||
case DAC_CLK_16KHZ:
|
case DAC_CLK_16KHZ:
|
||||||
/* set audio pll as 12.288MHZ*/
|
/* set audio pll as 12.288MHZ*/
|
||||||
|
@ -71,6 +72,7 @@ int dac_open(struct device *dev, uint16_t oflag)
|
||||||
/* 12.2880MHZ / 24 / 32 = 16KHZ*/
|
/* 12.2880MHZ / 24 / 32 = 16KHZ*/
|
||||||
GLB_Set_DAC_CLK(ENABLE, GLB_DAC_CLK_AUDIO_PLL, 24);
|
GLB_Set_DAC_CLK(ENABLE, GLB_DAC_CLK_AUDIO_PLL, 24);
|
||||||
dacCfg.div = DAC_CLK_DIV_32;
|
dacCfg.div = DAC_CLK_DIV_32;
|
||||||
|
break;
|
||||||
|
|
||||||
case DAC_CLK_44P1KHZ:
|
case DAC_CLK_44P1KHZ:
|
||||||
/* set audio pll as 11.2896MHZ*/
|
/* set audio pll as 11.2896MHZ*/
|
||||||
|
|
|
@ -651,7 +651,7 @@ static int32_t sec_ecdh_get_scalar_point(uint8_t id, const uint32_t *pkX, const
|
||||||
MSG("R.y%n=\r\n");
|
MSG("R.y%n=\r\n");
|
||||||
bflb_platform_dump(pRy, ECP_SECP256R1_SIZE);
|
bflb_platform_dump(pRy, ECP_SECP256R1_SIZE);
|
||||||
#endif
|
#endif
|
||||||
return -1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t sec_ecc_is_zero(uint8_t *a, uint32_t len)
|
static int32_t sec_ecc_is_zero(uint8_t *a, uint32_t len)
|
||||||
|
|
|
@ -76,9 +76,8 @@ int sec_hash_open(struct device *dev, uint16_t oflag)
|
||||||
*/
|
*/
|
||||||
int sec_hash_close(struct device *dev)
|
int sec_hash_close(struct device *dev)
|
||||||
{
|
{
|
||||||
sec_hash_device_t *sec_hash_device = (sec_hash_device_t *)dev;
|
//sec_hash_device_t *sec_hash_device = (sec_hash_device_t *)dev;
|
||||||
memset(sec_hash_device, 0, sizeof(sec_hash_device_t));
|
//memset(sec_hash_device, 0, sizeof(sec_hash_device_t)); //will cause crash
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1561,23 +1561,6 @@ BL_Err_Type HBN_Clear_Reset_Event(void)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
|
||||||
* @brief HBN out0 IRQHandler install
|
|
||||||
*
|
|
||||||
* @param None
|
|
||||||
*
|
|
||||||
* @return SUCCESS or ERROR
|
|
||||||
*
|
|
||||||
*******************************************************************************/
|
|
||||||
BL_Err_Type HBN_Out0_IRQHandler_Install(void)
|
|
||||||
{
|
|
||||||
#ifndef BFLB_USE_HAL_DRIVER
|
|
||||||
Interrupt_Handler_Register(HBN_OUT0_IRQn, HBN_OUT0_IRQHandler);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
/****************************************************************************/ /**
|
||||||
* @brief HBN out0 install interrupt callback
|
* @brief HBN out0 install interrupt callback
|
||||||
*
|
*
|
||||||
|
@ -1597,23 +1580,6 @@ BL_Err_Type HBN_Out0_Callback_Install(HBN_OUT0_INT_Type intType, intCallback_Typ
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
|
||||||
* @brief HBN out1 IRQHandler install
|
|
||||||
*
|
|
||||||
* @param None
|
|
||||||
*
|
|
||||||
* @return SUCCESS or ERROR
|
|
||||||
*
|
|
||||||
*******************************************************************************/
|
|
||||||
BL_Err_Type HBN_Out1_IRQHandler_Install(void)
|
|
||||||
{
|
|
||||||
#ifndef BFLB_USE_HAL_DRIVER
|
|
||||||
Interrupt_Handler_Register(HBN_OUT1_IRQn, HBN_OUT1_IRQHandler);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
/****************************************************************************/ /**
|
||||||
* @brief HBN out1 install interrupt callback
|
* @brief HBN out1 install interrupt callback
|
||||||
*
|
*
|
||||||
|
@ -1810,7 +1776,6 @@ BL_Err_Type HBN_Set_BOR_Cfg(HBN_BOR_CFG_Type *cfg)
|
||||||
* @return None
|
* @return None
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
#ifndef BFLB_USE_HAL_DRIVER
|
|
||||||
void HBN_OUT0_IRQHandler(void)
|
void HBN_OUT0_IRQHandler(void)
|
||||||
{
|
{
|
||||||
if (SET == HBN_Get_INT_State(HBN_INT_GPIO9)) {
|
if (SET == HBN_Get_INT_State(HBN_INT_GPIO9)) {
|
||||||
|
@ -1862,7 +1827,6 @@ void HBN_OUT0_IRQHandler(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
/****************************************************************************/ /**
|
||||||
* @brief HBN OUT1 interrupt handler
|
* @brief HBN OUT1 interrupt handler
|
||||||
|
@ -1872,7 +1836,6 @@ void HBN_OUT0_IRQHandler(void)
|
||||||
* @return None
|
* @return None
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
#ifndef BFLB_USE_HAL_DRIVER
|
|
||||||
void HBN_OUT1_IRQHandler(void)
|
void HBN_OUT1_IRQHandler(void)
|
||||||
{
|
{
|
||||||
/* PIR */
|
/* PIR */
|
||||||
|
@ -1911,7 +1874,6 @@ void HBN_OUT1_IRQHandler(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
/****************************************************************************/ /**
|
||||||
* @brief Enable HBN mode
|
* @brief Enable HBN mode
|
||||||
|
@ -2014,6 +1976,34 @@ void ATTR_TCM_SECTION HBN_Enable(uint8_t aGPIOIeCfg, HBN_LDO_LEVEL_Type ldoLevel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************/ /**
|
||||||
|
* @brief HBN out0 IRQHandler install
|
||||||
|
*
|
||||||
|
* @param None
|
||||||
|
*
|
||||||
|
* @return SUCCESS or ERROR
|
||||||
|
*
|
||||||
|
*******************************************************************************/
|
||||||
|
BL_Err_Type HBN_Out0_IRQHandler_Install(void)
|
||||||
|
{
|
||||||
|
Interrupt_Handler_Register(HBN_OUT0_IRQn, HBN_OUT0_IRQHandler);
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************/ /**
|
||||||
|
* @brief HBN out1 IRQHandler install
|
||||||
|
*
|
||||||
|
* @param None
|
||||||
|
*
|
||||||
|
* @return SUCCESS or ERROR
|
||||||
|
*
|
||||||
|
*******************************************************************************/
|
||||||
|
BL_Err_Type HBN_Out1_IRQHandler_Install(void)
|
||||||
|
{
|
||||||
|
Interrupt_Handler_Register(HBN_OUT1_IRQn, HBN_OUT1_IRQHandler);
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/*@} end of group HBN_Public_Functions */
|
/*@} end of group HBN_Public_Functions */
|
||||||
|
|
||||||
/*@} end of group HBN */
|
/*@} end of group HBN */
|
||||||
|
|
|
@ -286,7 +286,7 @@ BL_Err_Type PDS_IntEn(PDS_INT_Type intType, BL_Fun_Type enable)
|
||||||
case PDS_INT_WAKEUP:
|
case PDS_INT_WAKEUP:
|
||||||
case PDS_INT_RF_DONE:
|
case PDS_INT_RF_DONE:
|
||||||
case PDS_INT_PLL_DONE:
|
case PDS_INT_PLL_DONE:
|
||||||
break;
|
return ERROR;
|
||||||
|
|
||||||
case PDS_INT_PDS_SLEEP_CNT:
|
case PDS_INT_PDS_SLEEP_CNT:
|
||||||
offset = 16;
|
offset = 16;
|
||||||
|
@ -381,7 +381,7 @@ BL_Err_Type PDS_IntMask(PDS_INT_Type intType, BL_Mask_Type intMask)
|
||||||
case PDS_INT_KYS_QDEC:
|
case PDS_INT_KYS_QDEC:
|
||||||
case PDS_INT_MAX:
|
case PDS_INT_MAX:
|
||||||
default:
|
default:
|
||||||
break;
|
return ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmpVal = BL_RD_REG(PDS_BASE, PDS_INT);
|
tmpVal = BL_RD_REG(PDS_BASE, PDS_INT);
|
||||||
|
@ -423,35 +423,35 @@ BL_Sts_Type PDS_Get_IntStatus(PDS_INT_Type intType)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_PDS_SLEEP_CNT:
|
case PDS_INT_PDS_SLEEP_CNT:
|
||||||
offset = 16;
|
offset = 24;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_HBN_IRQ_OUT0:
|
case PDS_INT_HBN_IRQ_OUT0:
|
||||||
offset = 17;
|
offset = 25;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_HBN_IRQ_OUT1:
|
case PDS_INT_HBN_IRQ_OUT1:
|
||||||
offset = 18;
|
offset = 26;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_GPIO_IRQ:
|
case PDS_INT_GPIO_IRQ:
|
||||||
offset = 19;
|
offset = 27;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_IRRX:
|
case PDS_INT_IRRX:
|
||||||
offset = 20;
|
offset = 28;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_BLE_SLP_IRQ:
|
case PDS_INT_BLE_SLP_IRQ:
|
||||||
offset = 21;
|
offset = 29;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_USB_WKUP:
|
case PDS_INT_USB_WKUP:
|
||||||
offset = 22;
|
offset = 30;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_KYS_QDEC:
|
case PDS_INT_KYS_QDEC:
|
||||||
offset = 23;
|
offset = 31;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PDS_INT_MAX:
|
case PDS_INT_MAX:
|
||||||
|
@ -664,23 +664,6 @@ BL_Err_Type PDS_Set_Vddcore_GPIO_IntClear(void)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
|
||||||
* @brief PDS wakeup IRQHandler install
|
|
||||||
*
|
|
||||||
* @param None
|
|
||||||
*
|
|
||||||
* @return SUCCESS or ERROR
|
|
||||||
*
|
|
||||||
*******************************************************************************/
|
|
||||||
BL_Err_Type PDS_WAKEUP_IRQHandler_Install(void)
|
|
||||||
{
|
|
||||||
#ifndef BFLB_USE_HAL_DRIVER
|
|
||||||
Interrupt_Handler_Register(PDS_WAKEUP_IRQn, PDS_WAKEUP_IRQHandler);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/****************************************************************************/ /**
|
/****************************************************************************/ /**
|
||||||
* @brief Install PDS interrupt callback function
|
* @brief Install PDS interrupt callback function
|
||||||
*
|
*
|
||||||
|
@ -1320,7 +1303,6 @@ void ATTR_TCM_SECTION PDS_Manual_Force_Turn_On(PDS_FORCE_Type domain)
|
||||||
* @return None
|
* @return None
|
||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
#ifndef BFLB_USE_HAL_DRIVER
|
|
||||||
void PDS_WAKEUP_IRQHandler(void)
|
void PDS_WAKEUP_IRQHandler(void)
|
||||||
{
|
{
|
||||||
for (PDS_INT_Type intType = PDS_INT_WAKEUP; intType < PDS_INT_MAX; intType++) {
|
for (PDS_INT_Type intType = PDS_INT_WAKEUP; intType < PDS_INT_MAX; intType++) {
|
||||||
|
@ -1331,7 +1313,20 @@ void PDS_WAKEUP_IRQHandler(void)
|
||||||
|
|
||||||
PDS_IntClear();
|
PDS_IntClear();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
/****************************************************************************/ /**
|
||||||
|
* @brief PDS wakeup IRQHandler install
|
||||||
|
*
|
||||||
|
* @param None
|
||||||
|
*
|
||||||
|
* @return SUCCESS or ERROR
|
||||||
|
*
|
||||||
|
*******************************************************************************/
|
||||||
|
BL_Err_Type PDS_WAKEUP_IRQHandler_Install(void)
|
||||||
|
{
|
||||||
|
Interrupt_Handler_Register(PDS_WAKEUP_IRQn, PDS_WAKEUP_IRQHandler);
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/*@} end of group PDS_Public_Functions */
|
/*@} end of group PDS_Public_Functions */
|
||||||
|
|
||||||
|
|
|
@ -1957,14 +1957,19 @@ static BL_Err_Type Sec_Eng_PKA_Wait_ISR(void)
|
||||||
#ifndef __GNUC__
|
#ifndef __GNUC__
|
||||||
__ASM void Sec_Eng_PKA_Read_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
__ASM void Sec_Eng_PKA_Read_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
||||||
{
|
{
|
||||||
PUSH{ R3 - R6, LR } Start0
|
PUSH {R3-R6,LR}
|
||||||
CMP R2,
|
Start0
|
||||||
# 4 BLT Finish0
|
CMP R2,#4
|
||||||
LDR R3,
|
BLT Finish0
|
||||||
[R1] LDR R4, [R1] LDR R5, [R1] LDR R6, [R1] STMIA R0 !, { R3 - R6 } SUBS R2, R2, #4 B Start0 Finish0 POP
|
LDR R3,[R1]
|
||||||
{
|
LDR R4,[R1]
|
||||||
R3 - R6, PC
|
LDR R5,[R1]
|
||||||
}
|
LDR R6,[R1]
|
||||||
|
STMIA R0!,{R3-R6}
|
||||||
|
SUBS R2,R2,#4
|
||||||
|
B Start0
|
||||||
|
Finish0
|
||||||
|
POP {R3-R6,PC}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void Sec_Eng_PKA_Read_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
void Sec_Eng_PKA_Read_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
||||||
|
@ -2011,14 +2016,19 @@ void Sec_Eng_PKA_Read_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
||||||
#ifndef __GNUC__
|
#ifndef __GNUC__
|
||||||
__ASM void Sec_Eng_PKA_Write_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
__ASM void Sec_Eng_PKA_Write_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
||||||
{
|
{
|
||||||
PUSH{ R3 - R6, LR } Start1
|
PUSH {R3-R6,LR}
|
||||||
CMP R2,
|
Start1
|
||||||
# 4 BLT Finish1
|
CMP R2,#4
|
||||||
LDMIA R1 !,
|
BLT Finish1
|
||||||
{ R3 - R6 } STR R3, [R0] STR R4, [R0] STR R5, [R0] STR R6, [R0] SUBS R2, R2, #4 B Start1 Finish1 POP
|
LDMIA R1!,{R3-R6}
|
||||||
{
|
STR R3,[R0]
|
||||||
R3 - R6, PC
|
STR R4,[R0]
|
||||||
}
|
STR R5,[R0]
|
||||||
|
STR R6,[R0]
|
||||||
|
SUBS R2,R2,#4
|
||||||
|
B Start1
|
||||||
|
Finish1
|
||||||
|
POP {R3-R6,PC}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void Sec_Eng_PKA_Write_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
void Sec_Eng_PKA_Write_Block(uint32_t *dest, const uint32_t *src, uint32_t len)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue