From 853a9461a051d5d2a84e42cf938e7de5df561336 Mon Sep 17 00:00:00 2001 From: gaoyang3513 Date: Wed, 14 Jun 2023 16:01:34 +0000 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E5=A2=9E=E5=8A=A0CONFIG?= =?UTF-8?q?=5FGY3513=E5=AE=9A=E5=88=B6=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [详细说明] 1. 增加LED任务; 2. 修复LED3配置错误问题; --- CMakeLists.txt | 10 ++++++- NSPE/Utilities/gd32w515p_eval.h | 6 ++-- NSPE/WIFI_IOT/app/CMakeLists.txt | 7 +++++ NSPE/WIFI_IOT/app/main.c | 50 ++++++++++++++++++++++++++++++-- NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c | 1 + 5 files changed, 68 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e533e2..7c1e76b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ project(GD32W51X LANGUAGES C ASM) set(CONFIG_TZ_ENABLED OFF CACHE BOOL "Whether to enable trustzone") set(CONFIG_OS "FREERTOS" CACHE STRING "Select which OS") set(CONFIG_STATIC_LIB_BUILDED ON CACHE BOOL "Whether static lib builded, like wlan, iperf3 lib") +set(CONFIG_GY3513 ON CACHE BOOL "Whether to allow gaoyang3513's modification or not.") include(${CMAKE_TOOLCHAIN_FILE}) toolchain_reload_compiler() @@ -23,6 +24,14 @@ include_directories( ROM-EXPORT/mbedtls-2.17.0-rom/include ) +if(CONFIG_GY3513) + add_definitions(-DCONFIG_GY3513) + + include_directories( + NSPE/Utilities + ) +endif(CONFIG_GY3513) + if (CONFIG_TZ_ENABLED) add_subdirectory(MBL/source) include_directories(MBL/source) @@ -31,5 +40,4 @@ else() add_subdirectory(MBL/source_ns) endif() - add_subdirectory(NSPE) diff --git a/NSPE/Utilities/gd32w515p_eval.h b/NSPE/Utilities/gd32w515p_eval.h index 95aa2d6..78a6984 100644 --- a/NSPE/Utilities/gd32w515p_eval.h +++ b/NSPE/Utilities/gd32w515p_eval.h @@ -71,9 +71,9 @@ typedef enum #define LED2_GPIO_PORT GPIOA #define LED2_GPIO_CLK RCU_GPIOA -#define LED3_PIN GPIO_PIN_8 -#define LED3_GPIO_PORT GPIOB -#define LED3_GPIO_CLK RCU_GPIOB +#define LED3_PIN GPIO_PIN_6 +#define LED3_GPIO_PORT GPIOA +#define LED3_GPIO_CLK RCU_GPIOA #define COMn 1U #define EVAL_COM0 USART2 diff --git a/NSPE/WIFI_IOT/app/CMakeLists.txt b/NSPE/WIFI_IOT/app/CMakeLists.txt index e7125b0..fbe62c6 100644 --- a/NSPE/WIFI_IOT/app/CMakeLists.txt +++ b/NSPE/WIFI_IOT/app/CMakeLists.txt @@ -32,6 +32,13 @@ target_sources(app ../demo/cmsis_os_demo.c ) +if(CONFIG_GY3513) + target_sources(app + PRIVATE + ../../Utilities/gd32w515p_eval.c + ) +endif(CONFIG_GY3513) + target_link_libraries(app gd32w51x_peripheral_api gd32w51x_wifi_api diff --git a/NSPE/WIFI_IOT/app/main.c b/NSPE/WIFI_IOT/app/main.c index 9ea7006..868cbba 100644 --- a/NSPE/WIFI_IOT/app/main.c +++ b/NSPE/WIFI_IOT/app/main.c @@ -33,6 +33,7 @@ OF SUCH DAMAGE. */ /*============================ INCLUDES ======================================*/ +#include "wrapper_freertos.h" #include "wrapper_os.h" #include "debug_print.h" #include "bsp_inc.h" @@ -48,6 +49,10 @@ OF SUCH DAMAGE. #ifdef CONFIG_FATFS_SUPPORT #include "fatfs.h" #endif +#if defined (CONFIG_GY3513) +#include +#endif // CONFIG_GY3513 + /*============================ MACROS ========================================*/ /*============================ MACRO FUNCTIONS ===============================*/ /*============================ TYPES =========================================*/ @@ -74,6 +79,31 @@ void do_ram_code_copy(void) } #endif +#if defined (CONFIG_GY3513) +static int32_t led_init(void) +{ + gd_eval_led_init(LED1); + gd_eval_led_init(LED2); + gd_eval_led_init(LED3); + + return 0; +} + +void led_task(void *p_arg) +{ + while (1) { + gd_eval_led_toggle(LED1); + sys_ms_sleep(200); + gd_eval_led_toggle(LED2); + sys_ms_sleep(200); + gd_eval_led_toggle(LED3); + sys_ms_sleep(200); + } + + sys_task_delete(NULL); +} +#endif // CONFIG_GY3513 + /*! \brief initialize application \param[in] none @@ -121,7 +151,14 @@ void start_task(void *p_arg) */ int main(void) { +#if defined (CONFIG_GY3513) + TaskHandle_t *stTaskHndl_led = NULL; +#endif // CONFIG_GY3513 + platform_init(); +#if defined (CONFIG_GY3513) + led_init(); +#endif // CONFIG_GY3513 DEBUGPRINT("SDK git revision: "WIFI_GIT_REVISION" \r\n"); DEBUGPRINT("SDK version: V%d.%d.%d\r\n", (RE_NSPE_VERSION >> 24), ((RE_NSPE_VERSION & 0xFF0000) >> 16), (RE_NSPE_VERSION & 0xFFFF)); @@ -129,8 +166,17 @@ int main(void) sys_os_init(); - if (NULL == sys_task_create(NULL, (const uint8_t *)"start_task", NULL, START_TASK_STK_SIZE, 0, - START_TASK_PRIO, start_task, NULL)) { +#if defined (CONFIG_GY3513) + #define LED_TASK_STK_SIZE 256 + #define LED_TASK_PRIO (TASK_PRIO_APP_BASE + TASK_PRIO_HIGHER(1)) + + stTaskHndl_led = sys_task_create(NULL, (const uint8_t *)"led_task", NULL, LED_TASK_STK_SIZE, 0, LED_TASK_PRIO, led_task, NULL); + if (stTaskHndl_led == NULL) { + DEBUG_ERROR("Error, task create failed.\r\n"); + } +#endif // CONFIG_GY3513 + + if (NULL == sys_task_create(NULL, (const uint8_t *)"start_task", NULL, START_TASK_STK_SIZE, 0, START_TASK_PRIO, start_task, NULL)) { DEBUGPRINT("ERROR: create start task failed\r\n"); } diff --git a/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c b/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c index d48813e..726b481 100644 --- a/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c +++ b/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c @@ -735,5 +735,6 @@ void platform_init(void) gdm3210x_fpga_init(); #elif CONFIG_PLATFORM == PLATFORM_ASIC_32W51X gd32w51x_asic_init(); + #endif }