summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuhy-2020 <[email protected]>2022-02-08 09:13:05 +0800
committerGitHub <[email protected]>2022-02-08 09:13:05 +0800
commita23aadd6310fa5ae8150171cf0faeafdaffec5ec (patch)
tree06110ea74077773b2bcb506cc1afbe2a27e9e148
parent4192f0d6517a9a7e986e270d069e9546b4b047c4 (diff)
[bsp][essemi] fix bugs. (#5585)
* [bsp][essemi] update es32f36xx libraries. * [bsp][essemi] add led_pin control.
-rw-r--r--bsp/essemi/es32f0654/applications/main.c4
-rw-r--r--bsp/essemi/es32f0654/drivers/ES/es_conf_info_map.h1
-rw-r--r--bsp/essemi/es32f365x/applications/main.c4
-rw-r--r--bsp/essemi/es32f365x/drivers/ES/es_conf_info_map.h1
-rw-r--r--bsp/essemi/es32f369x/applications/main.c4
-rw-r--r--bsp/essemi/es32f369x/drivers/ES/es_conf_info_map.h1
-rw-r--r--bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Include/es32f36xx.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.S15
-rw-r--r--bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/System/system_es32f36xx.c18
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_acmp.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_adc.h20
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_bkpc.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_calc.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_can.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_cmu.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_conf.h277
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crc.h14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crypt.h21
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dac.h14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dbgc.h7
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dma.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_ebi.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_flash.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_gpio.h8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2c.h20
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2s.h14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_iap.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nand.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nor_lcd.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pis.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pmu.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_qspi.h16
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rmu.h8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtc.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtchw.h7
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_spi.h14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_sram.h10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_syscfg.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_timer.h40
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_trng.h8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_tsense.h6
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_uart.h16
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_usb.h8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_wdt.h12
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/type.h7
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/utils.h11
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_acmp.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_adc.c68
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_bkpc.c10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_calc.c10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_can.c14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_cmu.c12
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crc.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crypt.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dac.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dma.c28
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_ebi.c7
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash.c10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash_ext.c10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_gpio.c10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2c.c393
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2s.c10
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_iap.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nand.c13
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nor_lcd.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pis.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pmu.c9
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_qspi.c14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rmu.c9
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtc.c14
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtchw.c9
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_spi.c28
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_sram.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_timer.c9
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_trng.c8
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_tsense.c9
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_uart.c12
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_usb.c9
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_wdt.c44
-rw-r--r--bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/utils.c13
-rw-r--r--bsp/essemi/es32f369x/libraries/SConscript2
81 files changed, 942 insertions, 608 deletions
diff --git a/bsp/essemi/es32f0654/applications/main.c b/bsp/essemi/es32f0654/applications/main.c
index 10d69b22b0..56723196ec 100644
--- a/bsp/essemi/es32f0654/applications/main.c
+++ b/bsp/essemi/es32f0654/applications/main.c
@@ -12,7 +12,11 @@
#include <rtdevice.h>
#include "drv_gpio.h"
+#ifdef ES_RTT_APP_LED_PIN
+#define LED_PIN ES_RTT_APP_LED_PIN
+#else
#define LED_PIN GET_PIN( C , 8 )
+#endif
int main(void)
{
diff --git a/bsp/essemi/es32f0654/drivers/ES/es_conf_info_map.h b/bsp/essemi/es32f0654/drivers/ES/es_conf_info_map.h
index fc3bafe7e5..e6d7130356 100644
--- a/bsp/essemi/es32f0654/drivers/ES/es_conf_info_map.h
+++ b/bsp/essemi/es32f0654/drivers/ES/es_conf_info_map.h
@@ -2687,5 +2687,6 @@ static const struct pin_index pins[] =
+#define ES_RTT_APP_LED_PIN ES_PIN_GPIO_C_8
#endif
diff --git a/bsp/essemi/es32f365x/applications/main.c b/bsp/essemi/es32f365x/applications/main.c
index ed064d6f0a..e9617fd2db 100644
--- a/bsp/essemi/es32f365x/applications/main.c
+++ b/bsp/essemi/es32f365x/applications/main.c
@@ -12,7 +12,11 @@
#include <rtdevice.h>
#include "drv_gpio.h"
+#ifdef ES_RTT_APP_LED_PIN
+#define LED_PIN ES_RTT_APP_LED_PIN
+#else
#define LED_PIN GET_PIN( F , 0 )
+#endif
int main(void)
{
diff --git a/bsp/essemi/es32f365x/drivers/ES/es_conf_info_map.h b/bsp/essemi/es32f365x/drivers/ES/es_conf_info_map.h
index 299a1c2de2..23483c0888 100644
--- a/bsp/essemi/es32f365x/drivers/ES/es_conf_info_map.h
+++ b/bsp/essemi/es32f365x/drivers/ES/es_conf_info_map.h
@@ -2999,5 +2999,6 @@ static const struct pin_index pins[] =
+#define ES_RTT_APP_LED_PIN ES_PIN_GPIO_F_0
#endif
diff --git a/bsp/essemi/es32f369x/applications/main.c b/bsp/essemi/es32f369x/applications/main.c
index ed064d6f0a..e9617fd2db 100644
--- a/bsp/essemi/es32f369x/applications/main.c
+++ b/bsp/essemi/es32f369x/applications/main.c
@@ -12,7 +12,11 @@
#include <rtdevice.h>
#include "drv_gpio.h"
+#ifdef ES_RTT_APP_LED_PIN
+#define LED_PIN ES_RTT_APP_LED_PIN
+#else
#define LED_PIN GET_PIN( F , 0 )
+#endif
int main(void)
{
diff --git a/bsp/essemi/es32f369x/drivers/ES/es_conf_info_map.h b/bsp/essemi/es32f369x/drivers/ES/es_conf_info_map.h
index 67609d04d7..bbfe32cdf9 100644
--- a/bsp/essemi/es32f369x/drivers/ES/es_conf_info_map.h
+++ b/bsp/essemi/es32f369x/drivers/ES/es_conf_info_map.h
@@ -2904,5 +2904,6 @@ static const struct pin_index pins[] =
/* GP16C2T_CH2N */
+#define ES_RTT_APP_LED_PIN ES_PIN_GPIO_F_0
#endif
diff --git a/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Include/es32f36xx.h b/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Include/es32f36xx.h
index ad6429f796..9359018ff6 100644
--- a/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Include/es32f36xx.h
+++ b/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Include/es32f36xx.h
@@ -8,6 +8,9 @@
* @date 18 Dec 2018
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 18 Dec 2018 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ES32F36XX_H__
diff --git a/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.S b/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.S
index 68d648f157..1b2fff1ac7 100644
--- a/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.S
+++ b/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.S
@@ -1,12 +1,14 @@
/**
******************************************************************************
+
* @file startup_es32f36xx.s
* @author AE Team
* @brief ES32F36xx devices vector table for GCC toolchain.
* This module performs:
* - Set the initial SP
* - Set the initial PC == Reset_Handler,
- * - Set the vector table entries with the exceptions ISR address
+ * - Set the vector table entries with the exceptions ISR addres
+s
* - Branches to main in the C library (which eventually
* calls main()).
* After Reset the Cortex-M3 processor is in Thread mode,
@@ -16,7 +18,8 @@
* Date Author Notes
* 23 Jan 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserve
+d.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -31,7 +34,8 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- **********************************************************************************
+ ******************************************************************************
+****
*/
.syntax unified
@@ -138,9 +142,10 @@ LoopFillZerobss:
bl sys_config
bl adc_config
- bl __libc_init_array
+/*bl __libc_init_array
- bl main
+ bl main */
+ bl entry
LoopForever:
b LoopForever
diff --git a/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/System/system_es32f36xx.c b/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/System/system_es32f36xx.c
index 5e9a57c41b..0f8495c4b7 100644
--- a/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/System/system_es32f36xx.c
+++ b/bsp/essemi/es32f369x/libraries/CMSIS/Device/EastSoft/ES32F36xx/System/system_es32f36xx.c
@@ -8,10 +8,26 @@
* @date 24 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 24 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
- *********************************************************************************
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ **********************************************************************************
*/
#include "utils.h"
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_acmp.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_acmp.h
index 60877098d6..ad22ba6b69 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_acmp.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_acmp.h
@@ -8,6 +8,9 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_ACMP_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_adc.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_adc.h
index 26de04645e..e95d7ba35e 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_adc.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_adc.h
@@ -6,9 +6,12 @@
* @version V1.0
* @date 28 Jun 2019
* @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 28 Jun 2019 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -23,8 +26,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ******************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_ADC_H__
@@ -320,7 +322,7 @@ typedef struct {
type_func_t scan; /**< Choose scan mode enable or not */
type_func_t cont; /**< Choose continuous mode enable or not */
adc_nch_nr_t nch_nr; /**< Length of normal ranks will be converted */
- adc_ich_nr_t ich_nr; /**< Length of insert ranks will be converted */
+ adc_ich_nr_t ich_nr; /**< Length of insert ranks will be converted */
adc_disc_mode_t disc; /**< Discontinuous mode enable or not */
adc_disc_nr_t disc_nr; /**< Number of discontinuous conversions channel */
adc_conv_bit_t data_bit; /**< The precision of conversion */
@@ -368,10 +370,10 @@ typedef struct {
typedef struct adc_handle_s {
ADC_TypeDef *perh; /**< Register base address */
adc_init_t init; /**< ADC required parameters */
-#ifdef ALD_DMA
+
dma_handle_t hdma; /**< Pointer DMA Handler */
pis_handle_t hpis; /**< Pointer PIS Handler for connect adc and dma */
-#endif
+
lock_state_t lock; /**< ADC locking object */
adc_state_t state; /**< ADC communication state */
adc_error_t error_code; /**< ADC Error code */
@@ -405,7 +407,7 @@ typedef struct {
timer_handle_t h_timer; /**< Handle of TIMER module */
adc_handle_t h_adc; /**< Handle of ADC module */
adc_nch_conf_t config; /**< Struct for chanel configure */
- adc_ich_conf_t i_config; /**< Struct for insert channel configure */
+ adc_ich_conf_t i_config;/**< Struct for insert channel configuration */
} adc_timer_config_t;
/**
* @}
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_bkpc.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_bkpc.h
index 246f6397d3..b33ab04ff8 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_bkpc.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_bkpc.h
@@ -8,6 +8,9 @@
* @date 15 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 15 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_BKPC_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_calc.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_calc.h
index e14ff7851e..75110e47c7 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_calc.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_calc.h
@@ -8,6 +8,9 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_CALC_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_can.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_can.h
index 04a5d5ef5e..7fdc16327f 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_can.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_can.h
@@ -7,6 +7,9 @@
* @date 16 Apr 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 16 Apr 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -23,8 +26,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ******************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_CAN_H
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_cmu.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_cmu.h
index 55d713ed38..7f1f3a0e74 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_cmu.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_cmu.h
@@ -8,6 +8,9 @@
* @date 22 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 22 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_CMU_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_conf.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_conf.h
index 4953ab4f14..f8151c7abe 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_conf.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_conf.h
@@ -1,78 +1,231 @@
-/**
- *********************************************************************************
- *
- * @file ald_conf.h
- * @brief Enable/Disable the peripheral module.
- *
- * @version V1.0
- * @date 01 Jul 2019
- * @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *********************************************************************************
- */
-
-
+/**********************************************************************************
+ *
+ * @file ald_conf.h
+ * @brief Enable/Disable the peripheral module.
+ *
+ * @date 30 Apri 2021
+ * @author AE Team
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 30 Apri 2021 yanght the first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ **********************************************************************************
+ */
+
#ifndef __ALD_CONF_H__
#define __ALD_CONF_H__
-
-#define ALD_DMA
-#define ALD_GPIO
-#define ALD_UART
-#define ALD_LPUART
-#define ALD_I2C
-#define ALD_CMU
-#define ALD_RMU
-#define ALD_PMU
-#define ALD_WDT
-#define ALD_LCD
-#define ALD_RTC
-#define ALD_CAN
-#define ALD_FLASH
+/* Exported Macros ----------------------------------------------------------- */
+#define ALD_ACMP
#define ALD_ADC
+#define ALD_BKPC
+#define ALD_CALC
+#define ALD_CAN
+#define ALD_CMU
#define ALD_CRC
#define ALD_CRYPT
-#define ALD_TIMER
-#define ALD_LPTIM
-#define ALD_PIS
-#define ALD_SPI
-#define ALD_CALC
-#define ALD_ACMP
-#define ALD_OPAMP
-#define ALD_TRNG
-#define ALD_TSENSE
-#define ALD_BKPC
#define ALD_DAC
-#define ALD_IAP
+#define ALD_DBGC
+#define ALD_DMA
+#define ALD_EBI
+#define ALD_FLASH
+#define ALD_GPIO
+#define ALD_I2C
#define ALD_I2S
-#define ALD_ECC
+#define ALD_IAP
#define ALD_NAND
-#define ALD_QSPI
#define ALD_NOR
+#define ALD_PIS
+#define ALD_PMU
+#define ALD_QSPI
+#define ALD_RMU
+#define ALD_RTC
+#define ALD_SPI
#define ALD_SRAM
+#define ALD_SYSCFG
+#define ALD_TIMER
+#define ALD_TRNG
+#define ALD_TSENSE
+#define ALD_UART
#define ALD_USB
+#define ALD_WDT
+#define TYPE_H
+#define UTILS
+
+/* Includes ------------------------------------------------------------------ */
+
+#ifdef ALD_ACMP
+ #include "ald_acmp.h"
+#endif /* ALD_ACMP */
+
+#ifdef ALD_ADC
+ #include "ald_adc.h"
+#endif /* ALD_ADC */
+
+#ifdef ALD_BKPC
+ #include "ald_bkpc.h"
+#endif /* ALD_BKPC */
+
+#ifdef ALD_CALC
+ #include "ald_calc.h"
+#endif /* ALD_CALC */
+
+#ifdef ALD_CAN
+ #include "ald_can.h"
+#endif /* ALD_CAN */
+
+#ifdef ALD_CMU
+ #include "ald_cmu.h"
+#endif /* ALD_CMU */
+
+#ifdef ALD_CRC
+ #include "ald_crc.h"
+#endif /* ALD_CRC */
+
+#ifdef ALD_CRYPT
+ #include "ald_crypt.h"
+#endif /* ALD_CRYPT */
+
+#ifdef ALD_DAC
+ #include "ald_dac.h"
+#endif /* ALD_DAC */
+
+#ifdef ALD_DBGC
+ #include "ald_dbgc.h"
+#endif /* ALD_DBGC */
+
+#ifdef ALD_DMA
+ #include "ald_dma.h"
+#endif /* ALD_DMA */
+
+#ifdef ALD_EBI
+ #include "ald_ebi.h"
+#endif /* ALD_EBI */
+
+#ifdef ALD_FLASH
+ #include "ald_flash.h"
+#endif /* ALD_FLASH */
+
+#ifdef ALD_GPIO
+ #include "ald_gpio.h"
+#endif /* ALD_GPIO */
+
+#ifdef ALD_I2C
+ #include "ald_i2c.h"
+#endif /* ALD_I2C */
+
+#ifdef ALD_I2S
+ #include "ald_i2s.h"
+#endif /* ALD_I2S */
+
+#ifdef ALD_IAP
+ #include "ald_iap.h"
+#endif /* ALD_IAP */
+
+#ifdef ALD_NAND
+ #include "ald_nand.h"
+#endif /* ALD_NAND */
+
+#ifdef ALD_NOR
+ #include "ald_nor_lcd.h"
+#endif /* ALD_NOR */
+
+#ifdef ALD_PIS
+ #include "ald_pis.h"
+#endif /* ALD_PIS */
+
+#ifdef ALD_PMU
+ #include "ald_pmu.h"
+#endif /* ALD_PMU */
+
+#ifdef ALD_QSPI
+ #include "ald_qspi.h"
+#endif /* ALD_QSPI */
+
+#ifdef ALD_RMU
+ #include "ald_rmu.h"
+#endif /* ALD_RMU */
+
+#ifdef ALD_RTC
+ #include "ald_rtc.h"
+#endif /* ALD_RTC */
+
+#ifdef ALD_RTC
+ #include "ald_rtchw.h"
+#endif /* ALD_RTC */
+
+#ifdef ALD_SPI
+ #include "ald_spi.h"
+#endif /* ALD_SPI */
+
+#ifdef ALD_SRAM
+ #include "ald_sram.h"
+#endif /* ALD_SRAM */
+
+#ifdef ALD_SYSCFG
+ #include "ald_syscfg.h"
+#endif /* ALD_SYSCFG */
+
+#ifdef ALD_TIMER
+ #include "ald_timer.h"
+#endif /* ALD_TIMER */
+
+#ifdef ALD_TRNG
+ #include "ald_trng.h"
+#endif /* ALD_TRNG */
+
+#ifdef ALD_TSENSE
+ #include "ald_tsense.h"
+#endif /* ALD_TSENSE */
+
+#ifdef ALD_UART
+ #include "ald_uart.h"
+#endif /* ALD_UART */
+
+#ifdef ALD_USB
+ #include "ald_usb.h"
+#endif /* ALD_USB */
+
+#ifdef ALD_WDT
+ #include "ald_wdt.h"
+#endif /* ALD_WDT */
+
+#ifdef TYPE_H
+ #include "type.h"
+#endif /* TYPE_H */
+
+#ifdef UTILS
+ #include "utils.h"
+#endif /* UTILS */
#if defined(ALD_NAND) || defined(ALD_NOR) || defined(ALD_SRAM)
-#define ALD_EBI
-#endif
+ #define ALD_EBI
+#endif /*ALD_EBI*/
+
+#define TICK_INT_PRIORITY 3
+
+/* Exported Types ------------------------------------------------------------ */
+/* Exported Variables -------------------------------------------------------- */
+/* Exported Constants -------------------------------------------------------- */
+/* Exported Functions -------------------------------------------------------- */
-#define TICK_INT_PRIORITY 3
+#endif /*__ALD_CONF_H__*/
-#endif
+/************* (C) COPYRIGHT Eastsoft Microelectronics *****END OF FILE****/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crc.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crc.h
index 4e0f3cc152..5df4c7d3c6 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crc.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crc.h
@@ -8,6 +8,9 @@
* @date 18 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 18 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_CRC_H__
@@ -108,9 +110,9 @@ typedef struct crc_handle_s {
crc_init_t init; /**< CRC required parameters */
uint8_t *cal_buf; /**< The pointer of preparing buffer */
uint32_t *cal_res; /**< The pointer of result */
-#ifdef ALD_DMA
+
dma_handle_t hdma; /**< CRC DMA handle parameters */
-#endif
+
lock_state_t lock; /**< Locking object */
crc_state_t state; /**< CRC operation state */
@@ -169,7 +171,7 @@ uint32_t ald_crc_calculate_word(crc_handle_t *hperh, uint32_t *buf, uint32_t siz
* @}
*/
-#ifdef ALD_DMA
+
/** @addtogroup CRC_Public_Functions_Group3
* @{
*/
@@ -182,7 +184,7 @@ ald_status_t ald_crc_dma_stop(crc_handle_t *hperh);
/**
* @}
*/
-#endif
+
/** @addtogroup CRC_Public_Functions_Group4
* @{
*/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crypt.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crypt.h
index 36a4d41387..54b9963819 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crypt.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_crypt.h
@@ -8,8 +8,11 @@
* @date 19 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 19 Jun 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_CRYPT_H__
@@ -36,7 +38,6 @@
#endif
#include "utils.h"
-#include "ald_dma.h"
/** @addtogroup ES32FXXX_ALD
* @{
@@ -184,10 +185,10 @@ typedef struct {
typedef struct crypt_handle_s {
CRYPT_TypeDef *perh; /**< Register base address */
crypt_init_t init; /**< CRYPT required parameters */
-#ifdef ALD_DMA
+
dma_handle_t hdma_m2p; /**< CRYPT DMA handle parameters memory to crypt module */
dma_handle_t hdma_p2m; /**< CRYPT DMA handle parameters crypt module to memory */
-#endif
+
uint8_t *plain_text; /**< Pointer to plain text */
uint8_t *cipher_text; /**< Pointer to cipher text */
uint32_t size; /**< The size of crypt data buf */
@@ -279,12 +280,12 @@ extern ald_status_t ald_crypt_decrypt(crypt_handle_t *hperh, uint8_t * cipher_te
extern ald_status_t ald_crypt_gcm_verify(crypt_handle_t *hperh, uint8_t *cipher_text, uint32_t size, uint8_t *aadata, uint32_t alen, uint8_t *tag);
extern ald_status_t ald_crypt_encrypt_by_it(crypt_handle_t *hperh, uint8_t *plain_text, uint8_t *cipher_text, uint32_t size);
extern ald_status_t ald_crypt_decrypt_by_it(crypt_handle_t *hperh, uint8_t *cipher_text, uint8_t *plain_text, uint32_t size);
-#ifdef ALD_DMA
+
extern ald_status_t ald_crypt_encrypt_by_dma(crypt_handle_t *hperh, uint8_t * plain_text,
uint8_t *cipher_text, uint32_t size, uint8_t channel_m2p, uint8_t channel_p2m);
extern ald_status_t ald_crypt_decrypt_by_dma(crypt_handle_t *hperh, uint8_t * cipher_text,
uint8_t *plain_text, uint32_t size, uint8_t channel_m2p, uint8_t channel_p2m);
-#endif
+
/**
* @}
*/
@@ -292,11 +293,11 @@ extern ald_status_t ald_crypt_decrypt_by_dma(crypt_handle_t *hperh, uint8_t * ci
/** @addtogroup CRYPT_Public_Functions_Group3
* @{
*/
-#ifdef ALD_DMA
+
extern ald_status_t ald_crypt_dma_pause(crypt_handle_t *hperh);
extern ald_status_t ald_crypt_dma_resume(crypt_handle_t *hperh);
extern ald_status_t ald_crypt_dma_stop(crypt_handle_t *hperh);
-#endif
+
extern void ald_crypt_irq_handler(crypt_handle_t *hperh);
/**
* @}
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dac.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dac.h
index 0e71f3e7e0..203e5af698 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dac.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dac.h
@@ -6,9 +6,12 @@
* @version V1.0
* @date 28 Jun 2019
* @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 28 Jun 2019 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -23,8 +26,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ******************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_DAC_H__
@@ -35,8 +37,6 @@
#endif
#include "utils.h"
-#include "ald_dma.h"
-#include "ald_pis.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dbgc.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dbgc.h
index c6471b2c2c..fba8711390 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dbgc.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dbgc.h
@@ -8,6 +8,9 @@
* @date 04 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,9 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_DBGC_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dma.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dma.h
index 6f29a0cc7b..eca1ac21be 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dma.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_dma.h
@@ -8,6 +8,9 @@
* @date 09 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 09 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_DMA_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_ebi.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_ebi.h
index d3ed85d97a..cdf1c29768 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_ebi.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_ebi.h
@@ -8,6 +8,9 @@
* @date 20 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 20 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_flash.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_flash.h
index 8899ca4326..e91c3f3d5e 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_flash.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_flash.h
@@ -8,6 +8,9 @@
* @date 17 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 17 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_FLASH_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_gpio.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_gpio.h
index 07d98a1342..3c87e2ca91 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_gpio.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_gpio.h
@@ -8,8 +8,11 @@
* @date 07 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 07 Nov 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_GPIO_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2c.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2c.h
index 3e48a52a27..5808c6d431 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2c.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2c.h
@@ -7,9 +7,12 @@
* @version V1.0
* @date 15 Nov 2019
* @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 30 Jun 2020 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_I2C_H__
@@ -286,10 +288,10 @@ typedef struct i2c_handle_s {
uint8_t *p_buff; /**< Pointer to I2C transfer buffer */
uint16_t xfer_size; /**< I2C transfer size */
__IO uint16_t xfer_count; /**< I2C transfer counter */
-#ifdef ALD_DMA
+
dma_handle_t hdmatx; /**< I2C Tx DMA handle parameters */
dma_handle_t hdmarx; /**< I2C Rx DMA handle parameters */
-#endif
+
lock_state_t lock; /**< I2C locking object */
__IO i2c_state_t state; /**< I2C communication state */
__IO i2c_mode_t mode; /**< I2C communication mode */
@@ -410,7 +412,7 @@ ald_status_t ald_i2c_mem_write_by_it(i2c_handle_t *hperh, uint16_t dev_addr, uin
ald_status_t ald_i2c_mem_read_by_it(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t mem_addr,
i2c_addr_size_t add_size, uint8_t *buf, uint32_t size);
-#ifdef ALD_DMA
+
/** Non-Blocking mode: DMA */
ald_status_t ald_i2c_master_send_by_dma(i2c_handle_t *hperh, uint16_t dev_addr,
uint8_t *buf, uint8_t size, uint8_t channel);
@@ -422,7 +424,7 @@ ald_status_t ald_i2c_mem_write_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, ui
uint8_t *buf, uint8_t size, uint8_t channel);
ald_status_t ald_i2c_mem_read_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t mem_addr,
i2c_addr_size_t add_size, uint8_t *buf, uint8_t size, uint8_t channel);
-#endif
+
/**
* @}
*/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2s.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2s.h
index e6a811aae3..ad220bd9c2 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2s.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_i2s.h
@@ -8,6 +8,9 @@
* @date 13 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 13 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_I2S_H__
@@ -226,10 +228,10 @@ typedef struct i2s_handle_s {
uint16_t *rx_buf; /**< Pointer to I2S Rx transfer buffer */
uint32_t rx_size; /**< I2S Rx Transfer size */
uint32_t rx_count; /**< I2S Rx Transfer Counter */
-#ifdef ALD_DMA
+
dma_handle_t hdmatx; /**< I2S DMA handle parameters */
dma_handle_t hdmarx; /**< I2S DMA handle parameters */
-#endif
+
lock_state_t lock; /**< Locking object */
i2s_state_t state; /**< I2S communication state */
uint8_t side; /**< I2S channel side */
@@ -337,13 +339,13 @@ ald_status_t ald_i2s_master_send(i2s_handle_t *hperh, uint16_t *buf, uint32_t si
ald_status_t ald_i2s_master_recv(i2s_handle_t *hperh, uint16_t *buf, uint32_t size, uint32_t timeout);
ald_status_t ald_i2s_master_send_by_it(i2s_handle_t *hperh, uint16_t *buf, uint32_t size);
ald_status_t ald_i2s_master_recv_by_it(i2s_handle_t *hperh, uint16_t *buf, uint32_t size);
-#ifdef ALD_DMA
+
ald_status_t ald_i2s_master_send_by_dma(i2s_handle_t *hperh, uint16_t *buf, uint32_t size, uint8_t channel);
ald_status_t ald_i2s_master_recv_by_dma(i2s_handle_t *hperh, uint16_t *buf, uint32_t size, uint8_t dma_ch, uint8_t _dma_ch);
ald_status_t ald_i2s_dma_pause(i2s_handle_t *hperh);
ald_status_t ald_i2s_dma_resume(i2s_handle_t *hperh);
ald_status_t ald_i2s_dma_stop(i2s_handle_t *hperh);
-#endif
+
/**
* @}
*/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_iap.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_iap.h
index cb1e0bf023..5d02231653 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_iap.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_iap.h
@@ -8,6 +8,9 @@
* @date 04 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_IAP_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nand.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nand.h
index 89d8d5875b..2f6930623a 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nand.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nand.h
@@ -8,6 +8,9 @@
* @date 07 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 07 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_NAND_H_
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nor_lcd.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nor_lcd.h
index 9815aa6ebc..579c736738 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nor_lcd.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_nor_lcd.h
@@ -8,6 +8,9 @@
* @date 07 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 07 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_NOR_LCD_H_
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pis.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pis.h
index 39f481a5be..06f357e35b 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pis.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pis.h
@@ -8,6 +8,9 @@
* @date 27 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 27 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_PIS_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pmu.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pmu.h
index f400be8a9f..a6bc2591cc 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pmu.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_pmu.h
@@ -8,6 +8,9 @@
* @date 04 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_PMU_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_qspi.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_qspi.h
index b1adb45fd1..9c19c681a0 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_qspi.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_qspi.h
@@ -4,9 +4,12 @@
* @version V1.0
* @date 09 Nov 2019
* @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 09 Nov 2019 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -21,8 +24,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_QSPI_H_
@@ -276,9 +278,9 @@ typedef struct {
uint8_t *rx_buf; /**< Pointer to QSPI receive buffer */
uint16_t rx_size; /**< QSPI receive size */
uint16_t rx_cnt; /**< QSPI receive counter */
-#ifdef ALD_DMA
+
dma_handle_t hdma; /**< QSPI Rx/Tx DMA Handle parameters*/
-#endif
+
qspi_state_t state; /**< QSPI communication state */
__IO lock_state_t lock; /**< Locking object*/
} qspi_handle_t;
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rmu.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rmu.h
index bb3ec3df89..8dc9c33025 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rmu.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rmu.h
@@ -8,8 +8,11 @@
* @date 04 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Dec 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_RMU_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtc.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtc.h
index 3234aa7d6e..d8eaa54288 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtc.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtc.h
@@ -7,6 +7,9 @@
* @date 16 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 16 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -23,8 +26,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *******************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_RTC_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtchw.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtchw.h
index 6faecf5145..36099e7af1 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtchw.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_rtchw.h
@@ -7,6 +7,9 @@
* @date 16 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 16 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -23,8 +26,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *******************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_RTCHW_H__
@@ -35,7 +37,6 @@ extern "C" {
#endif
#include "utils.h"
-#include "ald_rtc.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_spi.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_spi.h
index ebda1db3a7..6efda0fb3f 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_spi.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_spi.h
@@ -8,6 +8,9 @@
* @date 13 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 13 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_SPI_H__
@@ -248,10 +250,10 @@ typedef struct spi_handle_s {
uint8_t *rx_buf; /**< Pointer to SPI Rx transfer buffer */
uint16_t rx_size; /**< SPI Rx Transfer size */
uint16_t rx_count; /**< SPI Rx Transfer Counter */
-#ifdef ALD_DMA
+
dma_handle_t hdmatx; /**< SPI Tx DMA handle parameters */
dma_handle_t hdmarx; /**< SPI Rx DMA handle parameters */
-#endif
+
lock_state_t lock; /**< Locking object */
spi_state_t state; /**< SPI communication state */
uint32_t err_code; /**< SPI error code */
@@ -400,14 +402,14 @@ ald_status_t ald_spi_send_recv(spi_handle_t *hperh, uint8_t *tx_buf, uint8_t *rx
ald_status_t ald_spi_send_by_it(spi_handle_t *hperh, uint8_t *buf, uint16_t size);
ald_status_t ald_spi_recv_by_it(spi_handle_t *hperh, uint8_t *buf, uint16_t size);
ald_status_t ald_spi_send_recv_by_it(spi_handle_t *hperh, uint8_t *tx_buf, uint8_t *rx_buf, uint16_t size);
-#ifdef ALD_DMA
+
ald_status_t ald_spi_send_by_dma(spi_handle_t *hperh, uint8_t *buf, uint16_t size, uint8_t channel);
ald_status_t ald_spi_recv_by_dma(spi_handle_t *hperh, uint8_t *buf, uint16_t size, uint8_t channel);
ald_status_t ald_spi_send_recv_by_dma(spi_handle_t *hperh, uint8_t *tx_buf, uint8_t *rx_buf, uint16_t size, uint8_t tx_channel, uint8_t rx_channel);
ald_status_t ald_spi_dma_pause(spi_handle_t *hperh);
ald_status_t ald_spi_dma_resume(spi_handle_t *hperh);
ald_status_t ald_spi_dma_stop(spi_handle_t *hperh);
-#endif
+
/**
* @}
*/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_sram.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_sram.h
index aff23692a3..247160fe1c 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_sram.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_sram.h
@@ -8,6 +8,9 @@
* @date 07 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 07 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_SRAM_H__
@@ -70,10 +72,10 @@ typedef struct {
ald_ebi_nor_sram_init_t init; /**< SRAM device control configuration parameters */
lock_state_t lock; /**< SRAM locking object */
__IO ald_sram_state_t state; /**< SRAM device access state */
-#ifdef ALD_DMA
+
dma_handle_t hdma; /**< SRAM DMA Handle parameters */
void(*cplt_cbk)(void *arg); /**< DMA transmit completely callback function */
-#endif
+
} sram_handle_t;
/**
* @}
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_syscfg.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_syscfg.h
index 35063a28a1..3cc93859d9 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_syscfg.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_syscfg.h
@@ -8,6 +8,9 @@
* @date 04 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_SYSCFG_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_timer.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_timer.h
index ca3fe84d32..8f9afa8966 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_timer.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_timer.h
@@ -9,6 +9,9 @@
* @date 06 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 06 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -25,8 +28,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_TIMER_H__
@@ -200,10 +202,8 @@ typedef struct timer_handle_s {
lock_state_t lock; /**< Locking object */
timer_state_t state; /**< TIMER operation state */
-#ifdef ALD_DMA
dma_handle_t hdma1; /**< Timer DMA handle parameters */
dma_handle_t hdma2;
-#endif
void (*period_elapse_cbk)(struct timer_handle_s *arg); /**< Period elapse callback */
void (*delay_elapse_cbk)(struct timer_handle_s *arg); /**< Delay_elapse callback */
@@ -1011,11 +1011,11 @@ void ald_timer_base_start(timer_handle_t *hperh);
void ald_timer_base_stop(timer_handle_t *hperh);
void ald_timer_base_start_by_it(timer_handle_t *hperh);
void ald_timer_base_stop_by_it(timer_handle_t *hperh);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_base_start_by_dma(timer_handle_t *hperh,
uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_base_stop_by_dma(timer_handle_t *hperh);
-#endif
+
/**
* @}
*/
@@ -1029,11 +1029,11 @@ void ald_timer_oc_start(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_oc_stop(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_oc_start_by_it(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_oc_stop_by_it(timer_handle_t *hperh, timer_channel_t ch);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_oc_start_by_dma(timer_handle_t *hperh, timer_channel_t ch,
uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_oc_stop_by_dma(timer_handle_t *hperh, timer_channel_t ch);
-#endif
+
/**
* @}
*/
@@ -1050,11 +1050,11 @@ void ald_timer_pwm_stop_by_it(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_pwm_set_freq(timer_handle_t *hperh, uint32_t freq);
void ald_timer_pwm_set_duty(timer_handle_t *hperh, timer_channel_t ch, uint16_t duty);
void ald_timer_pwm_set_input(timer_handle_t *hperh, timer_channel_t ch);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_pwm_start_by_dma(timer_handle_t *hperh, timer_channel_t ch,
uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_pwm_stop_by_dma(timer_handle_t *hperh, timer_channel_t ch);
-#endif
+
/**
* @}
*/
@@ -1068,11 +1068,11 @@ void ald_timer_ic_start(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_ic_stop(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_ic_start_by_it(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_ic_stop_by_it(timer_handle_t *hperh, timer_channel_t ch);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_ic_start_by_dma(timer_handle_t *hperh, timer_channel_t ch,
uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_ic_stop_by_dma(timer_handle_t *hperh, timer_channel_t ch);
-#endif
+
/**
* @}
*/
@@ -1099,12 +1099,12 @@ void ald_timer_encoder_start(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_encoder_stop(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_encoder_start_by_it(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_encoder_stop_by_it(timer_handle_t *hperh, timer_channel_t ch);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_encoder_start_by_dma(timer_handle_t *hperh, timer_channel_t ch,
uint16_t *buf1, uint16_t *buf2, uint32_t len,
uint8_t dma_ch1, uint8_t dma_ch2);
void ald_timer_encoder_stop_by_dma(timer_handle_t *hperh, timer_channel_t ch);
-#endif
+
/**
* @}
*/
@@ -1118,11 +1118,11 @@ void ald_timer_hall_sensor_start(timer_handle_t *hperh);
void ald_timer_hall_sensor_stop(timer_handle_t *hperh);
void ald_timer_hall_sensor_start_by_it(timer_handle_t *hperh);
void ald_timer_hall_sensor_stop_by_it(timer_handle_t *hperh);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_hall_sensor_start_by_dma(timer_handle_t *hperh,
uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_hall_sensor_stop_by_dma(timer_handle_t *hperh);
-#endif
+
/**
* @}
*/
@@ -1135,11 +1135,11 @@ void ald_timer_ocn_start(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_ocn_stop(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_ocn_start_by_it(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_ocn_stop_by_it(timer_handle_t *hperh, timer_channel_t ch);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_ocn_start_by_dma(timer_handle_t *hperh,
timer_channel_t ch, uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_ocn_stop_by_dma(timer_handle_t *hperh, timer_channel_t ch);
-#endif
+
/**
* @}
*/
@@ -1152,11 +1152,11 @@ void ald_timer_pwmn_start(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_pwmn_stop(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_pwmn_start_by_it(timer_handle_t *hperh, timer_channel_t ch);
void ald_timer_pwmn_stop_by_it(timer_handle_t *hperh, timer_channel_t ch);
-#ifdef ALD_DMA
+
ald_status_t ald_timer_pwmn_start_by_dma(timer_handle_t *hperh,
timer_channel_t ch, uint16_t *buf, uint32_t len, uint8_t dma_ch);
void ald_timer_pwmn_stop_by_dma(timer_handle_t *hperh, timer_channel_t ch);
-#endif
+
/**
* @}
*/
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_trng.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_trng.h
index 267a7db0da..39aca7eb71 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_trng.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_trng.h
@@ -8,8 +8,11 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_TRNG_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_tsense.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_tsense.h
index cceb2587ec..39e69b03f2 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_tsense.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_tsense.h
@@ -8,6 +8,9 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_TSENSE_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_uart.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_uart.h
index b5870ead77..62cefb8a32 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_uart.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_uart.h
@@ -8,8 +8,11 @@
* @date 21 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 21 Nov 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_UART_H__
@@ -190,10 +192,10 @@ typedef struct uart_handle_s {
uint8_t *rx_buf; /**< Pointer to UART Rx transfer Buffer */
uint16_t rx_size; /**< UART Rx Transfer size */
uint16_t rx_count; /**< UART Rx Transfer Counter */
-#ifdef ALD_DMA
+
dma_handle_t hdmatx; /**< UART Tx DMA Handle parameters */
dma_handle_t hdmarx; /**< UART Rx DMA Handle parameters */
-#endif
+
lock_state_t lock; /**< Locking object */
uart_state_t state; /**< UART communication state */
uart_error_t err_code; /**< UART Error code */
@@ -485,13 +487,13 @@ ald_status_t ald_uart_recv_n_lock(uart_handle_t *hperh, uint8_t *buf, uint16_t s
ald_status_t ald_uart_send_by_it(uart_handle_t *hperh, uint8_t *buf, uint16_t size);
ald_status_t ald_uart_recv_by_it(uart_handle_t *hperh, uint8_t *buf, uint16_t size);
ald_status_t ald_uart_recv_frame_by_it(uart_handle_t *hperh, uint8_t *buf, uint16_t size, uint32_t t_out);
-#ifdef ALD_DMA
+
ald_status_t ald_uart_send_by_dma(uart_handle_t *hperh, uint8_t *buf, uint16_t size, uint8_t channel);
ald_status_t ald_uart_recv_by_dma(uart_handle_t *hperh, uint8_t *buf, uint16_t size, uint8_t channel);
ald_status_t ald_uart_dma_pause(uart_handle_t *hperh);
ald_status_t ald_uart_dma_resume(uart_handle_t *hperh);
ald_status_t ald_uart_dma_stop(uart_handle_t *hperh);
-#endif
+
void ald_uart_irq_handler(uart_handle_t *hperh);
void ald_uart_irq_handler_fast(uart_handle_t *hperh);
/**
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_usb.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_usb.h
index d319f7a575..0f12517014 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_usb.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_usb.h
@@ -8,8 +8,11 @@
* @date 25 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Dec 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_USB_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_wdt.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_wdt.h
index 805be32d50..376cc6f369 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_wdt.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/ald_wdt.h
@@ -7,9 +7,12 @@
* @version V1.0
* @date 18 Dec 2019
* @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 18 Dec 2019 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
#ifndef __ALD_WDT_H__
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/type.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/type.h
index a8db397a97..8b767360f8 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/type.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/type.h
@@ -8,6 +8,9 @@
* @date 17 Apr 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 17 Apr 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __TYPE_H__
@@ -37,7 +39,6 @@ extern "C" {
#include <stdint.h>
#include "es_conf_info_select.h"
-
#if defined (__CC_ARM)
#define __INLINE__ __inline
#define __STATIC_INLINE__ static __inline
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/utils.h b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/utils.h
index e3b7242801..3af657d429 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/utils.h
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Include/utils.h
@@ -8,6 +8,9 @@
* @date 07 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 07 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#ifndef __UTILS_H__
@@ -36,7 +38,6 @@
#endif
#include <stdlib.h>
-#include "ald_conf.h"
#include "type.h"
#ifdef ES32F36xx
#include "es32f36xx.h"
@@ -169,9 +170,9 @@ void ald_systick_interval_select(systick_interval_t value);
*/
/* Peripheral Control functions */
void ald_inc_tick(void);
-void ald_systick_irq_cbk(void);
-void ald_delay_us(__IO uint32_t delay);
+void ald_systick_irq_cbk(void);
void ald_delay_ms(__IO uint32_t delay);
+void ald_delay_us(__IO uint32_t delay);
uint32_t ald_get_tick(void);
void ald_suspend_tick(void);
void ald_resume_tick(void);
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_acmp.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_acmp.c
index 2e2dbe74d5..a13b292702 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_acmp.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_acmp.c
@@ -8,6 +8,9 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_acmp.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_adc.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_adc.c
index ccf689c107..38246e5301 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_adc.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_adc.c
@@ -21,6 +21,9 @@
* @date 28 Jun 2019
* @author AE Team.
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 28 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -37,14 +40,11 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_cmu.h"
-#include "ald_adc.h"
-
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
@@ -73,7 +73,6 @@ static void adc_dma_error(void *arg);
* @}
*/
-
/** @defgroup ADC_Public_Functions ADC Public Functions
* @{
*/
@@ -160,8 +159,7 @@ ald_status_t ald_adc_init(adc_handle_t *hperh)
SET_BIT(ADC0->CCR, ADC_CCR_TRMEN_MSK);
SET_BIT(ADC1->CCR, ADC_CCR_TRMEN_MSK);
-
-MODIFY_REG(hperh->perh->CON1, ADC_CON1_NCHESEL_MSK, hperh->init.nche_sel << ADC_CON1_NCHESEL_POS);
+ MODIFY_REG(hperh->perh->CON1, ADC_CON1_NCHESEL_MSK, hperh->init.nche_sel << ADC_CON1_NCHESEL_POS);
ald_adc_interrupt_config(hperh, ADC_IT_OVR, ENABLE);
ADC_ENABLE(hperh);
@@ -1131,33 +1129,33 @@ uint32_t ald_adc_get_error(adc_handle_t *hperh)
*/
void ald_adc_offset_adjust(uint32_t refmv)
{
- uint32_t tmp = 0, os = 0;
-
- if (refmv == 0) return;
-
- *((volatile uint32_t *)(0x40080000)) = 0x55AA6996;
- *((volatile uint32_t *)(0x40080100)) = 0x5A962814;
- *((volatile uint32_t *)(0x40080100)) = 0xE7CB69A5;
-
- tmp = INFO_ADC0DA;
- os = tmp & 0x7F;
- os = (uint32_t)((os * 5000) / refmv + 0.5);
- tmp = tmp & 0xFF80;
- tmp |= os;
- tmp |= 0x55AA0000;
- CFG_ADC0DA = tmp;
-
- tmp = INFO_ADC1DA;
- os = tmp & 0x7F;
- os = (uint32_t)((os * 5000) / refmv + 0.5);
- tmp = tmp & 0xFF80;
- tmp |= os;
- tmp |= 0x55AA0000;
- CFG_ADC1DA = tmp;
-
- *((volatile uint32_t *)(0x40080100)) = 0x123456;
- *((volatile uint32_t *)(0x40080100)) = 0x123456;
- *((volatile uint32_t *)(0x40080000)) = 0x123456;
+ uint32_t tmp = 0, os = 0;
+
+ if (refmv == 0) return;
+
+ *((volatile uint32_t *)(0x40080000)) = 0x55AA6996;
+ *((volatile uint32_t *)(0x40080100)) = 0x5A962814;
+ *((volatile uint32_t *)(0x40080100)) = 0xE7CB69A5;
+
+ tmp = INFO_ADC0DA;
+ os = tmp & 0x7F;
+ os = (uint32_t)((os * 5000) / refmv + 0.5);
+ tmp = tmp & 0xFF80;
+ tmp |= os;
+ tmp |= 0x55AA0000;
+ CFG_ADC0DA = tmp;
+
+ tmp = INFO_ADC1DA;
+ os = tmp & 0x7F;
+ os = (uint32_t)((os * 5000) / refmv + 0.5);
+ tmp = tmp & 0xFF80;
+ tmp |= os;
+ tmp |= 0x55AA0000;
+ CFG_ADC1DA = tmp;
+
+ *((volatile uint32_t *)(0x40080100)) = 0x123456;
+ *((volatile uint32_t *)(0x40080100)) = 0x123456;
+ *((volatile uint32_t *)(0x40080000)) = 0x123456;
}
/**
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_bkpc.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_bkpc.c
index 568f7cec0e..459f54e4d8 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_bkpc.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_bkpc.c
@@ -8,6 +8,9 @@
* @date 15 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 15 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,13 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_bkpc.h"
-#include "ald_rtc.h"
-
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_calc.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_calc.c
index a49d150e32..6eafabf83f 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_calc.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_calc.c
@@ -8,8 +8,11 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_calc.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_can.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_can.c
index e610ebef80..ad85683492 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_can.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_can.c
@@ -7,10 +7,15 @@
* + Initialization functions
* + IO operation functions
* + Peripheral Control functions
+ * + Peripheral Control functions
* + Peripheral State and Error functions
* @version V1.0
* @date 25 Apr 2019
* @author AE Team
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Apr 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -27,8 +32,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### How to use this driver #####
@@ -80,7 +84,7 @@
******************************************************************************
*/
-#include "ald_can.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
@@ -443,8 +447,8 @@ ald_status_t ald_can_recv(can_handle_t *hperh, can_rx_fifo_t num, can_rx_msg_t *
}
}
-// if (__can_rx_check(hperh, num))
-// return ERROR;
+ if (__can_rx_check(hperh, num))
+ return ERROR;
stid = READ_BITS(hperh->perh->RxFIFO[num].RXFID, CAN_RXF0ID_STDID_MSK, CAN_RXF0ID_STDID_POSS);
exid = READ_BITS(hperh->perh->RxFIFO[num].RXFID, CAN_RXF0ID_EXID_MSK, CAN_RXF0ID_EXID_POSS);
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_cmu.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_cmu.c
index ddfb35f730..07c3fe6169 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_cmu.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_cmu.c
@@ -8,8 +8,11 @@
* @date 22 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 22 Nov 2019 AE Team The first version
*
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### How to use this driver #####
@@ -138,9 +140,7 @@
******************************************************************************
*/
-#include "ald_cmu.h"
-#include "ald_flash.h"
-
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crc.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crc.c
index 747c8ddb77..2ebdecb5c8 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crc.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crc.c
@@ -8,6 +8,9 @@
* @date 18 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 18 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_crc.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crypt.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crypt.c
index 04a0fa19de..0365c189cb 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crypt.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_crypt.c
@@ -9,6 +9,9 @@
* @date 19 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 19 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -25,12 +28,11 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_crypt.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dac.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dac.c
index 7f98ce0b88..35a5265894 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dac.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dac.c
@@ -7,6 +7,9 @@
* @date 28 Jun 2019
* @author AE Team.
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 28 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -23,11 +26,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_dac.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dma.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dma.c
index a12c72b371..2024a49878 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dma.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_dma.c
@@ -8,6 +8,9 @@
* @date 09 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 09 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### How to use this driver #####
@@ -71,7 +73,6 @@
#include <string.h>
#include "ald_conf.h"
-#include "ald_dma.h"
/** @addtogroup ES32FXXX_ALD
@@ -183,21 +184,32 @@ static void dma_config_base(DMA_TypeDef *DMAx, dma_cycle_ctrl_t mode, dma_config
*/
void ald_dma_irq_handler(void)
{
- uint32_t i, reg = DMA0->IFLAG;
+ uint32_t i, reg;
+ dma_descriptor_t *descr0, *descr1;
+ uint32_t p_addr, a_addr;
+
+ reg = DMA0->IFLAG;
+ p_addr = DMA0->CTRLBASE;
+ a_addr = DMA0->ALTCTRLBASE;
for (i = 0; i < DMA_CH_COUNT; ++i) {
if (READ_BIT(reg, (1U << i))) {
- DMA0->ICFR = (1U << i);
- DMA0->CHENCLR = (1U << i);
-
if (dma0_cbk[i].cplt_cbk != NULL)
dma0_cbk[i].cplt_cbk(dma0_cbk[i].cplt_arg);
+
+ DMA0->ICFR = (1U << i);
+ descr0 = (dma_descriptor_t *)(p_addr) + i;
+ descr1 = (dma_descriptor_t *)(a_addr) + i;
+
+ if ((descr0->ctrl.cycle_ctrl == DMA_CYCLE_CTRL_NONE)
+ && (descr1->ctrl.cycle_ctrl == DMA_CYCLE_CTRL_NONE))
+ DMA0->CHENCLR = (1U << i);
}
}
if (READ_BIT(reg, (1U << DMA_ERR))) {
DMA0->ICFR = (1U << DMA_ERR);
-
+
for (i = 0; i < DMA_CH_COUNT; ++i) {
if (dma0_cbk[i].err_cbk != NULL)
dma0_cbk[i].err_cbk(dma0_cbk[i].err_arg);
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_ebi.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_ebi.c
index d58acdfc9b..a680cee834 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_ebi.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_ebi.c
@@ -8,6 +8,9 @@
* @date 20 Jan 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 20 Jan 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,10 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- ******************************************************************************
+ **********************************************************************************
*/
-#include "ald_ebi.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash.c
index 33b114fa55..7a4ed86e57 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash.c
@@ -8,6 +8,9 @@
* @date 17 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 17 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,10 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### FLASH Peripheral features #####
@@ -47,7 +47,7 @@
@endverbatim
*/
-#include "ald_flash.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash_ext.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash_ext.c
index 07d7dc5f60..d08b0e1904 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash_ext.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_flash_ext.c
@@ -8,6 +8,9 @@
* @date 17 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 17 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,10 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### FLASH Peripheral features #####
@@ -60,7 +60,7 @@
*/
-#include "ald_flash.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_gpio.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_gpio.c
index 8285401f26..0e74205517 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_gpio.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_gpio.c
@@ -13,6 +13,9 @@
* @date 07 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 07 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -29,8 +32,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### GPIO Peripheral features #####
@@ -139,8 +141,6 @@
*/
#include "ald_conf.h"
-#include "ald_gpio.h"
-
/** @addtogroup ES32FXXX_ALD
* @{
@@ -199,7 +199,7 @@ void ald_gpio_init(GPIO_TypeDef *GPIOx, uint16_t pin, gpio_init_t *init)
for (i = 0; i < 16; ++i) {
if (((pin >> i) & 0x1) == 0)
continue;
-
+
/* Get position and 2-bits mask */
pos = i << 1;
mask = 0x3 << pos;
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2c.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2c.c
index bd46791284..fa32ce329b 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2c.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2c.c
@@ -1,15 +1,18 @@
/**
- *********************************************************************************
- *
- * @file ald_i2c.c
- * @brief I2C module driver.
- *
- * @version V1.0
- * @date 15 Nov 2019
- * @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ *********************************************************************************
+ *
+ * @file ald_i2c.c
+ * @brief I2C module driver.
+ *
+ * @version V1.0
+ * @date 15 Nov 2019
+ * @author AE Team
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 15 Nov 2019 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -24,11 +27,12 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- @verbatim
- ==============================================================================
+ **********************************************************************************
+ *
+ @verbatim
+ ===============================================================================
##### How to use this driver #####
- ==============================================================================
+ ===============================================================================
[..]
The I2C driver can be used as follows:
@@ -165,7 +169,7 @@
*********************************************************************************
*/
-#include "ald_i2c.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
@@ -182,9 +186,9 @@
* @{
*/
-#define I2C_TIMEOUT_FLAG (__systick_interval / 20 + 1)
-#define I2C_TIMEOUT_ADDR_SLAVE (__systick_interval * 10)
-#define I2C_TIMEOUT_BUSY_FLAG (__systick_interval * 10)
+#define I2C_TIMEOUT_FLAG (10)
+#define I2C_TIMEOUT_ADDR_SLAVE (10)
+#define I2C_TIMEOUT_BUSY_FLAG (10)
#define I2C_MAX_DELAY 0xFFFFFFFF
/**
@@ -262,65 +266,67 @@ static ald_status_t i2c_slave_stopf(i2c_handle_t *hperh);
* @brief I2C Configuration Speed function.
* @param hperh: Pointer to a i2c_handle_t structure that contains.
* the configuration information for the I2C speed.
- * @param freqrange: I2C Peripheral bus clock
+ * @param clk: I2C Peripheral bus clock
* @retval Status, see @ref ald_status_t.
*/
-ald_status_t i2c_speed_init(i2c_handle_t *hperh, uint32_t freqrange)
+ald_status_t i2c_speed_init(i2c_handle_t *hperh, uint32_t clk)
{
- float Tsync = 0;
- float Tscl = 0;
- float Tfre = 0;
- uint32_t Tper = 0;
- uint32_t presc = 0;
- uint32_t tmp = 0;
+ int32_t t_scl, t_pre, tmp;
if (hperh->init.module == I2C_MODULE_SLAVE) {
- hperh->init.clk_speed = 450000;
+ hperh->init.clk_speed = 450000UL;
}
- if (hperh->init.clk_speed <= 100000) {
- tmp = freqrange / 4000000;
- freqrange = 4000000;
- } else {
- tmp = freqrange / 8000000;
- freqrange = 8000000;
+ if (hperh->init.clk_speed <= 100000UL) {
+ tmp = clk / 4000000UL;
+ clk = (tmp >= 16UL) ? (clk >> 4UL) : 4000000UL;
+ }
+ else {
+ tmp = clk / 8000000UL;
+ clk = (tmp >= 16UL) ? (clk >> 4UL) : 8000000UL;
}
- Tscl = 1000.0 / (hperh->init.clk_speed / 1000000.0);
- Tfre = 1000.0 / I2C_FREQ_RANGE(freqrange);
-
- Tsync = (READ_BITS(hperh->perh->CON2, I2C_CON1_DNF_MSK, I2C_CON1_DNF_POSS) + 2) * 2 * Tfre;
-
- Tper = (uint32_t)((Tscl - Tsync) / Tfre);
+ tmp = tmp >= 16UL ? 15UL : tmp;
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_PRESC_MSK, tmp << I2C_TIMINGR_PRESC_POSS);
- while (Tper > 512) {
- Tper = Tper - 512;
- presc++;
- }
+ t_scl = 1000000000 / hperh->init.clk_speed;
+ t_pre = 1000000000 / clk;
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_PRESC_MSK, (presc + tmp ) << I2C_TIMINGR_PRESC_POSS);
+ tmp = (t_scl * 10) / (t_pre << 1UL);
+ tmp = (tmp % 10) >= 5 ? (tmp / 10 + 1) : tmp / 10;
+ tmp = tmp >= 255UL ? 255UL : tmp;
+ /* SCLDEL+1+SDADEL+0+SCLH+1 */
+ if ((long)(t_scl - ((tmp + 3UL) * t_pre)) < 0)
+ return ERROR;
- if (hperh->init.clk_speed <= I2C_STANDARD_MODE_MAX_CLK) {
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, 2 << I2C_TIMINGR_SDADEL_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, 4 << I2C_TIMINGR_SCLDEL_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLH_MSK, (((Tper - 2) / 2) - 4) << I2C_TIMINGR_SCLH_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLL_MSK, (((Tper - 2) / 2) + 4) << I2C_TIMINGR_SCLL_POSS);
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLL_MSK, (tmp - 1UL) << I2C_TIMINGR_SCLL_POSS);
+ if (hperh->init.clk_speed > 100000UL) {
+ if ((tmp - 1UL) > 3UL) {
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, ((tmp - 1UL) / 3UL) << I2C_TIMINGR_SCLDEL_POSS);
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, ((((tmp - 1UL) / 3UL) >= 3) ? 3 : (((tmp - 1UL) / 3UL) % 3)) << I2C_TIMINGR_SDADEL_POSS);
+ }
+ else {
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, 1UL << I2C_TIMINGR_SCLDEL_POSS);
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, 1UL << I2C_TIMINGR_SDADEL_POSS);
+ }
}
else {
- if (hperh->init.clk_speed <= I2C_FAST_MODE_MAX_CLK) {
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, 2 << I2C_TIMINGR_SDADEL_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, 3 << I2C_TIMINGR_SCLDEL_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLH_MSK, (((Tper - 2) / 2) - 6) << I2C_TIMINGR_SCLH_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLL_MSK, (((Tper - 2) / 2) + 6) << I2C_TIMINGR_SCLL_POSS);
- }
- else {
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, 0 << I2C_TIMINGR_SDADEL_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, 1 << I2C_TIMINGR_SCLDEL_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLH_MSK, (((Tper - 2) / 2) - 3) << I2C_TIMINGR_SCLH_POSS);
- MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLL_MSK, (((Tper - 2) / 2) + 3) << I2C_TIMINGR_SCLL_POSS);
- }
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, 2UL << I2C_TIMINGR_SDADEL_POSS);
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, 4UL << I2C_TIMINGR_SCLDEL_POSS);
}
+ tmp = t_scl - (tmp + READ_BITS(hperh->perh->TIMINGR, I2C_TIMINGR_SCLDEL_MSK, I2C_TIMINGR_SCLDEL_POSS) + \
+ READ_BITS(hperh->perh->TIMINGR, I2C_TIMINGR_SDADEL_MSK, I2C_TIMINGR_SDADEL_POSS) + 1UL) * t_pre;
+ if (tmp < 0)
+ return ERROR;
+
+ tmp = (tmp * 10) / t_pre;
+ tmp = (tmp % 10) >= 5 ? (tmp / 10 + 1) : tmp / 10;
+ tmp = tmp >= 255UL ? 255UL : tmp;
+ /* tscll >= 3*tsclh */
+ tmp = (tmp - 1) <= (READ_BITS(hperh->perh->TIMINGR, I2C_TIMINGR_SCLL_MSK, I2C_TIMINGR_SCLL_POSS) / 3) ? (READ_BITS(hperh->perh->TIMINGR, I2C_TIMINGR_SCLL_MSK, I2C_TIMINGR_SCLL_POSS) / 3) + 1: tmp;
+ MODIFY_REG(hperh->perh->TIMINGR, I2C_TIMINGR_SCLH_MSK, (tmp - 1UL) << I2C_TIMINGR_SCLH_POSS);
+
return OK;
}
/**
@@ -351,7 +357,9 @@ ald_status_t ald_i2c_init(i2c_handle_t *hperh)
I2C_DISABLE(hperh);
- i2c_speed_init(hperh, freqrange);
+ if (OK != i2c_speed_init(hperh, freqrange))
+ return ERROR;
+
MODIFY_REG(hperh->perh->CON1, I2C_CON1_NOSTRETCH_MSK, (hperh->init.no_stretch) << I2C_CON1_NOSTRETCH_POS);
MODIFY_REG(hperh->perh->CON1, I2C_CON1_GCEN_MSK, (hperh->init.general_call) << I2C_CON1_GCEN_POS);
@@ -527,7 +535,6 @@ ald_status_t ald_i2c_master_send(i2c_handle_t *hperh, uint16_t dev_addr, uint8_t
SET_BIT(hperh->perh->CON2, I2C_CON2_START_MSK);
while (size > 0) {
- while(hperh->perh->STAT & (0x1 << 1));
hperh->perh->TXDATA = (*buf++);
size--;
hperh->xfer_count++;
@@ -651,7 +658,7 @@ SUCCESS:
goto SUCCESS;
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
- goto SUCCESS;
+ goto SUCCESS;
ERROR:
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
@@ -701,11 +708,13 @@ ald_status_t ald_i2c_slave_send(i2c_handle_t *hperh, uint8_t *buf, uint32_t size
hperh->xfer_size = size;
hperh->xfer_count = 0;
- MODIFY_REG(hperh->perh->FCON, I2C_FCON_TXFTH_MSK, 0x03 << I2C_FCON_TXFTH_POSS);
SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
+ MODIFY_REG(hperh->perh->FCON, I2C_FCON_TXFTH_MSK, 0x03 << I2C_FCON_TXFTH_POSS);
for (i = 0; i < 16; i++) {
- while(hperh->perh->STAT & (0x1 << 1));
+ if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TXF, SET, timeout) != OK)
+ goto ERROR;
+
hperh->perh->TXDATA = (*buf++);
--size;
hperh->xfer_count++;
@@ -722,7 +731,9 @@ ald_status_t ald_i2c_slave_send(i2c_handle_t *hperh, uint8_t *buf, uint32_t size
goto ERROR;
for (i = 0; i < 8; i++) {
- while(hperh->perh->STAT & (0x1 << 1));
+ if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TXF, SET, timeout) != OK)
+ goto ERROR;
+
hperh->perh->TXDATA = (*buf++);
--size;
hperh->xfer_count++;
@@ -843,7 +854,7 @@ ald_status_t ald_i2c_master_send_by_it(i2c_handle_t *hperh, uint16_t dev_addr, u
i2c_master_req_write(hperh, dev_addr, I2C_TIMEOUT_FLAG);
- if (size <= 0xff) {
+ if (size <= 0xFF) {
MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
}
else {
@@ -1183,15 +1194,15 @@ ald_status_t ald_i2c_slave_send_by_dma(i2c_handle_t *hperh, uint8_t *buf, uint8_
ald_dma_config_struct(&hperh->hdmatx.config);
hperh->hdmatx.config.burst = ENABLE;
- hperh->hdmatx.config.src = (void *)buf;
- hperh->hdmatx.config.dst = (void *)&hperh->perh->TXDATA;
- hperh->hdmatx.config.size = size;
+ hperh->hdmatx.config.src = (void *)buf;
+ hperh->hdmatx.config.dst = (void *)&hperh->perh->TXDATA;
+ hperh->hdmatx.config.size = size;
hperh->hdmatx.config.data_width = DMA_DATA_SIZE_BYTE;
- hperh->hdmatx.config.src_inc = DMA_DATA_INC_BYTE;
- hperh->hdmatx.config.dst_inc = DMA_DATA_INC_NONE;
- hperh->hdmatx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
- hperh->hdmatx.config.msigsel = DMA_MSIGSEL_I2C_TXEMPTY;
- hperh->hdmatx.config.channel = channel;
+ hperh->hdmatx.config.src_inc = DMA_DATA_INC_BYTE;
+ hperh->hdmatx.config.dst_inc = DMA_DATA_INC_NONE;
+ hperh->hdmatx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
+ hperh->hdmatx.config.msigsel = DMA_MSIGSEL_I2C_TXEMPTY;
+ hperh->hdmatx.config.channel = channel;
ald_dma_config_basic(&hperh->hdmatx);
if (i2c_wait_master_addr_to_timeout(hperh, I2C_IT_ADDR, I2C_TIMEOUT_ADDR_SLAVE) == ERROR) {
@@ -1202,6 +1213,7 @@ ald_status_t ald_i2c_slave_send_by_dma(i2c_handle_t *hperh, uint8_t *buf, uint8_
return ERROR;
}
+ SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
SET_BIT(hperh->perh->CON1, I2C_CON1_TXDMAEN_MSK);
return OK;
@@ -1249,15 +1261,15 @@ ald_status_t ald_i2c_slave_recv_by_dma(i2c_handle_t *hperh, uint8_t *buf, uint8_
hperh->hdmarx.err_arg = (void *)hperh;
ald_dma_config_struct(&hperh->hdmarx.config);
- hperh->hdmarx.config.src = (void *)&hperh->perh->RXDATA;
- hperh->hdmarx.config.dst = (void *)buf;
- hperh->hdmarx.config.size = size;
+ hperh->hdmarx.config.src = (void *)&hperh->perh->RXDATA;
+ hperh->hdmarx.config.dst = (void *)buf;
+ hperh->hdmarx.config.size = size;
hperh->hdmatx.config.data_width = DMA_DATA_SIZE_BYTE;
- hperh->hdmarx.config.src_inc = DMA_DATA_INC_NONE;
- hperh->hdmarx.config.dst_inc = DMA_DATA_INC_BYTE;
- hperh->hdmarx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
- hperh->hdmarx.config.msigsel = DMA_MSIGSEL_I2C_RNR;
- hperh->hdmarx.config.channel = channel;
+ hperh->hdmarx.config.src_inc = DMA_DATA_INC_NONE;
+ hperh->hdmarx.config.dst_inc = DMA_DATA_INC_BYTE;
+ hperh->hdmarx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
+ hperh->hdmarx.config.msigsel = DMA_MSIGSEL_I2C_RNR;
+ hperh->hdmarx.config.channel = channel;
ald_dma_config_basic(&hperh->hdmarx);
if (i2c_wait_master_addr_to_timeout(hperh, I2C_IT_ADDR, I2C_TIMEOUT_ADDR_SLAVE) == ERROR) {
@@ -1268,6 +1280,7 @@ ald_status_t ald_i2c_slave_recv_by_dma(i2c_handle_t *hperh, uint8_t *buf, uint8_
return ERROR;
}
+ SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
SET_BIT(hperh->perh->CON1, I2C_CON1_RXDMAEN_MSK);
return OK;
@@ -1311,31 +1324,25 @@ ald_status_t ald_i2c_mem_write(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t
hperh->xfer_size = size;
hperh->xfer_count = 0;
- i2c_master_req_write(hperh, dev_addr, timeout);
+ nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
- if (add_size == I2C_MEMADD_SIZE_8BIT) {
- nbyte = size + 1;
- }
- else {
- nbyte = size + 2;
- }
+ SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
+ SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
+
+ if (i2c_req_mem_write(hperh, dev_addr, mem_addr, add_size, timeout) != OK)
+ goto ERROR;
- if (nbyte <= 0xFF) {
- MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ if (size <= 0xFF) {
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
}
else {
MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, 0xFF << I2C_CON2_NBYTES_POSS);
SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
}
- SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
-
- if (i2c_req_mem_write(hperh, dev_addr, mem_addr, add_size, I2C_TIMEOUT_FLAG) != OK)
- goto ERROR;
-
- hperh->xfer_count += 2;
while (size > 0) {
- while(hperh->perh->STAT & (0x1 << 1));
hperh->perh->TXDATA = (*buf++);
--size;
hperh->xfer_count++;
@@ -1362,8 +1369,11 @@ ald_status_t ald_i2c_mem_write(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t
if (READ_BIT(hperh->perh->CON2, I2C_CON2_AUTOEND_MSK))
goto SUCCESS;
+ if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TC, RESET, timeout))
+ goto ERROR;
+
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
- goto SUCCESS;
+ goto SUCCESS;
ERROR:
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
@@ -1418,22 +1428,15 @@ ald_status_t ald_i2c_mem_read(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t m
hperh->xfer_count = 0;
hperh->xfer_size = size;
- i2c_master_req_write(hperh, dev_addr, timeout);
-
nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
- if (i2c_req_mem_write(hperh, dev_addr, mem_addr, add_size, I2C_TIMEOUT_FLAG) != OK) {
- SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
- hperh->state = I2C_STATE_READY;
- hperh->mode = I2C_MODE_NONE;
- __UNLOCK(hperh);
-
+ if (i2c_req_mem_write(hperh, dev_addr, mem_addr, add_size, timeout) != OK)
return ERROR;
- }
if (size <= 0xFF) {
MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
@@ -1455,7 +1458,7 @@ ald_status_t ald_i2c_mem_read(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t m
hperh->xfer_count++;
if (((hperh->xfer_count % 0xFF) == 0) && (READ_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK))) {
- if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TCR, RESET, I2C_TIMEOUT_FLAG) == OK) {
+ if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TCR, RESET, timeout) == OK) {
if (size > 0xFF) {
MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, 0xFF << I2C_CON2_NBYTES_POSS);
}
@@ -1474,7 +1477,7 @@ ald_status_t ald_i2c_mem_read(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t m
goto SUCCESS;
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
- goto SUCCESS;
+ goto SUCCESS;
ERROR:
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
@@ -1529,20 +1532,9 @@ ald_status_t ald_i2c_mem_write_by_it(i2c_handle_t *hperh, uint16_t dev_addr, uin
hperh->xfer_size = size;
hperh->xfer_count = 0;
- if (add_size == I2C_MEMADD_SIZE_8BIT) {
- nbyte = size + 1;
- }
- else {
- nbyte = size + 2;
- }
-
- if (nbyte <= 0xFF) {
- MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
- }
- else {
- MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, 0xFF << I2C_CON2_NBYTES_POSS);
- SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
- }
+ nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
@@ -1555,13 +1547,20 @@ ald_status_t ald_i2c_mem_write_by_it(i2c_handle_t *hperh, uint16_t dev_addr, uin
return ERROR;
}
-
+
+ if (size <= 0xFF) {
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
+ }
+ else {
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, 0xFF << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
+ }
+
I2C_CLEAR_IT(hperh , I2C_IT_TXTH);
I2C_CLEAR_IT(hperh , I2C_IT_NACK);
I2C_CLEAR_IT(hperh , I2C_IT_TC);
I2C_CLEAR_IT(hperh , I2C_IT_TCR);
- while(hperh->perh->STAT & (0x1 << 1));
hperh->perh->TXDATA = (*hperh->p_buff++);
hperh->xfer_count++;
@@ -1610,6 +1609,7 @@ ald_status_t ald_i2c_mem_read_by_it(i2c_handle_t *hperh, uint16_t dev_addr, uint
nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
@@ -1681,6 +1681,22 @@ ald_status_t ald_i2c_mem_write_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, ui
hperh->xfer_size = size;
hperh->xfer_count = 0;
+ SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
+ SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
+
+ nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
+
+ if (i2c_req_mem_write(hperh, dev_addr, mem_addr, add_size, I2C_TIMEOUT_FLAG) != OK) {
+ SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
+ hperh->state = I2C_STATE_READY;
+ hperh->mode = I2C_MODE_NONE;
+ __UNLOCK(hperh);
+
+ return ERROR;
+ }
+
if (hperh->hdmatx.perh == NULL)
hperh->hdmatx.perh = DMA0;
@@ -1689,37 +1705,21 @@ ald_status_t ald_i2c_mem_write_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, ui
hperh->hdmatx.err_cbk = i2c_dma_error;
hperh->hdmatx.err_arg = hperh;
- nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
- MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
- SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
-
ald_dma_config_struct(&hperh->hdmatx.config);
hperh->hdmatx.config.burst = ENABLE;
hperh->hdmatx.config.src = (void *)hperh->p_buff;
- hperh->hdmatx.config.dst = (void *)&hperh->perh->TXDATA;
+ hperh->hdmatx.config.dst = (void *)&hperh->perh->TXDATA;
hperh->hdmatx.config.size = size;
hperh->hdmatx.config.data_width = DMA_DATA_SIZE_BYTE;
- hperh->hdmatx.config.src_inc = DMA_DATA_INC_BYTE;
- hperh->hdmatx.config.dst_inc = DMA_DATA_INC_NONE;
- hperh->hdmatx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
- hperh->hdmatx.config.msigsel = DMA_MSIGSEL_I2C_TXEMPTY;
- hperh->hdmatx.config.channel = channel;
+ hperh->hdmatx.config.src_inc = DMA_DATA_INC_BYTE;
+ hperh->hdmatx.config.dst_inc = DMA_DATA_INC_NONE;
+ hperh->hdmatx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
+ hperh->hdmatx.config.msigsel = DMA_MSIGSEL_I2C_TXEMPTY;
+ hperh->hdmatx.config.channel = channel;
ald_dma_config_basic(&hperh->hdmatx);
- SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
-
- if (i2c_req_mem_write(hperh, dev_addr, mem_addr, add_size, I2C_TIMEOUT_FLAG) != OK) {
- SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
- hperh->state = I2C_STATE_READY;
- hperh->mode = I2C_MODE_NONE;
- __UNLOCK(hperh);
-
- return ERROR;
- }
-
- MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
CLEAR_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
-
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
SET_BIT(hperh->perh->CON1, I2C_CON1_TXDMAEN_MSK);
return OK;
@@ -1740,6 +1740,8 @@ ald_status_t ald_i2c_mem_write_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, ui
ald_status_t ald_i2c_mem_read_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, uint16_t mem_addr, i2c_addr_size_t add_size,
uint8_t *buf, uint8_t size, uint8_t channel)
{
+ uint32_t nbyte = 0;
+
if (hperh->state != I2C_STATE_READY)
return BUSY;
@@ -1759,6 +1761,20 @@ ald_status_t ald_i2c_mem_read_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, uin
hperh->xfer_size = size;
hperh->xfer_count = size;
+ SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
+ SET_BIT(hperh->perh->FCON, I2C_FCON_RXFRST_MSK);
+
+ nbyte = (add_size == I2C_MEMADD_SIZE_8BIT) ? 1 : 2;
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, nbyte << I2C_CON2_NBYTES_POSS);
+ SET_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
+
+ if (i2c_req_mem_read(hperh, dev_addr, mem_addr, add_size, I2C_TIMEOUT_FLAG) != OK) {
+ SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
+ hperh->state = I2C_STATE_READY;
+ hperh->mode = I2C_MODE_NONE;
+ __UNLOCK(hperh);
+ }
+
if (hperh->hdmarx.perh == NULL)
hperh->hdmarx.perh = DMA0;
@@ -1766,23 +1782,13 @@ ald_status_t ald_i2c_mem_read_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, uin
hperh->hdmarx.cplt_arg = (void *)hperh;
hperh->hdmarx.err_cbk = i2c_dma_error;
hperh->hdmarx.err_arg = (void *)hperh;
-
- if (add_size == I2C_MEMADD_SIZE_16BIT) {
- hperh->hdmatx.config.size = size + 2;
- }
- else {
- hperh->hdmatx.config.size = size + 1;
- }
-
- MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
- hperh->hdmatx.config.size = size;
-
+
ald_dma_config_struct(&hperh->hdmarx.config);
- hperh->hdmatx.config.burst = ENABLE;
+ hperh->hdmatx.config.burst = ENABLE;
hperh->hdmarx.config.src = (void *)&hperh->perh->RXDATA;
hperh->hdmarx.config.dst = (void *)buf;
hperh->hdmarx.config.data_width = DMA_DATA_SIZE_BYTE;
- hperh->hdmarx.config.size = size;
+ hperh->hdmarx.config.size = size;
hperh->hdmarx.config.src_inc = DMA_DATA_INC_NONE;
hperh->hdmarx.config.dst_inc = DMA_DATA_INC_BYTE;
hperh->hdmarx.config.msel = hperh->perh == I2C0 ? DMA_MSEL_I2C0 : DMA_MSEL_I2C1;
@@ -1790,20 +1796,8 @@ ald_status_t ald_i2c_mem_read_by_dma(i2c_handle_t *hperh, uint16_t dev_addr, uin
hperh->hdmarx.config.channel = channel;
ald_dma_config_basic(&hperh->hdmarx);
- if (!I2C_GET_FLAG(hperh, I2C_STAT_TXE)) {
- SET_BIT(hperh->perh->FCON, I2C_FCON_TXFRST_MSK);
- }
-
- if (i2c_req_mem_read(hperh, dev_addr, mem_addr, add_size, I2C_TIMEOUT_FLAG) != OK) {
- if (hperh->error_code == I2C_ERROR_AF) {
- __UNLOCK(hperh);
- return ERROR;
- }
- else {
- __UNLOCK(hperh);
- return TIMEOUT;
- }
- }
+ MODIFY_REG(hperh->perh->CON2, I2C_CON2_NBYTES_MSK, size << I2C_CON2_NBYTES_POSS);
+ CLEAR_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
SET_BIT(hperh->perh->CON2, I2C_CON2_RD_WRN_MSK);
SET_BIT(hperh->perh->CON2, I2C_CON2_START_MSK);
@@ -1922,7 +1916,6 @@ void ald_i2c_ev_irq_handler(i2c_handle_t *hperh)
ald_i2c_clear_flag_status(hperh, I2C_IT_TCR);
}
-
/**< Transmit FIFO empty interrupt */
if (ald_i2c_get_mask_flag_status(hperh, I2C_IT_TXE) == SET) {
ald_i2c_clear_flag_status(hperh, I2C_IT_TXE);
@@ -1978,8 +1971,14 @@ void ald_i2c_er_irq_handler(i2c_handle_t *hperh)
/**< NACK interrupt */
if (ald_i2c_get_mask_flag_status(hperh, I2C_IT_NACK) == SET) {
- if (hperh->xfer_count != hperh->xfer_size)
+ if (hperh->xfer_count != hperh->xfer_size) {
hperh->state |= I2C_ERROR_AF;
+ }
+ else {
+ I2C_DISABLE_IT(hperh, I2C_IT_TXTH | I2C_IT_NACK);
+ ald_i2c_clear_flag_status(hperh, I2C_IT_NACK);
+ return;
+ }
if ((hperh->mode == I2C_MODE_MASTER) || (hperh->mode == I2C_MODE_MEM))
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
@@ -2366,14 +2365,20 @@ static ald_status_t i2c_req_mem_write(i2c_handle_t *hperh, uint16_t dev_addr, ui
if (i2c_wait_txe_to_timeout(hperh, timeout) != OK)
return ERROR;
-
+
while(hperh->perh->STAT & (0x1 << 1));
hperh->perh->TXDATA = I2C_MEM_ADD_LSB(mem_addr);
}
- if (i2c_wait_txe_to_timeout(hperh, timeout) != OK)
+ if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TCR, RESET, timeout) != OK) {
+ CLEAR_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
+ ald_i2c_clear_flag_status(hperh, I2C_IT_TCR);
return ERROR;
+ }
+ CLEAR_BIT(hperh->perh->CON2, I2C_CON2_RELOAD_MSK);
+ ald_i2c_clear_flag_status(hperh, I2C_IT_TCR);
+
return OK;
}
#ifdef ALD_DMA
@@ -2415,7 +2420,6 @@ static ald_status_t i2c_req_mem_read(i2c_handle_t *hperh, uint16_t dev_addr, uin
return TIMEOUT;
}
}
-
while(hperh->perh->STAT & (0x1 << 1));
hperh->perh->TXDATA = I2C_MEM_ADD_LSB(mem_addr);
}
@@ -2426,6 +2430,7 @@ static ald_status_t i2c_req_mem_read(i2c_handle_t *hperh, uint16_t dev_addr, uin
if (tim_count > 0xFFFF)
return TIMEOUT;
}
+
return OK;
}
@@ -2546,12 +2551,19 @@ static void i2c_dma_slave_recv_cplt(void *argv)
* @brief DMA I2C Memory Write process complete callback
* @param argv: I2C handle
* @retval None
- */
+ */uint32_t ccct = 0;
static void i2c_dma_mem_send_cplt(void *argv)
{
+ uint32_t cnt = 0xFFFFFF;
+
i2c_handle_t* hperh = (i2c_handle_t*)argv;
+ccct++;ccct = ccct;
+ while (cnt--) {
+ if ((hperh->perh->STAT & I2C_STAT_TC) != 0)
+ break;
+ }
- if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TC, RESET, I2C_TIMEOUT_FLAG) == ERROR)
+ if (cnt == 0)
hperh->error_code |= I2C_ERROR_TIMEOUT;
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
@@ -2579,9 +2591,16 @@ static void i2c_dma_mem_send_cplt(void *argv)
*/
static void i2c_dma_mem_recv_cplt(void *argv)
{
+ uint32_t cnt = 0xFFFFF;
+
i2c_handle_t* hperh = (i2c_handle_t*)argv;
- if (i2c_wait_flag_change_to_timeout(hperh, I2C_STAT_TC, RESET, I2C_TIMEOUT_FLAG) == OK)
+ while (cnt--) {
+ if ((hperh->perh->STAT & I2C_STAT_TC) != 0)
+ break;
+ }
+
+ if (cnt == 0)
hperh->error_code |= I2C_ERROR_TIMEOUT;
SET_BIT(hperh->perh->CON2, I2C_CON2_STOP_MSK);
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2s.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2s.c
index c018037845..89e62994f2 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2s.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_i2s.c
@@ -14,6 +14,9 @@
* @date 13 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 13 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -30,8 +33,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
@verbatim
==============================================================================
##### How to use this driver #####
@@ -67,9 +69,7 @@
* @endverbatim
*/
-#include "ald_i2s.h"
-#include "ald_cmu.h"
-
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_iap.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_iap.c
index a2265bc1dc..4ce975cef3 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_iap.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_iap.c
@@ -8,6 +8,9 @@
* @date 04 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_iap.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nand.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nand.c
index e1eb56e6b9..45ecc6e9d1 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nand.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nand.c
@@ -5,9 +5,12 @@
* @brief NAND module driver.
*
* @version V1.0
- * @date 18 March 2019
+ * @date 18 Mar 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 18 Mar 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,8 +27,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### How to use this driver #####
@@ -54,7 +56,7 @@
******************************************************************************
*/
-#include "ald_nand.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
@@ -305,7 +307,8 @@ ald_status_t ald_nand_read_page_8b(nand_handle_t *hperh, nand_address_t *addr, u
*(__IO uint8_t *)((uint32_t)(deviceaddr | CMD_AREA)) = ((uint8_t)0x00);
}
- ald_delay_us(25); /*��ʱ25us,nand flash �ֲ��е����ֵ*/
+ /*延时25us,nand flash 手册中的最大值*/
+ ald_delay_us(25);
/* Get Data into Buffer */
for (; index < size; index++) {
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nor_lcd.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nor_lcd.c
index ca28cbf091..5ad3ee3509 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nor_lcd.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_nor_lcd.c
@@ -8,6 +8,9 @@
* @date 25 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_nor_lcd.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pis.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pis.c
index ff8c2e061e..e569fc5f7c 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pis.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pis.c
@@ -8,6 +8,9 @@
* @date 27 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 27 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_pis.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pmu.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pmu.c
index 0d411b0bbd..be1f6f87b1 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pmu.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_pmu.c
@@ -8,6 +8,9 @@
* @date 04 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,12 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_pmu.h"
-#include "ald_bkpc.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_qspi.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_qspi.c
index fb626b0d5b..d4ad0f2345 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_qspi.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_qspi.c
@@ -8,6 +8,9 @@
* @date 09 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 09 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,10 +27,9 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_qspi.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
@@ -106,15 +108,13 @@ void ald_qspi_init(qspi_handle_t *hperh)
assert_param(IS_QSPI_CLOCK_PRESCALER(hperh->init.clkdiv));
assert_param(IS_QSPI_CLOCK_PHASE(hperh->init.chpa));
assert_param(IS_QSPI_CLOCK_POLARITY(hperh->init.cpol));
-
+
MODIFY_REG(hperh->perh->CR, QSPI_CR_BAUD_MSK | QSPI_CR_CPOL_MSK | QSPI_CR_CPHA_MSK | \
QSPI_CR_PSL_MSK | QSPI_CR_SWPP_MSK , (hperh->init.clkdiv << QSPI_CR_BAUD_POSS) | \
(hperh->init.cpol << QSPI_CR_CPOL_POS) | \
(hperh->init.chpa << QSPI_CR_CPHA_POS) | \
(hperh->init.chipsel << QSPI_CR_PSL_POSS) | \
(hperh->init.wrppin << QSPI_CR_SWPP_POS));
-
- return;
}
/**
@@ -329,7 +329,7 @@ ald_status_t qspi_dac_config(qspi_handle_t * hperh, qspi_dac_cfg_t * dcfg)
return ERROR;
if (ald_qspi_read_config(hperh, &dcfg->rdinit) != OK)
return ERROR;
-
+
if (dcfg->addrremap)
MODIFY_REG(hperh->perh->RAR, QSPI_RAR_READDR_MSK, dcfg->remapaddr);
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rmu.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rmu.c
index 55869f621b..38134a662f 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rmu.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rmu.c
@@ -8,6 +8,9 @@
* @date 04 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 04 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,12 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_rmu.h"
-#include "ald_syscfg.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtc.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtc.c
index baf3e5d205..65e9cfda59 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtc.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtc.c
@@ -15,6 +15,10 @@
* @version V1.0
* @date 25 Apr 2019
* @author AE Team
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Apr 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -31,8 +35,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### How to use this driver #####
@@ -130,10 +133,7 @@
******************************************************************************
*/
-#include "ald_rtc.h"
-#include "ald_bkpc.h"
-#include "ald_tsense.h"
-#include "ald_syscfg.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
@@ -1171,7 +1171,7 @@ flag_status_t ald_rtc_get_flag_status(rtc_flag_t flag)
{
assert_param(IS_RTC_IF(flag));
- if (READ_BIT(RTC->IFR, flag))
+ if ((READ_BIT(RTC->IER, flag)) && (READ_BIT(RTC->ISR, flag)))
return SET;
return RESET;
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtchw.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtchw.c
index 684e1eb5e8..64e9179287 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtchw.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_rtchw.c
@@ -8,6 +8,10 @@
* @version V1.0
* @date 25 Apr 2019
* @author AE Team
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Apr 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +28,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- ********************************************************************************
+ **********************************************************************************
*/
-#include "ald_rtchw.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_spi.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_spi.c
index 470167d65e..594389db4f 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_spi.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_spi.c
@@ -14,6 +14,9 @@
* @date 13 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 13 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -30,8 +33,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
@verbatim
==============================================================================
##### How to use this driver #####
@@ -70,7 +72,7 @@
* @endverbatim
*/
-#include "ald_spi.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
@@ -144,6 +146,7 @@ static void spi_dma_send_recv_cplt(void *arg);
*/
void ald_spi_reset(spi_handle_t *hperh)
{
+ SPI_DISABLE(hperh);
hperh->perh->CON1 = 0x0;
hperh->perh->CON2 = 0x0;
hperh->perh->CRCPOLY = 0x00000007;
@@ -292,7 +295,7 @@ int32_t ald_spi_send_byte_fast(spi_handle_t *hperh, uint8_t data)
int32_t ald_spi_send_byte_fast_1line(spi_handle_t *hperh, uint8_t data)
{
uint16_t cnt = 5000;
-
+
while(hperh->perh->STAT & SPI_STAT_TXF_MSK);
hperh->perh->DATA = data;
while (((hperh->perh->STAT & SPI_STAT_TXE_MSK) == 0) && (--cnt));
@@ -979,6 +982,23 @@ ald_status_t ald_spi_send_recv_by_it(spi_handle_t *hperh, uint8_t *tx_buf, uint8
if (tx_buf == NULL || rx_buf == NULL || size == 0)
return ERROR;
+ if (hperh->init.mode == SPI_MODE_SLAVER) {
+ if ((spi_get_status(hperh, SPI_STATUS_TXE) == RESET) || (spi_get_status(hperh, SPI_STATUS_RXE) == RESET)) {
+
+ if (hperh->perh == SPI0)
+ ald_rmu_reset_periperal(RMU_PERH_SPI0);
+ else if (hperh->perh == SPI1)
+ ald_rmu_reset_periperal(RMU_PERH_SPI1);
+ else if (hperh->perh == SPI2)
+ ald_rmu_reset_periperal(RMU_PERH_SPI2);
+ else
+ return ERROR;
+
+ ald_spi_reset(hperh);
+ ald_spi_init(hperh);
+ }
+ }
+
__LOCK(hperh);
hperh->state = SPI_STATE_BUSY_TX_RX;
hperh->err_code = SPI_ERROR_NONE;
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_sram.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_sram.c
index 384175d117..6eaf9fc326 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_sram.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_sram.c
@@ -8,6 +8,9 @@
* @date 25 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,10 +27,9 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_sram.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_timer.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_timer.c
index 49c6be5d1c..1101e8f283 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_timer.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_timer.c
@@ -9,6 +9,9 @@
* @date 06 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 06 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -25,13 +28,11 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#include <string.h>
-#include "ald_timer.h"
-#include "ald_cmu.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_trng.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_trng.c
index 54496cec18..e524dafc8d 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_trng.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_trng.c
@@ -8,6 +8,9 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,11 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_trng.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_tsense.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_tsense.c
index 90c341c864..30b643076b 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_tsense.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_tsense.c
@@ -8,6 +8,9 @@
* @date 26 Jun 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 26 Jun 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,12 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_tsense.h"
-#include "ald_bkpc.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_uart.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_uart.c
index 44327be3f7..e7f2970724 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_uart.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_uart.c
@@ -14,6 +14,9 @@
* @date 21 Nov 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 21 Nov 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -30,8 +33,7 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
* @verbatim
==============================================================================
##### How to use this driver #####
@@ -100,8 +102,7 @@
******************************************************************************
*/
-#include "ald_uart.h"
-#include "ald_cmu.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
@@ -541,7 +542,6 @@ ald_status_t ald_uart_send(uart_handle_t *hperh, uint8_t *buf, uint16_t size, ui
hperh->state = UART_STATE_READY;
return TIMEOUT;
}
-
while(hperh->perh->STAT & (0x1 << 17));
hperh->perh->TXBUF = (*buf++ & 0xFF);
hperh->tx_count++;
@@ -669,7 +669,6 @@ ald_status_t ald_uart_send_n_lock(uart_handle_t *hperh, uint8_t *buf, uint16_t s
hperh->state = UART_STATE_READY;
return TIMEOUT;
}
-
while(hperh->perh->STAT & (0x1 << 17));
hperh->perh->TXBUF = (*buf++ & 0xFF);
hperh->tx_count++;
@@ -1376,7 +1375,6 @@ ald_status_t ald_uart_rs485_send_addr(uart_handle_t *hperh, uint16_t addr, uint3
hperh->state = UART_STATE_READY;
return TIMEOUT;
}
-
while(hperh->perh->STAT & (0x1 << 17));
WRITE_REG(hperh->perh->TXBUF, (addr | 0x100));
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_usb.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_usb.c
index 3524853e37..01579330e2 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_usb.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_usb.c
@@ -8,6 +8,9 @@
* @date 25 Dec 2019
* @author AE Team
* @note
+ * Change Logs:
+ * Date Author Notes
+ * 25 Dec 2019 AE Team The first version
*
* Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
*
@@ -24,12 +27,10 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
-#include "ald_usb.h"
-#include "ald_syscfg.h"
+#include "ald_conf.h"
/** @addtogroup ES32FXXX_ALD
* @{
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_wdt.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_wdt.c
index 23121c0f4a..8bf1bc2cf6 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_wdt.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/ald_wdt.c
@@ -7,29 +7,29 @@
* @version V1.0
* @date 18 Dec 2019
* @author AE Team
- * @note
- *
- * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *********************************************************************************
+ * @note
+ * Change Logs:
+ * Date Author Notes
+ * 18 Dec 2019 AE Team The first version
+ *
+ * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ **********************************************************************************
*/
#include "ald_conf.h"
-#include "ald_wdt.h"
-
/** @addtogroup ES32FXXX_ALD
* @{
@@ -130,7 +130,7 @@ void ald_wwdt_feed_dog(void)
WRITE_REG(WWDT->INTCLR, 0x1);
WWDT_LOCK();
for (i = 0; i < 0x2ff; ++i)
- __nop();
+ __NOP();
return;
}
diff --git a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/utils.c b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/utils.c
index 5257df3beb..474dc1c427 100644
--- a/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/utils.c
+++ b/bsp/essemi/es32f369x/libraries/ES32F36xx_ALD_StdPeriph_Driver/Source/utils.c
@@ -28,16 +28,11 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
- *********************************************************************************
+ **********************************************************************************
*/
#include <string.h>
-#include "utils.h"
-#include "ald_dma.h"
-#include "ald_cmu.h"
-#include "ald_iap.h"
-
+#include "ald_conf.h"
/** @defgroup ES32FXXX_ALD EASTSOFT ES32F3xx ALD
* @brief Shanghai Eastsoft Microelectronics Cortex-M Chip Abstraction Layer Driver(ALD)
@@ -253,9 +248,9 @@ __weak uint32_t ald_get_tick(void)
{
return lib_tick;
}
-
+
/**
- * @brief This function provides accurate delay (in milliseconds) based
+ * @brief This function provides accurate delay (in microseconds) based
* on variable incremented.
* @note In the default implementation, SysTick timer is the source of time base.
* It is used to generate interrupts at regular time intervals where lib_tick
diff --git a/bsp/essemi/es32f369x/libraries/SConscript b/bsp/essemi/es32f369x/libraries/SConscript
index f52de2055d..4cdef5ad4f 100644
--- a/bsp/essemi/es32f369x/libraries/SConscript
+++ b/bsp/essemi/es32f369x/libraries/SConscript
@@ -12,7 +12,7 @@ src += Glob('ES32F36xx_ALD_StdPeriph_Driver/Source/*.c')
#add for startup script
if rtconfig.CROSS_TOOL == 'gcc':
- src = src + ['CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.s']
+ src = src + ['CMSIS/Device/EastSoft/ES32F36xx/Startup/gcc/startup_es32f36xx.S']
elif rtconfig.CROSS_TOOL == 'keil':
src = src + ['CMSIS/Device/EastSoft/ES32F36xx/Startup/keil/startup_es32f36xx.s']
elif rtconfig.CROSS_TOOL == 'iar':