[1/25] Building C object HAL/CMakeFiles/hal.dir/Src/hal_delay.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/hal_delay.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/hal_delay.c.obj -MF HAL\CMakeFiles\hal.dir\Src\hal_delay.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/hal_delay.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_delay.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_delay.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_delay.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[2/25] Building C object HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4.c.obj -MF HAL\CMakeFiles\hal.dir\Src\arch\stm32f4\hal_stm32f4.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[3/25] Building C object HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_delay.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_delay.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_delay.c.obj -MF HAL\CMakeFiles\hal.dir\Src\arch\stm32f4\hal_stm32f4_delay.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_delay.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_delay.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_delay.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_delay.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[4/25] Building C object HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_gpio.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_gpio.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_gpio.c.obj -MF HAL\CMakeFiles\hal.dir\Src\arch\stm32f4\hal_stm32f4_gpio.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_gpio.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_gpio.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_gpio.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_gpio.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[5/25] Building C object HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_uart.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_uart.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_uart.c.obj -MF HAL\CMakeFiles\hal.dir\Src\arch\stm32f4\hal_stm32f4_uart.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_uart.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_uart.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_uart.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_uart.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[6/25] Building C object HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_spi.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_spi.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_spi.c.obj -MF HAL\CMakeFiles\hal.dir\Src\arch\stm32f4\hal_stm32f4_spi.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/arch/stm32f4/hal_stm32f4_spi.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_spi.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_spi.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/arch/stm32f4/hal_stm32f4_spi.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[7/25] Building C object Middlewares/logging/CMakeFiles/logging.dir/src/logging.c.obj
FAILED: [code=1] Middlewares/logging/CMakeFiles/logging.dir/src/logging.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe  -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Middlewares/logging/inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT Middlewares/logging/CMakeFiles/logging.dir/src/logging.c.obj -MF Middlewares\logging\CMakeFiles\logging.dir\src\logging.c.obj.d -o Middlewares/logging/CMakeFiles/logging.dir/src/logging.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Middlewares/logging/src/logging.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc/uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Middlewares/logging/src/logging.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:14:10: fatal error: stm32f4xx_hal.h: No such file or directory
   14 | #include "stm32f4xx_hal.h"
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
[8/25] Building C object HAL/CMakeFiles/hal.dir/Src/hal_gpio.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/hal_gpio.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/hal_gpio.c.obj -MF HAL\CMakeFiles\hal.dir\Src\hal_gpio.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/hal_gpio.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:17:1: error: unknown type name 'hal_status_t'
   17 | hal_status_t hal_gpio_init(void) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:39:1: error: unknown type name 'hal_status_t'
   39 | hal_status_t hal_gpio_configure_pin(const hal_gpio_config_t *config) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c: In function 'hal_gpio_configure_pin':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:41:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   41 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:41:16: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:67:1: error: unknown type name 'hal_status_t'
   67 | hal_status_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c: In function 'hal_gpio_write_pin':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:70:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   70 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:95:1: error: unknown type name 'hal_status_t'
   95 | hal_status_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c: In function 'hal_gpio_toggle_pin':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_gpio.c:98:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   98 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
[9/25] Building C object BSP/CMakeFiles/bsp.dir/Src/bsp_init.c.obj
FAILED: [code=1] BSP/CMakeFiles/bsp.dir/Src/bsp_init.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/w25qxx/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/delay/inc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT BSP/CMakeFiles/bsp.dir/Src/bsp_init.c.obj -MF BSP\CMakeFiles\bsp.dir\Src\bsp_init.c.obj.d -o BSP/CMakeFiles/bsp.dir/Src/bsp_init.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_init.h:13,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_init.h:13,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c: In function 'bsp_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:29:16: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   29 |     if (status != HAL_OK) {
      |                ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:36:49: error: 'bsp_board_config_t' has no member named 'led_init'
   36 |     if (board_config->led.enable && board_config->led_init != NULL) {
      |                                                 ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:37:30: error: 'bsp_board_config_t' has no member named 'led_init'
   37 |         status = board_config->led_init(&board_config->led);
      |                              ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:38:20: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   38 |         if (status != HAL_OK) {
      |                    ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:51:20: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   51 |         if (status != HAL_OK) {
      |                    ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:57:53: error: 'bsp_board_config_t' has no member named 'button_init'
   57 |     if (board_config->buttons.enable && board_config->button_init != NULL) {
      |                                                     ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:58:30: error: 'bsp_board_config_t' has no member named 'button_init'
   58 |         status = board_config->button_init(&board_config->buttons);
      |                              ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:59:20: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   59 |         if (status != HAL_OK) {
      |                    ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:69:28: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   69 |                 if (status != HAL_OK) {
      |                            ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:81:28: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   81 |                 if (status != HAL_OK) {
      |                            ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:93:28: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   93 |                 if (status != HAL_OK) {
      |                            ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:105:28: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  105 |                 if (status != HAL_OK) {
      |                            ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:117:28: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  117 |                 if (status != HAL_OK) {
      |                            ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:127:20: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  127 |         if (status != HAL_OK) {
      |                    ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c: In function 'bsp_gpio_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:155:20: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  155 |         if (status != HAL_OK) {
      |                    ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:172:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  172 |             if (status != HAL_OK) {
      |                        ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:190:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  190 |             if (status != HAL_OK) {
      |                        ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:201:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  201 |             if (status != HAL_OK) {
      |                        ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:219:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  219 |             if (status != HAL_OK) {
      |                        ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:230:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  230 |             if (status != HAL_OK) {
      |                        ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_init.c:241:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  241 |             if (status != HAL_OK) {
      |                        ^~
[10/25] Building C object BSP/CMakeFiles/bsp.dir/Src/bsp_board_manager.c.obj
FAILED: [code=1] BSP/CMakeFiles/bsp.dir/Src/bsp_board_manager.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/w25qxx/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/delay/inc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT BSP/CMakeFiles/bsp.dir/Src/bsp_board_manager.c.obj -MF BSP\CMakeFiles\bsp.dir\Src\bsp_board_manager.c.obj.d -o BSP/CMakeFiles/bsp.dir/Src/bsp_board_manager.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_board_manager.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board_manager.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_board_manager.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board_manager.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_board_manager.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[11/25] Building C object Modules/uart/CMakeFiles/uart.dir/src/uart.c.obj
FAILED: [code=1] Modules/uart/CMakeFiles/uart.dir/src/uart.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT Modules/uart/CMakeFiles/uart.dir/src/uart.c.obj -MF Modules\uart\CMakeFiles\uart.dir\src\uart.c.obj.d -o Modules/uart/CMakeFiles/uart.dir/src/uart.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc/uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc/uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:10:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:92:36: error: unknown type name 'hal_uart_config_t'
   92 | void hal_stm32f4_uart_config(const hal_uart_config_t *config);
      |                                    ^~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:100:28: error: unknown type name 'hal_uart_instance_t'
  100 | void hal_stm32f4_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      |                            ^~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:109:33: error: unknown type name 'hal_uart_instance_t'
  109 | size_t hal_stm32f4_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length);
      |                                 ^~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:116:38: error: unknown type name 'hal_uart_instance_t'
  116 | uint8_t hal_stm32f4_uart_is_tx_ready(hal_uart_instance_t instance);
      |                                      ^~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:123:38: error: unknown type name 'hal_uart_instance_t'
  123 | uint8_t hal_stm32f4_uart_is_rx_ready(hal_uart_instance_t instance);
      |                                      ^~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c: In function 'uart_receive':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:88:12: error: too few arguments to function 'hal_uart_receive'
   88 |     return hal_uart_receive(uart.config.instance, data, length);
      |            ^~~~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc/uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:10:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_uart.h:96:11: note: declared here
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      |           ^~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c: In function 'uart_is_tx_ready':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:96:12: error: too few arguments to function 'hal_uart_is_tx_ready'
   96 |     return hal_uart_is_tx_ready(uart.config.instance);
      |            ^~~~~~~~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc/uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:10:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_uart.h:104:11: note: declared here
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      |           ^~~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c: In function 'uart_is_rx_ready':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:104:12: error: too few arguments to function 'hal_uart_is_rx_ready'
  104 |     return hal_uart_is_rx_ready(uart.config.instance);
      |            ^~~~~~~~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/inc/uart.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:10:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_uart.h:112:11: note: declared here
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      |           ^~~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c: In function 'uart_receive':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:89:1: warning: control reaches end of non-void function [-Wreturn-type]
   89 | }
      | ^
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c: In function 'uart_is_tx_ready':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:97:1: warning: control reaches end of non-void function [-Wreturn-type]
   97 | }
      | ^
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c: In function 'uart_is_rx_ready':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/uart/src/uart.c:105:1: warning: control reaches end of non-void function [-Wreturn-type]
  105 | }
      | ^
[12/25] Building C object BSP/CMakeFiles/bsp.dir/Src/bsp_key.c.obj
FAILED: [code=1] BSP/CMakeFiles/bsp.dir/Src/bsp_key.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/w25qxx/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/delay/inc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT BSP/CMakeFiles/bsp.dir/Src/bsp_key.c.obj -MF BSP\CMakeFiles\bsp.dir\Src\bsp_key.c.obj.d -o BSP/CMakeFiles/bsp.dir/Src/bsp_key.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_module.h:13,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_config.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c:11:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_module.h:13,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_config.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c:11:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_config.h:174:36: error: unknown type name 'bsp_board_config_t'; did you mean 'bsp_module_config_t'?
  174 | hal_ret_t bsp_config_parse_modules(bsp_board_config_t* config);
      |                                    ^~~~~~~~~~~~~~~~~~
      |                                    bsp_module_config_t
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c: In function 'bsp_key_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c:159:37: error: 'bsp_board_config_t' has no member named 'button_init'
  159 |     if (board_config && board_config->button_init) {
      |                                     ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_key.c:160:21: error: 'bsp_board_config_t' has no member named 'button_init'
  160 |         board_config->button_init(&board_config->buttons);
      |                     ^~
[13/25] Building C object HAL/CMakeFiles/hal.dir/Src/hal_uart.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/hal_uart.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/hal_uart.c.obj -MF HAL\CMakeFiles\hal.dir\Src\hal_uart.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/hal_uart.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:17:1: error: unknown type name 'hal_status_t'
   17 | hal_status_t hal_uart_init(void) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:39:1: error: unknown type name 'hal_status_t'
   39 | hal_status_t hal_uart_config(const hal_uart_config_t *config) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: In function 'hal_uart_config':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:41:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   41 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:41:16: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:71:1: error: unknown type name 'hal_status_t'
   71 | hal_status_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: In function 'hal_uart_send':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:73:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   73 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:104:1: error: unknown type name 'hal_status_t'
  104 | hal_status_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: In function 'hal_uart_receive':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:106:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  106 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:135:1: error: unknown type name 'hal_status_t'
  135 | hal_status_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: In function 'hal_uart_is_tx_ready':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:137:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  137 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:166:1: error: unknown type name 'hal_status_t'
  166 | hal_status_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c: In function 'hal_uart_is_rx_ready':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_uart.c:168:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  168 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
[14/25] Building C object BSP/CMakeFiles/bsp.dir/Src/bsp_w25qxx.c.obj
FAILED: [code=1] BSP/CMakeFiles/bsp.dir/Src/bsp_w25qxx.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/w25qxx/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/delay/inc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT BSP/CMakeFiles/bsp.dir/Src/bsp_w25qxx.c.obj -MF BSP\CMakeFiles\bsp.dir\Src\bsp_w25qxx.c.obj.d -o BSP/CMakeFiles/bsp.dir/Src/bsp_w25qxx.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_w25qxx.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:16,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_w25qxx.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_w25qxx.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:16,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_w25qxx.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/bsp_w25qxx.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
[15/25] Building C object HAL/CMakeFiles/hal.dir/Src/hal.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/hal.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/hal.c.obj -MF HAL\CMakeFiles\hal.dir\Src\hal.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/hal.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:41:16: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   41 |     if (status != HAL_OK) {
      |                ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:59:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
   59 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_module_register':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:73:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   73 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:73:16: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:85:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
   85 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_module_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:96:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   96 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:104:24: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  104 |     if (handle->status == HAL_PERIPH_STATE_RESET) {
      |                        ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:106:24: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  106 |         handle->status = HAL_PERIPH_STATE_READY;
      |                        ^
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_module_deinit':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:120:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  120 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:124:16: error: 'HAL_NOT_SUPPORTED' undeclared (first use in this function); did you mean 'HAL_RET_NOT_SUPPORTED'?
  124 |         return HAL_NOT_SUPPORTED;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_NOT_SUPPORTED
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:128:16: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
  128 |     if (status == HAL_OK) {
      |                ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:129:24: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  129 |         handle->status = HAL_PERIPH_STATE_RESET;
      |                        ^
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_module_configure':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:144:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  144 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:148:16: error: 'HAL_NOT_SUPPORTED' undeclared (first use in this function); did you mean 'HAL_RET_NOT_SUPPORTED'?
  148 |         return HAL_NOT_SUPPORTED;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_NOT_SUPPORTED
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_module_control':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:164:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  164 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:168:16: error: 'HAL_NOT_SUPPORTED' undeclared (first use in this function); did you mean 'HAL_RET_NOT_SUPPORTED'?
  168 |         return HAL_NOT_SUPPORTED;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_NOT_SUPPORTED
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_module_get_status':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:183:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  183 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:187:16: error: 'HAL_NOT_SUPPORTED' undeclared (first use in this function); did you mean 'HAL_RET_NOT_SUPPORTED'?
  187 |         return HAL_NOT_SUPPORTED;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_NOT_SUPPORTED
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_get_version':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:215:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  215 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:222:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  222 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_error_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:267:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  267 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_error_deinit':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:277:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  277 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_error_register_callback':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:287:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  287 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_error_record':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:297:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  297 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:301:16: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  301 |         return HAL_OK;
      |                ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:313:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  313 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_error_clear':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:339:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  339 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c: In function 'hal_error_enable':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal.c:349:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  349 |     return HAL_OK;
      |            ^~~~~~
[16/25] Building C object BSP/CMakeFiles/bsp.dir/Src/stm32f407vet6_board.c.obj
FAILED: [code=1] BSP/CMakeFiles/bsp.dir/Src/stm32f407vet6_board.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/w25qxx/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/delay/inc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT BSP/CMakeFiles/bsp.dir/Src/stm32f407vet6_board.c.obj -MF BSP\CMakeFiles\bsp.dir\Src\stm32f407vet6_board.c.obj.d -o BSP/CMakeFiles/bsp.dir/Src/stm32f407vet6_board.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Inc/bsp_board.h:14,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c: In function 'default_button_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:53:20: warning: comparison between 'hal_ret_t' and 'enum <anonymous>' [-Wenum-compare]
   53 |         if (status != HAL_OK) {
      |                    ^~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c: In function 'default_i2c_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:103:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  103 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:101:47: warning: unused parameter 'config' [-Wunused-parameter]
  101 | static hal_ret_t default_i2c_init(const void* config) {
      |                                   ~~~~~~~~~~~~^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c: In function 'default_can_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:113:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  113 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:111:47: warning: unused parameter 'config' [-Wunused-parameter]
  111 | static hal_ret_t default_can_init(const void* config) {
      |                                   ~~~~~~~~~~~~^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c: In function 'default_adc_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:123:12: warning: implicit conversion from 'enum <anonymous>' to 'hal_ret_t' [-Wenum-conversion]
  123 |     return HAL_OK;
      |            ^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:121:47: warning: unused parameter 'config' [-Wunused-parameter]
  121 | static hal_ret_t default_adc_init(const void* config) {
      |                                   ~~~~~~~~~~~~^~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c: In function 'default_w25qxx_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/BSP/Src/stm32f407vet6_board.c:133:5: error: unknown type name 'hal_status_t'
  133 |     hal_status_t status = HAL_OK;
      |     ^~~~~~~~~~~~
[17/25] Building C object HAL/CMakeFiles/hal.dir/Src/hal_spi.c.obj
FAILED: [code=1] HAL/CMakeFiles/hal.dir/Src/hal_spi.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT HAL/CMakeFiles/hal.dir/Src/hal_spi.c.obj -MF HAL\CMakeFiles\hal.dir\Src\hal_spi.c.obj.d -o HAL/CMakeFiles/hal.dir/Src/hal_spi.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:17,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_gpio_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:119:1: error: unknown type name 'hal_ret_t'
  119 | hal_ret_t hal_gpio_configure_pin(const hal_gpio_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:128:1: error: unknown type name 'hal_ret_t'
  128 | hal_ret_t hal_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_gpio.h:136:1: error: unknown type name 'hal_ret_t'
  136 | hal_ret_t hal_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:20:1: error: unknown type name 'hal_status_t'
   20 | hal_status_t hal_spi_init(hal_spi_instance_t instance, const hal_spi_config_t *config) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:20:14: error: conflicting types for 'hal_spi_init'
   20 | hal_status_t hal_spi_init(hal_spi_instance_t instance, const hal_spi_config_t *config) {
      |              ^~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:81:11: note: previous declaration of 'hal_spi_init' was here
   81 | hal_ret_t hal_spi_init(hal_spi_instance_t instance, const hal_spi_config_t *config);
      |           ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: In function 'hal_spi_init':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:22:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   22 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:22:16: note: each undeclared identifier is reported only once for each function it appears in
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:49:1: error: unknown type name 'hal_status_t'
   49 | hal_status_t hal_spi_deinit(hal_spi_instance_t instance) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:49:14: error: conflicting types for 'hal_spi_deinit'
   49 | hal_status_t hal_spi_deinit(hal_spi_instance_t instance) {
      |              ^~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:88:11: note: previous declaration of 'hal_spi_deinit' was here
   88 | hal_ret_t hal_spi_deinit(hal_spi_instance_t instance);
      |           ^~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: In function 'hal_spi_deinit':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:51:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   51 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:76:1: error: unknown type name 'hal_status_t'
   76 | hal_status_t hal_spi_transmit(hal_spi_instance_t instance, const uint8_t *p_data, uint16_t size) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:76:14: error: conflicting types for 'hal_spi_transmit'
   76 | hal_status_t hal_spi_transmit(hal_spi_instance_t instance, const uint8_t *p_data, uint16_t size) {
      |              ^~~~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:97:11: note: previous declaration of 'hal_spi_transmit' was here
   97 | hal_ret_t hal_spi_transmit(hal_spi_instance_t instance, const uint8_t *data, uint16_t size);
      |           ^~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: In function 'hal_spi_transmit':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:78:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
   78 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:107:1: error: unknown type name 'hal_status_t'
  107 | hal_status_t hal_spi_receive(hal_spi_instance_t instance, uint8_t *p_data, uint16_t size) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:107:14: error: conflicting types for 'hal_spi_receive'
  107 | hal_status_t hal_spi_receive(hal_spi_instance_t instance, uint8_t *p_data, uint16_t size) {
      |              ^~~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:106:11: note: previous declaration of 'hal_spi_receive' was here
  106 | hal_ret_t hal_spi_receive(hal_spi_instance_t instance, uint8_t *data, uint16_t size);
      |           ^~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: In function 'hal_spi_receive':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:109:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  109 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: At top level:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:139:1: error: unknown type name 'hal_status_t'
  139 | hal_status_t hal_spi_transmit_receive(hal_spi_instance_t instance, const uint8_t *p_tx_data, uint8_t *p_rx_data, uint16_t size) {
      | ^~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:139:14: error: conflicting types for 'hal_spi_transmit_receive'
  139 | hal_status_t hal_spi_transmit_receive(hal_spi_instance_t instance, const uint8_t *p_tx_data, uint8_t *p_rx_data, uint16_t size) {
      |              ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:11:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_spi.h:116:11: note: previous declaration of 'hal_spi_transmit_receive' was here
  116 | hal_ret_t hal_spi_transmit_receive(hal_spi_instance_t instance, const uint8_t *tx_data, uint8_t *rx_data, uint16_t size);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c: In function 'hal_spi_transmit_receive':
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Src/hal_spi.c:141:16: error: 'HAL_INVALID_PARAM' undeclared (first use in this function); did you mean 'HAL_RET_INVALID_PARAM'?
  141 |         return HAL_INVALID_PARAM;
      |                ^~~~~~~~~~~~~~~~~
      |                HAL_RET_INVALID_PARAM
[18/25] Building C object Modules/led/CMakeFiles/led.dir/src/led.c.obj
FAILED: [code=1] Modules/led/CMakeFiles/led.dir/src/led.c.obj 
D:\ARM_GCC\bin\arm-none-eabi-gcc.exe -DDEBUG -DSTM32F407xx -DUSE_HAL_DRIVER -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/led/inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Core/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Drivers/CMSIS/Include -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc -IC:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4 -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard  -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 -MD -MT Modules/led/CMakeFiles/led.dir/src/led.c.obj -MF Modules\led\CMakeFiles\led.dir\src\led.c.obj.d -o Modules/led/CMakeFiles/led.dir/src/led.c.obj -c C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/led/src/led.c
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:18,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_gpio.h:13,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/led/inc/led.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/led/src/led.c:10:
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:70:1: error: unknown type name 'hal_ret_t'
   70 | hal_ret_t hal_uart_init(void);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:77:1: error: unknown type name 'hal_ret_t'
   77 | hal_ret_t hal_uart_config(const hal_uart_config_t *config);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:86:1: error: unknown type name 'hal_ret_t'
   86 | hal_ret_t hal_uart_send(hal_uart_instance_t instance, const uint8_t *data, size_t length);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:96:1: error: unknown type name 'hal_ret_t'
   96 | hal_ret_t hal_uart_receive(hal_uart_instance_t instance, uint8_t *data, size_t length, size_t *received);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:104:1: error: unknown type name 'hal_ret_t'
  104 | hal_ret_t hal_uart_is_tx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
c:\users\zhizhankeji\downloads\stm32f407vet6_cmake-main\stm32f407vet6_cmake-main\stm32f407vet6_cmake\hal\inc\hal_uart.h:112:1: error: unknown type name 'hal_ret_t'
  112 | hal_ret_t hal_uart_is_rx_ready(hal_uart_instance_t instance, uint8_t *ready);
      | ^~~~~~~~~
In file included from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal.h:36,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/hal_gpio.h:13,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/led/inc/led.h:15,
                 from C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/Modules/led/src/led.c:10:
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:58:43: error: unknown type name 'hal_gpio_config_t'
   58 | void hal_stm32f4_gpio_configure_pin(const hal_gpio_config_t *config);
      |                                           ^~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:66:33: error: unknown type name 'hal_gpio_port_t'
   66 | void hal_stm32f4_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      |                                 ^~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:66:55: error: unknown type name 'hal_gpio_pin_t'
   66 | void hal_stm32f4_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      |                                                       ^~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:66:75: error: unknown type name 'hal_gpio_pin_state_t'
   66 | void hal_stm32f4_gpio_write_pin(hal_gpio_port_t port, hal_gpio_pin_t pin, hal_gpio_pin_state_t state);
      |                                                                           ^~~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:73:34: error: unknown type name 'hal_gpio_port_t'
   73 | void hal_stm32f4_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      |                                  ^~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:73:56: error: unknown type name 'hal_gpio_pin_t'
   73 | void hal_stm32f4_gpio_toggle_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      |                                                        ^~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:81:1: error: unknown type name 'hal_gpio_pin_state_t'
   81 | hal_gpio_pin_state_t hal_stm32f4_gpio_read_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      | ^~~~~~~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:81:48: error: unknown type name 'hal_gpio_port_t'
   81 | hal_gpio_pin_state_t hal_stm32f4_gpio_read_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      |                                                ^~~~~~~~~~~~~~~
C:/Users/ZHIZHANKEJI/Downloads/stm32f407vet6_cmake-main/stm32f407vet6_cmake-main/stm32f407vet6_cmake/HAL/Inc/arch/stm32f4/hal_stm32f4.h:81:70: error: unknown type name 'hal_gpio_pin_t'
   81 | hal_gpio_pin_state_t hal_stm32f4_gpio_read_pin(hal_gpio_port_t port, hal_gpio_pin_t pin);
      |                                                                      ^~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
