Ver Fonte

bsp架构梳理

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui há 3 anos atrás
pai
commit
64dea2f061
73 ficheiros alterados com 333 adições e 671 exclusões
  1. 1 3
      Applications/app/app.c
  2. 1 2
      Applications/app/factory.c
  3. 1 2
      Applications/app/key_process.c
  4. 1 1
      Applications/app/nv_storage.c
  5. 4 50
      Applications/bsp/bsp.h
  6. 32 0
      Applications/bsp/bsp_driver.h
  7. 1 1
      Applications/bsp/delay.c
  8. 0 73
      Applications/bsp/dma.c
  9. 0 20
      Applications/bsp/dma.h
  10. 0 88
      Applications/bsp/eeprom.c
  11. 0 10
      Applications/bsp/eeprom.h
  12. 1 2
      Applications/bsp/gd32/adc.c
  13. 0 0
      Applications/bsp/gd32/adc.h
  14. 0 0
      Applications/bsp/gd32/board_gd32demo.h
  15. 0 0
      Applications/bsp/gd32/board_mc100_v1.h
  16. 0 0
      Applications/bsp/gd32/board_mc105_v3.h
  17. 0 0
      Applications/bsp/gd32/board_yuanqu.h
  18. 1 3
      Applications/bsp/gd32/bsp.c
  19. 41 0
      Applications/bsp/gd32/bsp.h
  20. 1 2
      Applications/bsp/gd32/can.c
  21. 0 0
      Applications/bsp/gd32/can.h
  22. 1 1
      Applications/bsp/gd32/enc_intf.c
  23. 0 0
      Applications/bsp/gd32/enc_intf.h
  24. 0 0
      Applications/bsp/gd32/fan_pwm.c
  25. 2 0
      Applications/bsp/gd32/fan_pwm.h
  26. 1 1
      Applications/bsp/gd32/fmc_flash.c
  27. 0 0
      Applications/bsp/gd32/fmc_flash.h
  28. 0 0
      Applications/bsp/gd32/gd32_bkp.c
  29. 0 0
      Applications/bsp/gd32/gd32_bkp.h
  30. 1 3
      Applications/bsp/gd32/gd32_rtc.c
  31. 0 0
      Applications/bsp/gd32/gd32_rtc.h
  32. 1 1
      Applications/bsp/gd32/gpio.c
  33. 0 0
      Applications/bsp/gd32/gpio.h
  34. 2 2
      Applications/bsp/gd32/i2c.c
  35. 0 0
      Applications/bsp/gd32/i2c.h
  36. 0 0
      Applications/bsp/gd32/mc_irqs.c
  37. 1 2
      Applications/bsp/gd32/pwm.c
  38. 0 1
      Applications/bsp/gd32/pwm.h
  39. 1 1
      Applications/bsp/gd32/sched_timer.c
  40. 0 0
      Applications/bsp/gd32/sched_timer.h
  41. 0 0
      Applications/bsp/gd32/uart.c
  42. 0 0
      Applications/bsp/gd32/uart.h
  43. 0 105
      Applications/bsp/mc_hall_gpio.c
  44. 0 58
      Applications/bsp/mc_hall_gpio.h
  45. 1 3
      Applications/foc/commands.c
  46. 1 1
      Applications/foc/core/PMSM_FOC_Core.c
  47. 1 1
      Applications/foc/core/adrc.h
  48. 1 1
      Applications/foc/core/foc_observer.c
  49. 1 2
      Applications/foc/motor/current.c
  50. 1 2
      Applications/foc/motor/current_ics.c
  51. 1 2
      Applications/foc/motor/encoder.c
  52. 0 1
      Applications/foc/motor/encoder.h
  53. 1 3
      Applications/foc/motor/hall.c
  54. 1 7
      Applications/foc/motor/motor.c
  55. 1 1
      Applications/foc/ntc.c
  56. 1 3
      Applications/foc/samples.c
  57. 1 1
      Applications/libs/backtrace.c
  58. 0 1
      Applications/libs/byte_queue.h
  59. 1 2
      Applications/libs/logger.c
  60. 1 2
      Applications/libs/time_measure.c
  61. 0 1
      Applications/libs/utils.h
  62. 1 1
      Applications/main.c
  63. 1 1
      Applications/os/os_task.c
  64. 1 1
      Applications/prot/can_message.c
  65. 2 2
      Applications/prot/can_message.h
  66. 1 3
      Applications/prot/can_pc_message.c
  67. 1 1
      Applications/prot/wait_queue.c
  68. 55 0
      Librarys/CMSIS/AT32/system_at32f413.c
  69. 1 1
      Librarys/CMSIS/AT32/system_at32f413.h
  70. 53 65
      Project/MC100.uvoptx
  71. 26 31
      Project/MC100.uvprojx
  72. 56 68
      Project/MC105_V3.uvoptx
  73. 26 31
      Project/MC105_V3.uvprojx

+ 1 - 3
Applications/app/app.c

@@ -1,7 +1,5 @@
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "app/app.h"
-#include "bsp/adc.h"
-#include "bsp/pwm.h"
 #include "os/os_task.h"
 #include "libs/logger.h"
 #include "libs/utils.h"

+ 1 - 2
Applications/app/factory.c

@@ -1,10 +1,9 @@
 #include "factory.h"
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "prot/can_message.h"
 #include "libs/utils.h"
 #include "libs/logger.h"
 #include "os/os_task.h"
-#include "bsp/pwm.h"
 
 static u8 factory_mode = 0;
 

+ 1 - 2
Applications/app/key_process.c

@@ -1,6 +1,5 @@
 #include "os/os_task.h"
-#include "bsp/gpio.h"
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "os/os_task.h"
 #include "libs/logger.h"
 #include "libs/utils.h"

+ 1 - 1
Applications/app/nv_storage.c

@@ -1,5 +1,5 @@
 #include "app/nv_storage.h"
-#include "bsp/fmc_flash.h"
+#include "bsp/bsp_driver.h"
 #include "libs/crc16.h"
 #include "libs/logger.h"
 #include "foc/motor/motor_param.h"

+ 4 - 50
Applications/bsp/bsp.h

@@ -1,34 +1,5 @@
 #ifndef __BSP_H__
 #define __BSP_H__
-#if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
-#include "gd32f30x.h"
-#elif defined GD32E10x
-#include "gd32e10x.h"
-#endif
-#include "bsp/gpio.h"
-#include "bsp/gd32_bkp.h"
-#include "bsp/gd32_rtc.h"
-#include "bsp/can.h"
-#include "bsp/i2c.h"
-#include "bsp/fmc_flash.h"
-#include "bsp/can.h"
-
-#define SYSTEM_CLOCK (120000000u) //system clk 120M Hz
-#define TIM_CLOCK (SYSTEM_CLOCK) /*SystemClock_Config��TIM1��clk��sys PLL �������̶�2����PLLƵ��*/
-#define TIM_CLOCK_MHz (120u)
-#define ADC_CLOCK (30000000u)
-#define ADC_CLOCK_MHz (30u)
-#define NS_PER_TCLK (8u) /* (1/120000000 * 1000000000) */
-#define NS_2_TCLK(ns) (((ns)/NS_PER_TCLK) + 1u) //ns תΪpwmʹ�õ��Ǹ�TIM��clk count
-#define FOC_PWM_FS (16000u)
-#define FOC_PWM_period (TIM_CLOCK/FOC_PWM_FS)
-#define FOC_PWM_Half_Period (FOC_PWM_period/2)
-
-#define FOC_CTRL_US (1.0f/(float)FOC_PWM_FS)
-
-#define ADC_REGCHAN_SAMPLE_TIME ADC_SAMPLETIME_239POINT5
-#define ADC_TRIG_CONV_LATENCY_CYCLES 12.5f
-#define ADC_SAMPLING_CYCLES 13.5f
 
 #define TIMER_UP_IRQ_PRIORITY 0
 #define ADC_IRQ_PRIORITY 1
@@ -59,26 +30,9 @@
 #define MOTOR_BLUESHARK_ZD_100  4//中动100码编码器电机样品
 #define MOTOR_BLUESHARK_A1      5
 
-#ifdef GD32_FOC_DEMO
-#include "bsp/board_gd32demo.h"
-#elif defined (YUANQU_HW_V1)
-#include "bsp/board_yuanqu.h"
-#elif defined (MC100_HW_V1)
-#include "bsp/board_mc100_v1.h"
-#define CONFIG_BOARD_MCXXX
-#define CONFIG_BOARD_NAME "MC100"
-#define CONFIG_HW_VERSION 2
-#elif defined (MC105_HW_V3)
-#include "bsp/board_mc105_v3.h"
-#define CONFIG_BOARD_MCXXX
-#define CONFIG_BOARD_NAME "MC105"
-#define CONFIG_HW_VERSION 3
+#if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
+#include "bsp/gd32/bsp.h"
+#elif defined AT32F413RCT7
+#include "bsp/at32/bsp.h"
 #endif
-void bsp_init(void);
-void wdog_reload(void);
-void system_reboot(void);
-int wdog_set_timeout(int wdog_time);
-void systick_open(void);
-u8 mcu_chip_id(u8 *buff);
-
 #endif /* __BSP_H__ */

+ 32 - 0
Applications/bsp/bsp_driver.h

@@ -0,0 +1,32 @@
+#ifndef __BSP_DRIVER_H__
+#define __BSP_DRIVER_H__
+#if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
+#include "gd32f30x.h"
+#include "bsp/gd32/gpio.h"
+#include "bsp/gd32/gd32_bkp.h"
+#include "bsp/gd32/gd32_rtc.h"
+#include "bsp/gd32/can.h"
+#include "bsp/gd32/i2c.h"
+#include "bsp/gd32/fmc_flash.h"
+#include "bsp/gd32/can.h"
+#include "bsp/gd32/pwm.h"
+#include "bsp/gd32/adc.h"
+#include "bsp/gd32/fan_pwm.h"
+#include "bsp/gd32/enc_intf.h"
+#include "bsp/gd32/sched_timer.h"
+#include "bsp/gd32/uart.h"
+#elif defined GD32E10x
+#include "gd32e10x.h"
+#elif defined AT32F413RCT7
+#include "at32f413.h"
+#endif
+#include "bsp/delay.h"
+
+void bsp_init(void);
+void wdog_reload(void);
+void system_reboot(void);
+int wdog_set_timeout(int wdog_time);
+void systick_open(void);
+u8 mcu_chip_id(u8 *buff);
+
+#endif /* __BSP_DRIVER_H__ */

+ 1 - 1
Applications/bsp/delay.c

@@ -1,6 +1,6 @@
 #include "bsp/bsp.h"
 #include "bsp/delay.h"
-
+#include "os/os_types.h"
 
 void task_ticks_enable(void)
 {

+ 0 - 73
Applications/bsp/dma.c

@@ -1,73 +0,0 @@
-#include "bsp/dma.h"
-
-u16 pwm_timer_dma_buf[2];
-u16 adc_timer_dma_buf[3];
-static void pwm_timer_dma_init(void);
-static void adc_timer_dma_init(void);
-
-void dma0_init(void){
-	pwm_timer_dma_buf[0] = FOC_PWM_Half_Period;
-	pwm_timer_dma_buf[1] = FOC_PWM_Half_Period;
-
-	adc_timer_dma_buf[0] = FOC_PWM_Half_Period;
-	adc_timer_dma_buf[1] = FOC_PWM_period - 1;
-	adc_timer_dma_buf[0] = FOC_PWM_Half_Period;
-
-	pwm_timer_dma_init();
-	adc_timer_dma_init();
-}
-
-static void pwm_timer_dma_init(void){
-    dma_parameter_struct dma_init_struct;
-
-    /* enable DMA clock */
-    rcu_periph_clock_enable(PWM_TIMER_CC3_DMA_CLK);
-
-    /* initialize DMA channel */
-    dma_deinit(PWM_TIMER_CC3_DMA_DEV,PWM_TIMER_CC3_DMA_CHAN);
-
-    /* DMA channel5 initialize */
-    dma_init_struct.periph_addr = (uint32_t)TIMER_CH0CV(pwm_timer);//changed by foc later
-    dma_init_struct.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
-    dma_init_struct.memory_addr = (uint32_t)pwm_timer_dma_buf;
-    dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
-    dma_init_struct.periph_width = DMA_PERIPHERAL_WIDTH_16BIT;
-    dma_init_struct.memory_width = DMA_MEMORY_WIDTH_16BIT;
-    dma_init_struct.direction = DMA_MEMORY_TO_PERIPHERAL;
-    dma_init_struct.number = 2;
-    dma_init_struct.priority = DMA_PRIORITY_ULTRA_HIGH;
-    dma_init(PWM_TIMER_CC3_DMA_DEV,PWM_TIMER_CC3_DMA_CHAN,&dma_init_struct);
-    
-    dma_circulation_enable(PWM_TIMER_CC3_DMA_DEV,PWM_TIMER_CC3_DMA_CHAN);
-
-    /* enable DMA channel */
-    dma_channel_enable(PWM_TIMER_CC3_DMA_DEV,PWM_TIMER_CC3_DMA_CHAN);
-}
-
-static void adc_timer_dma_init(void){
-    dma_parameter_struct dma_init_struct;
-
-    /* enable DMA clock */
-    rcu_periph_clock_enable(ADC_TIMER_CC0_DMA_CLK);
-
-    /* initialize DMA channel */
-    dma_deinit(ADC_TIMER_CC0_DMA_DEV,ADC_TIMER_CC0_DMA_CHAN);
-
-    /* DMA channel5 initialize */
-    dma_init_struct.periph_addr = (uint32_t)TIMER_CH0CV(adc_timer);
-    dma_init_struct.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
-    dma_init_struct.memory_addr = (uint32_t)adc_timer_dma_buf;
-    dma_init_struct.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
-    dma_init_struct.periph_width = DMA_PERIPHERAL_WIDTH_16BIT;
-    dma_init_struct.memory_width = DMA_MEMORY_WIDTH_16BIT;
-    dma_init_struct.direction = DMA_MEMORY_TO_PERIPHERAL;
-    dma_init_struct.number = 3;
-    dma_init_struct.priority = DMA_PRIORITY_ULTRA_HIGH;
-    dma_init(ADC_TIMER_CC0_DMA_DEV,ADC_TIMER_CC0_DMA_CHAN,&dma_init_struct);
-    
-    dma_circulation_enable(ADC_TIMER_CC0_DMA_DEV,ADC_TIMER_CC0_DMA_CHAN);
-
-    /* enable DMA channel */
-    dma_channel_enable(ADC_TIMER_CC0_DMA_DEV,ADC_TIMER_CC0_DMA_CHAN);
-}
-

+ 0 - 20
Applications/bsp/dma.h

@@ -1,20 +0,0 @@
-#ifndef _DMA_H__
-#define _DMA_H__
-#include "bsp/bsp.h"
-#include "os/os_types.h"
-
-#define PWM_TIMER_CC3_DMA_DEV DMA0
-#define PWM_TIMER_CC3_DMA_CLK RCU_DMA0
-#define PWM_TIMER_CC3_DMA_CHAN DMA_CH3
-
-#define ADC_TIMER_CC0_DMA_DEV DMA0
-#define ADC_TIMER_CC0_DMA_CLK RCU_DMA0
-#define ADC_TIMER_CC0_DMA_CHAN DMA_CH5
-
-extern u16 pwm_timer_dma_buf[2];
-extern u16 adc_timer_dma_buf[3];
-
-void dma0_init(void);
-
-#endif /*_DMA_H__ */
-

+ 0 - 88
Applications/bsp/eeprom.c

@@ -1,88 +0,0 @@
-#include "bsp/i2c.h"
-#include "eeprom.h"
-
-#define I2C_ADDR 0XA4
-#define PAGE_SIZE 16
-
-static int eeprom_write_page(u16 addr,u8 *data,u8 len);
-
-int eeprom_write_bytes(u16 addr, u8 *data, int len){
-	U16 remain_len = len;
-	while(remain_len > 0){
-		U16 w_len = (remain_len > PAGE_SIZE)?PAGE_SIZE:remain_len;
-		if (eeprom_write_page(addr, data, w_len) < 0){
-			return -1;
-		}
-		addr+= w_len;
-		data += w_len;
-		remain_len -= w_len;
-	}
-	return 0;
-}
-int eeprom_read_bytes(u16 addr, u8 *data, int len){
-	uint8_t device_addr = I2C_ADDR | ((addr >>8) << 1);
-	int try_count = 100;
-	while(0 >= shark_i2c_read_nbytes(0, device_addr, (uint8_t)(addr&0xFF), data, len)){
-		if (try_count-- <= 0){
-			return -1;
-		}
-	};
-	return 0;
-}
-
-/* use page write to improve write time */
-static int eeprom_write_page(u16 addr,u8 *data,u8 len){
-	uint8_t device_addr = I2C_ADDR | ((addr >>8) << 1);
-	int try_count = 100;
-	while(0 >= shark_i2c_write_nbytes(0, device_addr, (uint8_t)(addr&0xFF), data, len)){
-		if (try_count-- <= 0){
-			return -1;
-		}
-
-	};
-	return 0;
-}
-
-#if 0
-
-#define ADDR_START 	(2<<7)
-
-static U8 buffr[128];
-static int index = 0;
-static int _AT24CXX_test(void)
-{
-	int i=0;
-	char wdata = 0x5A;
-	if (index % 2 == 1){
-		wdata = 0xA5;
-	}
-	for(i=0;i<128;i++)
-	{
-		buffr[i] = wdata;
-	}
-	
-	eeprom_write_bytes(ADDR_START,buffr,128);
-	
-	memset(buffr,0,128);
-	
-	eeprom_read_bytes(ADDR_START,buffr,128);
-	
-	for(i=0;i<128;i++)
-	{
-		if (buffr[i] != wdata){
-			return -1;
-		}
-	}
-	return 0;
-}
-
-
-void AT24CXX_test(void){
-	while(_AT24CXX_test() == 0){
-		index++;
-	};
-}
-
-#endif
-
-

+ 0 - 10
Applications/bsp/eeprom.h

@@ -1,10 +0,0 @@
-#ifndef _EEPROM_H__
-#define _EEPROM_H__
-
-#include "libs/os.h"
-
-int eeprom_write_bytes(u16 addr, u8 *data, int len);
-int eeprom_read_bytes(u16 addr, u8 *data, int len);
-
-#endif /* _EEPROM_H__ */
-

+ 1 - 2
Applications/bsp/adc.c → Applications/bsp/gd32/adc.c

@@ -1,5 +1,4 @@
-#include "bsp/bsp.h"
-#include "bsp/adc.h"
+#include "bsp/bsp_driver.h"
 #include "libs/utils.h"
 #include "os/os_task.h"
 #include "libs/logger.h"

+ 0 - 0
Applications/bsp/adc.h → Applications/bsp/gd32/adc.h


+ 0 - 0
Applications/bsp/board_gd32demo.h → Applications/bsp/gd32/board_gd32demo.h


+ 0 - 0
Applications/bsp/board_mc100_v1.h → Applications/bsp/gd32/board_mc100_v1.h


+ 0 - 0
Applications/bsp/board_mc105_v3.h → Applications/bsp/gd32/board_mc105_v3.h


+ 0 - 0
Applications/bsp/board_yuanqu.h → Applications/bsp/gd32/board_yuanqu.h


+ 1 - 3
Applications/bsp/bsp.c → Applications/bsp/gd32/bsp.c

@@ -1,9 +1,7 @@
 #include "bsp/bsp.h"
-#include "bsp/gd32_bkp.h"
+#include "bsp/bsp_driver.h"
 #include "libs/logger.h"
 #include "os/os_types.h"
-#include "bsp/uart.h"
-#include "bsp/delay.h"
 #include "version.h"
 
 static void wdog_enable(void);

+ 41 - 0
Applications/bsp/gd32/bsp.h

@@ -0,0 +1,41 @@
+#ifndef __BSP_GD32_H__
+#define __BSP_GD32_H__
+#if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
+#include "gd32f30x.h"
+#elif defined GD32E10x
+#include "gd32e10x.h"
+#endif
+
+#define SYSTEM_CLOCK (120000000u) //system clk 120M Hz
+#define TIM_CLOCK (SYSTEM_CLOCK) /*SystemClock_Config��TIM1��clk��sys PLL �������̶�2����PLLƵ��*/
+#define TIM_CLOCK_MHz (120u)
+#define ADC_CLOCK (30000000u)
+#define ADC_CLOCK_MHz (30u)
+#define NS_PER_TCLK (8u) /* (1/120000000 * 1000000000) */
+#define NS_2_TCLK(ns) (((ns)/NS_PER_TCLK) + 1u) //ns תΪpwmʹ�õ��Ǹ�TIM��clk count
+#define FOC_PWM_FS (16000u)
+#define FOC_PWM_period (TIM_CLOCK/FOC_PWM_FS)
+#define FOC_PWM_Half_Period (FOC_PWM_period/2)
+
+#define FOC_CTRL_US (1.0f/(float)FOC_PWM_FS)
+
+#define ADC_REGCHAN_SAMPLE_TIME ADC_SAMPLETIME_239POINT5
+#define ADC_TRIG_CONV_LATENCY_CYCLES 12.5f
+#define ADC_SAMPLING_CYCLES 13.5f
+
+#ifdef GD32_FOC_DEMO
+#include "bsp/board_gd32demo.h"
+#elif defined (YUANQU_HW_V1)
+#include "bsp/board_yuanqu.h"
+#elif defined (MC100_HW_V1)
+#include "bsp/gd32/board_mc100_v1.h"
+#define CONFIG_BOARD_MCXXX
+#define CONFIG_BOARD_NAME "MC100"
+#define CONFIG_HW_VERSION 2
+#elif defined (MC105_HW_V3)
+#include "bsp/gd32/board_mc105_v3.h"
+#define CONFIG_BOARD_MCXXX
+#define CONFIG_BOARD_NAME "MC105"
+#define CONFIG_HW_VERSION 3
+#endif
+#endif /* __BSP_GD32_H__ */

+ 1 - 2
Applications/bsp/can.c → Applications/bsp/gd32/can.c

@@ -1,7 +1,6 @@
 #include <stdio.h>
 #include "os/queue.h"
-#include "bsp/bsp.h"
-#include "bsp/can.h"
+#include "bsp/bsp_driver.h"
 #include "libs/utils.h"
 #include "libs/circle_buffer.h"
 

+ 0 - 0
Applications/bsp/can.h → Applications/bsp/gd32/can.h


+ 1 - 1
Applications/bsp/enc_intf.c → Applications/bsp/gd32/enc_intf.c

@@ -1,4 +1,4 @@
-#include "bsp/enc_intf.h"
+#include "bsp/bsp_driver.h"
 #include "libs/logger.h"
 
 static void _io_init(void) {

+ 0 - 0
Applications/bsp/enc_intf.h → Applications/bsp/gd32/enc_intf.h


+ 0 - 0
Applications/bsp/fan_pwm.c → Applications/bsp/gd32/fan_pwm.c


+ 2 - 0
Applications/bsp/fan_pwm.h → Applications/bsp/gd32/fan_pwm.h

@@ -1,6 +1,8 @@
 #ifndef _FAN_PWM_H__
 #define _FAN_PWM_H__
 #include "bsp/bsp.h"
+#include "os/os_types.h"
+
 #define PWM_FREQ_HZ    200
 #define FAN_DUTY_COUNT (1000000/200)
 #define FAN_MAX_DUTY_COUNT (FAN_DUTY_COUNT/2)

+ 1 - 1
Applications/bsp/fmc_flash.c → Applications/bsp/gd32/fmc_flash.c

@@ -1,4 +1,4 @@
-#include "bsp.h"
+#include "bsp/bsp_driver.h"
 
 #if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
 #define FMC_FLAG_PGERR  FMC_FLAG_BANK0_PGERR

+ 0 - 0
Applications/bsp/fmc_flash.h → Applications/bsp/gd32/fmc_flash.h


+ 0 - 0
Applications/bsp/gd32_bkp.c → Applications/bsp/gd32/gd32_bkp.c


+ 0 - 0
Applications/bsp/gd32_bkp.h → Applications/bsp/gd32/gd32_bkp.h


+ 1 - 3
Applications/bsp/gd32_rtc.c → Applications/bsp/gd32/gd32_rtc.c

@@ -1,8 +1,6 @@
 #include <stdio.h>
 #include <string.h>
-#include "bsp/bsp.h"
-#include "bsp/gd32_bkp.h"
-
+#include "bsp/bsp_driver.h"
 
 #define IS_LEAP_YEAR(year)      ((year % 4 == 0) && ( year % 100 != 0) || (year % 400 == 0))
 

+ 0 - 0
Applications/bsp/gd32_rtc.h → Applications/bsp/gd32/gd32_rtc.h


+ 1 - 1
Applications/bsp/gpio.c → Applications/bsp/gd32/gpio.c

@@ -1,4 +1,4 @@
-#include "bsp/gpio.h"
+#include "bsp/bsp_driver.h"
 #include "libs/utils.h"
 
 #ifdef GD32_FOC_DEMO

+ 0 - 0
Applications/bsp/gpio.h → Applications/bsp/gd32/gpio.h


+ 2 - 2
Applications/bsp/i2c.c → Applications/bsp/gd32/i2c.c

@@ -1,7 +1,7 @@
-#include "bsp.h"
+#include "bsp_driver.h"
 #include "i2c.h"
 #include "libs/utils.h"
-#include "bsp/delay.h"
+
 static int _shark_i2c_rw_bytes(uint32_t index, uint8_t address, uint8_t reg, uint8_t *buffer, int length, int write);
 
 #define iic_device(id) ((id == 0)?I2C0:I2C1)

+ 0 - 0
Applications/bsp/i2c.h → Applications/bsp/gd32/i2c.h


+ 0 - 0
Applications/bsp/mc_irqs.c → Applications/bsp/gd32/mc_irqs.c


+ 1 - 2
Applications/bsp/pwm.c → Applications/bsp/gd32/pwm.c

@@ -1,6 +1,5 @@
 #include "bsp/bsp.h"
-#include "bsp/pwm.h"
-#include "bsp/adc.h"
+#include "bsp/bsp_driver.h"
 #include "os/os_task.h"
 #include "libs/logger.h"
 /*

+ 0 - 1
Applications/bsp/pwm.h → Applications/bsp/gd32/pwm.h

@@ -2,7 +2,6 @@
 #define _PWM_H__
 #include "bsp/bsp.h"
 #include "os/os_types.h"
-#include "bsp/dma.h"
 
 #define TIMxCCER_MASK_CH012        ((uint16_t)  (TIMER_CHCTL2_CH0EN|TIMER_CHCTL2_CH0NEN|\
                                                  TIMER_CHCTL2_CH1EN|TIMER_CHCTL2_CH1NEN|\

+ 1 - 1
Applications/bsp/sched_timer.c → Applications/bsp/gd32/sched_timer.c

@@ -1,4 +1,4 @@
-#include "bsp/sched_timer.h"
+#include "bsp/bsp_driver.h"
 
 void sched_timer_enable(u32 us) {
     timer_parameter_struct timer_initpara;

+ 0 - 0
Applications/bsp/sched_timer.h → Applications/bsp/gd32/sched_timer.h


+ 0 - 0
Applications/bsp/uart.c → Applications/bsp/gd32/uart.c


+ 0 - 0
Applications/bsp/uart.h → Applications/bsp/gd32/uart.h


+ 0 - 105
Applications/bsp/mc_hall_gpio.c

@@ -1,105 +0,0 @@
-#include "bsp/mc_hall_gpio.h"
-#include "bsp/delay.h"
-#include "os/os_task.h"
-
-static void _gpio_irq_enable(void);
-
-static hall_io_t g_hall;
-
-void mc_hall_init(void){
-	gpio_init(HALL_1_GROUP,  GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, HALL_1_PIN);
-	gpio_init(HALL_2_GROUP,  GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, HALL_2_PIN);
-	gpio_init(HALL_3_GROUP,  GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, HALL_3_PIN);
-	g_hall.is_edged = 0;
-	g_hall.hall_time = 0;
-	_gpio_irq_enable();
-}
-
-#if 1
-int get_hall_stat(int samples) {
-	int h1 = 0, h2 = 0, h3 = 0;
-	int tres = (samples + 1) / 2;
-
-	while (samples--) {
-		h1 += READ_HALL1();
-		h2 += READ_HALL2();
-		h3 += READ_HALL3();
-		task_udelay(5);
-	}
-#if HALL_PLACE==DEGREES_60	
-	return (((h2>tres)^1) << 2) | ((h3 > tres) << 1) | (h2 > tres);
-#else
-	return (h1 > tres) | ((h2 > tres) << 1) | ((h3 > tres) << 2);
-#endif
-}
-#else
-int get_hall_stat(int samples) {
-#if HALL_PLACE==DEGREES_60	
-	return (((READ_HALL2())^1) << 2) | ((READ_HALL3()) << 1) | (READ_HALL1());
-#else
-	return (READ_HALL1()) | ((READ_HALL2()) << 1) | ((READ_HALL3()) << 2);
-#endif
-}
-#endif
-
-
-u32 hall_get_hwcount(u8 *hall) {
-	hall[0] = 1;//READ_HALL1();
-	hall[1] = 0;//READ_HALL2();
-	hall[2] = 1;//READ_HALL3();
-	if (g_hall.is_edged) {
-		g_hall.is_edged = 0;
-		return g_hall.hall_time;
-	}
-	return task_get_usecond();
-}
-
-
-void hall_sensor_handler(void){
-
-}
-
-
-
-#ifdef GD32_FOC_DEMO
-static void _gpio_irq_enable(void){
-	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOA, GPIO_PIN_SOURCE_6);
-	exti_init(EXTI_6, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
-	exti_interrupt_flag_clear(EXTI_6);
-	exti_interrupt_enable(EXTI_6);
-
-	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOA, GPIO_PIN_SOURCE_7);
-	exti_init(EXTI_7, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
-	exti_interrupt_flag_clear(EXTI_7);
-	exti_interrupt_enable(EXTI_7);
-
-	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOB, GPIO_PIN_SOURCE_0);
-	exti_init(EXTI_0, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
-	exti_interrupt_flag_clear(EXTI_0);
-	exti_interrupt_enable(EXTI_0);
-
-	nvic_irq_enable(EXTI5_9_IRQn, HALL_IRQ_PRIORITY, 0U);
-	nvic_irq_enable(EXTI0_IRQn, HALL_IRQ_PRIORITY, 0U);
-}
-
-#else
-static void _gpio_irq_enable(void){
-	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOB, GPIO_PIN_SOURCE_6);
-	exti_init(EXTI_6, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
-	exti_interrupt_flag_clear(EXTI_6);
-	exti_interrupt_enable(EXTI_6);
-
-	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOB, GPIO_PIN_SOURCE_7);
-	exti_init(EXTI_7, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
-	exti_interrupt_flag_clear(EXTI_7);
-	exti_interrupt_enable(EXTI_7);
-
-	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOB, GPIO_PIN_SOURCE_8);
-	exti_init(EXTI_8, EXTI_INTERRUPT, EXTI_TRIG_BOTH);
-	exti_interrupt_flag_clear(EXTI_8);
-	exti_interrupt_enable(EXTI_8);
-
-	nvic_irq_enable(EXTI5_9_IRQn, HALL_IRQ_PRIORITY, 0U);
-}
-#endif
-

+ 0 - 58
Applications/bsp/mc_hall_gpio.h

@@ -1,58 +0,0 @@
-#ifndef _MC_HALL_H__
-#define _MC_HALL_H__
-#include "bsp/bsp.h"
-
-//51ms, 77.6
-//52.2ms 
-//25.2
-#ifdef GD32_FOC_DEMO
-#define HALL_1_GROUP GPIOA
-#define HALL_1_PIN GPIO_PIN_6
-#define HALL_2_GROUP GPIOA
-#define HALL_2_PIN GPIO_PIN_7
-#define HALL_3_GROUP GPIOB
-#define HALL_3_PIN GPIO_PIN_0
-#else
-#define HALL_1_GROUP GPIOB
-#define HALL_1_PIN GPIO_PIN_8
-#define HALL_2_GROUP GPIOB
-#define HALL_2_PIN GPIO_PIN_7
-#define HALL_3_GROUP GPIOB
-#define HALL_3_PIN GPIO_PIN_6
-#endif
-
-#define DEGREES_120 0u
-#define DEGREES_60 1u
-
-#define HALL_PLACE DEGREES_120
-
-static int __inline__ hall_bit_get(uint32_t gpio_periph,uint32_t pin)
-{
-    if((uint32_t)RESET != (GPIO_ISTAT(gpio_periph)&(pin))){
-        return 1; 
-    }else{
-        return 0;
-    }
-}
-
-
-#define READ_HALL1() (hall_bit_get(HALL_1_GROUP, HALL_1_PIN))
-#define READ_HALL2() (hall_bit_get(HALL_2_GROUP, HALL_2_PIN))
-#define READ_HALL3() (hall_bit_get(HALL_3_GROUP, HALL_3_PIN))
-
-#define HALL1 READ_HALL1()
-#define HALL2 READ_HALL2()
-#define HALL3 READ_HALL3()
-
-typedef struct _hall_io {
-	u8 hall[3];
-	u32 hall_time;
-	u8 is_edged;
-}hall_io_t;
-
-void mc_hall_init(void);
-int get_hall_stat(int samples);
-u32 hall_get_hwcount(u8 *hall);
-
-#endif /*_MC_HALL_H__ */
-

+ 1 - 3
Applications/foc/commands.c

@@ -3,9 +3,7 @@
 #include "libs/logger.h"
 #include "libs/utils.h"
 #include "prot/can_message.h"
-#include "bsp/bsp.h"
-#include "bsp/pwm.h"
-#include "bsp/adc.h"
+#include "bsp/bsp_driver.h"
 #include "foc/motor/motor.h"
 #include "foc/commands.h"
 #include "prot/can_foc_msg.h"

+ 1 - 1
Applications/foc/core/PMSM_FOC_Core.c

@@ -13,7 +13,7 @@
 #include "foc/samples.h"
 #include "foc/limit.h"
 #include "app/nv_storage.h"
-#include "bsp/pwm.h"
+#include "bsp/bsp_driver.h"
 #include "libs/logger.h"
 #include "math/fir.h"
 

+ 1 - 1
Applications/foc/core/adrc.h

@@ -2,7 +2,7 @@
 #define _ADRC_H__
 
 #include "math/fast_math.h"
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 
 typedef struct {
 	//扩张状态观测器

+ 1 - 1
Applications/foc/core/foc_observer.c

@@ -1,4 +1,4 @@
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "foc/core/foc_observer.h"
 #include "foc/core/smo_observer.h"
 #include "foc/motor/motor.h"

+ 1 - 2
Applications/foc/motor/current.c

@@ -1,6 +1,5 @@
 #include <math.h>
-#include "bsp/adc.h"
-#include "bsp/pwm.h"
+#include "bsp/bsp_drvier.h"
 #include "foc/motor/current.h"
 #include "foc/core/PMSM_FOC_Core.h"
 #include "foc/mc_error.h"

+ 1 - 2
Applications/foc/motor/current_ics.c

@@ -1,6 +1,5 @@
 #include <math.h>
-#include "bsp/adc.h"
-#include "bsp/pwm.h"
+#include "bsp/bsp_driver.h"
 #include "foc/motor/current.h"
 #include "foc/core/PMSM_FOC_Core.h"
 #include "foc/mc_error.h"

+ 1 - 2
Applications/foc/motor/encoder.c

@@ -1,6 +1,5 @@
 #include "bsp/bsp.h"
-#include "bsp/enc_intf.h"
-#include "bsp/delay.h"
+#include "bsp/bsp_driver.h"
 #include "foc/motor/encoder.h"
 #include "foc/motor/motor_param.h"
 #include "libs/logger.h"

+ 0 - 1
Applications/foc/motor/encoder.h

@@ -1,6 +1,5 @@
 #ifndef _Encoder_H__
 #define _Encoder_H__
-#include "bsp/enc_intf.h"
 #include "foc/core/PI_Controller.h"
 typedef struct {
 	bool  b_index_found; //I 对齐

+ 1 - 3
Applications/foc/motor/hall.c

@@ -1,13 +1,11 @@
 #include <string.h>
-#include "bsp/bsp.h"
-#include "bsp/mc_hall_gpio.h"
+#include "bsp/bsp_driver.h"
 #include "os/os_task.h"
 #include "libs/utils.h"
 #include "libs/logger.h"
 #include "math/fast_math.h"
 #include "foc/motor/hall.h"
 #include "app/nv_storage.h"
-#include "bsp/delay.h"
 #include "libs/time_measure.h"
 #include "app/nv_storage.h"
 #include "libs/logger.h"

+ 1 - 7
Applications/foc/motor/motor.c

@@ -4,16 +4,10 @@
 #include "foc/mc_error.h"
 #include "foc/samples.h"
 #include "math/fast_math.h"
-#include "bsp/delay.h"
+#include "bsp/bsp_driver.h"
 #include "libs/time_measure.h"
-#include "bsp/delay.h"
-#include "bsp/bsp.h"
-#include "bsp/adc.h"
-#include "bsp/pwm.h"
-#include "bsp/fan_pwm.h"
 #include "foc/commands.h"
 #include "libs/logger.h"
-#include "bsp/sched_timer.h"
 #include "foc/core/e_ctrl.h"
 #include "foc/samples.h"
 #include "foc/motor/motor_param.h"

+ 1 - 1
Applications/foc/ntc.c

@@ -1,6 +1,6 @@
 #include "os/os_types.h"
 #include "bsp/bsp.h"
-#include "bsp/adc.h"
+#include "bsp/bsp_driver.h"
 #include "libs/utils.h"
 
 #define KTY_TEMP_INTVAL 10

+ 1 - 3
Applications/foc/samples.c

@@ -1,12 +1,10 @@
 #include "foc/samples.h"
-#include "bsp/bsp.h"
-#include "bsp/adc.h"
+#include "bsp/bsp_driver.h"
 #include "math/fast_math.h"
 #include "math/fix_math.h"
 #include "os/os_task.h"
 #include "foc/foc_config.h"
 #include "foc/ntc.h"
-#include "bsp/delay.h"
 #include "libs/logger.h"
 
 typedef struct {

+ 1 - 1
Applications/libs/backtrace.c

@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include "libs/backtrace.h"
-#include "bsp/gd32_bkp.h"
+#include "bsp/bsp_driver.h"
 #include "os/os_task.h"
 
 #if defined(__CC_ARM)

+ 0 - 1
Applications/libs/byte_queue.h

@@ -1,7 +1,6 @@
 #pragma once
 
 #include "os/os_types.h"
-#include "bsp/bsp.h"
 
 typedef struct {
 	u8 *buff;

+ 1 - 2
Applications/libs/logger.c

@@ -1,9 +1,8 @@
 #include <stdio.h>
 #include <stdarg.h>
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "logger.h"
 #include "os/os_task.h"
-#include "bsp/uart.h"
 #include "libs/utils.h"
 static uint32_t level_data[2];
 static char log_cache[128];

+ 1 - 2
Applications/libs/time_measure.c

@@ -1,5 +1,4 @@
-#include "bsp/bsp.h"
-#include "bsp/delay.h"
+#include "bsp/bsp_driver.h"
 #include "os/os_task.h"
 #include "libs/time_measure.h"
 

+ 0 - 1
Applications/libs/utils.h

@@ -3,7 +3,6 @@
 
 #include "os/os_types.h"
 #include "os/os_task.h"
-#include "bsp/delay.h"
 
 static __inline__ u8 decode_u8(u8 *buff) {
 	return buff[0];

+ 1 - 1
Applications/main.c

@@ -2,7 +2,7 @@
 * sharkgulf motor
 * all modules init is here
 */
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "app/app.h"
 #include "version.h"
 

+ 1 - 1
Applications/os/os_task.c

@@ -1,6 +1,6 @@
 #include "os/os_task.h"
 #include "os/os_types.h"
-#include "bsp/fmc_flash.h"
+#include "bsp/bsp_driver.h"
 #include "config.h"
 #include "bsp/bsp.h"
 extern uint32_t get_system_sleep_time(void);

+ 1 - 1
Applications/prot/can_message.c

@@ -1,4 +1,4 @@
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "os/os_task.h"
 #include "libs/logger.h"
 #include "libs/utils.h"

+ 2 - 2
Applications/prot/can_message.h

@@ -1,9 +1,9 @@
 #ifndef _CAN_MESSAGE_H__
 #define _CAN_MESSAGE_H__
 #include <stdint.h>
-#include "bsp/can.h"
 #include "libs/node_list.h"
-
+#include "os/os_types.h"
+#include "bsp/bsp_driver.h"
 #define can_payload_offset  2
 
 typedef struct {

+ 1 - 3
Applications/prot/can_pc_message.c

@@ -1,7 +1,5 @@
-#include "bsp/bsp.h"
+#include "bsp/bsp_driver.h"
 #include "can_pc_message.h"
-#include "bsp/fmc_flash.h"
-#include "bsp/gd32_bkp.h"
 #include "libs/logger.h"
 #include "os/os_task.h"
 #include "foc/motor/motor.h"

+ 1 - 1
Applications/prot/wait_queue.c

@@ -1,7 +1,7 @@
 #include "wait_queue.h"
 #include "os/os_task.h"
 #include "libs/utils.h"
-#include "bsp/can.h"
+#include "bsp/bsp_driver.h"
 
 void wait_queue_init(wait_queue_t *queue, int max_size){
 	queue->keys = os_alloc(max_size * sizeof(response_t));

+ 55 - 0
Librarys/CMSIS/AT32/system_at32f413.c

@@ -92,6 +92,7 @@ void SystemInit (void)
   /* disable all interrupts enable and clear pending bits  */
   CRM->clkint = 0x009F0000;
 
+  system_clock_config();
 #ifdef VECT_TAB_SRAM
   SCB->VTOR = SRAM_BASE  | VECT_TAB_OFFSET;  /* vector table relocation in internal sram. */
 #else
@@ -99,6 +100,60 @@ void SystemInit (void)
 #endif
 }
 
+/**
+  * use ext high speed clock 8M
+*/
+void system_clock_config(void)
+{
+  /* reset crm */
+  crm_reset();
+
+  crm_clock_source_enable(CRM_CLOCK_SOURCE_HEXT, TRUE);
+
+  /* wait till hext is ready */
+  while(crm_hext_stable_wait() == ERROR)
+  {
+  }
+
+  /* config pll clock resource */
+  crm_pll_config(CRM_PLL_SOURCE_HEXT_DIV, CRM_PLL_MULT_50, CRM_PLL_OUTPUT_RANGE_GT72MHZ);
+
+  /* enable pll */
+  crm_clock_source_enable(CRM_CLOCK_SOURCE_PLL, TRUE);
+
+  /* wait till pll is ready */
+  while(crm_flag_get(CRM_PLL_STABLE_FLAG) != SET)
+  {
+  }
+
+  /* config ahbclk */
+  crm_ahb_div_set(CRM_AHB_DIV_1);
+
+  /* config apb2clk */
+  crm_apb2_div_set(CRM_APB2_DIV_2);
+
+  /* config apb1clk */
+  crm_apb1_div_set(CRM_APB1_DIV_2);
+
+  /* enable auto step mode */
+  crm_auto_step_mode_enable(TRUE);
+
+  /* select pll as system clock source */
+  crm_sysclk_switch(CRM_SCLK_PLL);
+
+  /* wait till pll is used as system clock source */
+  while(crm_sysclk_switch_status_get() != CRM_SCLK_PLL)
+  {
+  }
+
+  /* disable auto step mode */
+  crm_auto_step_mode_enable(FALSE);
+
+  /* update system_core_clock global variable */
+  system_core_clock_update();
+}
+
+
 /**
   * @brief  update system_core_clock variable according to clock register values.
   *         the system_core_clock variable contains the core clock (hclk), it can

+ 1 - 1
Librarys/CMSIS/AT32/system_at32f413.h

@@ -65,7 +65,7 @@ extern unsigned int system_core_clock; /*!< system clock frequency (core clock)
 
 extern void SystemInit(void);
 extern void system_core_clock_update(void);
-
+extern void system_clock_config(void);
 /**
   * @}
   */

+ 53 - 65
Project/MC100.uvoptx

@@ -605,8 +605,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\bsp.c</PathWithFileName>
-      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\delay.c</PathWithFileName>
+      <FilenameWithoutPath>delay.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -617,8 +617,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\gd32_bkp.c</PathWithFileName>
-      <FilenameWithoutPath>gd32_bkp.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\adc.c</PathWithFileName>
+      <FilenameWithoutPath>adc.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -629,8 +629,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\gd32_rtc.c</PathWithFileName>
-      <FilenameWithoutPath>gd32_rtc.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\bsp.c</PathWithFileName>
+      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -641,8 +641,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\gpio.c</PathWithFileName>
-      <FilenameWithoutPath>gpio.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\can.c</PathWithFileName>
+      <FilenameWithoutPath>can.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -653,8 +653,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\i2c.c</PathWithFileName>
-      <FilenameWithoutPath>i2c.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\enc_intf.c</PathWithFileName>
+      <FilenameWithoutPath>enc_intf.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -665,8 +665,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\can.c</PathWithFileName>
-      <FilenameWithoutPath>can.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\fan_pwm.c</PathWithFileName>
+      <FilenameWithoutPath>fan_pwm.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -677,7 +677,7 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\fmc_flash.c</PathWithFileName>
+      <PathWithFileName>..\Applications\bsp\gd32\fmc_flash.c</PathWithFileName>
       <FilenameWithoutPath>fmc_flash.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
@@ -689,8 +689,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\pwm.c</PathWithFileName>
-      <FilenameWithoutPath>pwm.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\gd32_bkp.c</PathWithFileName>
+      <FilenameWithoutPath>gd32_bkp.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -701,8 +701,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\mc_irqs.c</PathWithFileName>
-      <FilenameWithoutPath>mc_irqs.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\gd32_rtc.c</PathWithFileName>
+      <FilenameWithoutPath>gd32_rtc.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -713,8 +713,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\adc.c</PathWithFileName>
-      <FilenameWithoutPath>adc.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\gpio.c</PathWithFileName>
+      <FilenameWithoutPath>gpio.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -725,8 +725,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\uart.c</PathWithFileName>
-      <FilenameWithoutPath>uart.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\mc_irqs.c</PathWithFileName>
+      <FilenameWithoutPath>mc_irqs.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -737,8 +737,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\delay.c</PathWithFileName>
-      <FilenameWithoutPath>delay.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\pwm.c</PathWithFileName>
+      <FilenameWithoutPath>pwm.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -749,7 +749,7 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\sched_timer.c</PathWithFileName>
+      <PathWithFileName>..\Applications\bsp\gd32\sched_timer.c</PathWithFileName>
       <FilenameWithoutPath>sched_timer.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
@@ -761,20 +761,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\enc_intf.c</PathWithFileName>
-      <FilenameWithoutPath>enc_intf.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>6</GroupNumber>
-      <FileNumber>44</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\fan_pwm.c</PathWithFileName>
-      <FilenameWithoutPath>fan_pwm.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\uart.c</PathWithFileName>
+      <FilenameWithoutPath>uart.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -788,7 +776,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>45</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -800,7 +788,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>46</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -812,7 +800,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>47</FileNumber>
+      <FileNumber>46</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -824,7 +812,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>48</FileNumber>
+      <FileNumber>47</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -836,7 +824,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>49</FileNumber>
+      <FileNumber>48</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -848,7 +836,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>50</FileNumber>
+      <FileNumber>49</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -868,7 +856,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>51</FileNumber>
+      <FileNumber>50</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -880,7 +868,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>52</FileNumber>
+      <FileNumber>51</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -892,7 +880,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>53</FileNumber>
+      <FileNumber>52</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -912,7 +900,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>54</FileNumber>
+      <FileNumber>53</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -924,7 +912,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>55</FileNumber>
+      <FileNumber>54</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -936,7 +924,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>56</FileNumber>
+      <FileNumber>55</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -948,7 +936,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>57</FileNumber>
+      <FileNumber>56</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -960,7 +948,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>58</FileNumber>
+      <FileNumber>57</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -972,7 +960,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>59</FileNumber>
+      <FileNumber>58</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -984,7 +972,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>60</FileNumber>
+      <FileNumber>59</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -996,7 +984,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>61</FileNumber>
+      <FileNumber>60</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1008,7 +996,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>62</FileNumber>
+      <FileNumber>61</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1020,7 +1008,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>63</FileNumber>
+      <FileNumber>62</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1032,7 +1020,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>64</FileNumber>
+      <FileNumber>63</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1044,7 +1032,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>65</FileNumber>
+      <FileNumber>64</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1056,7 +1044,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>66</FileNumber>
+      <FileNumber>65</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1068,7 +1056,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>67</FileNumber>
+      <FileNumber>66</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1080,7 +1068,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>68</FileNumber>
+      <FileNumber>67</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1092,7 +1080,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>69</FileNumber>
+      <FileNumber>68</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1112,7 +1100,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>10</GroupNumber>
-      <FileNumber>70</FileNumber>
+      <FileNumber>69</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1124,7 +1112,7 @@
     </File>
     <File>
       <GroupNumber>10</GroupNumber>
-      <FileNumber>71</FileNumber>
+      <FileNumber>70</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>

+ 26 - 31
Project/MC100.uvprojx

@@ -554,79 +554,74 @@
           <GroupName>BSP</GroupName>
           <Files>
             <File>
-              <FileName>bsp.c</FileName>
+              <FileName>delay.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\bsp.c</FilePath>
+              <FilePath>..\Applications\bsp\delay.c</FilePath>
             </File>
             <File>
-              <FileName>gd32_bkp.c</FileName>
+              <FileName>adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\gd32_bkp.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\adc.c</FilePath>
             </File>
             <File>
-              <FileName>gd32_rtc.c</FileName>
+              <FileName>bsp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\gd32_rtc.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\bsp.c</FilePath>
             </File>
             <File>
-              <FileName>gpio.c</FileName>
+              <FileName>can.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\gpio.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\can.c</FilePath>
             </File>
             <File>
-              <FileName>i2c.c</FileName>
+              <FileName>enc_intf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\i2c.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\enc_intf.c</FilePath>
             </File>
             <File>
-              <FileName>can.c</FileName>
+              <FileName>fan_pwm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\can.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\fan_pwm.c</FilePath>
             </File>
             <File>
               <FileName>fmc_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\fmc_flash.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\fmc_flash.c</FilePath>
             </File>
             <File>
-              <FileName>pwm.c</FileName>
+              <FileName>gd32_bkp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\pwm.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\gd32_bkp.c</FilePath>
             </File>
             <File>
-              <FileName>mc_irqs.c</FileName>
+              <FileName>gd32_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\mc_irqs.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\gd32_rtc.c</FilePath>
             </File>
             <File>
-              <FileName>adc.c</FileName>
+              <FileName>gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\adc.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\gpio.c</FilePath>
             </File>
             <File>
-              <FileName>uart.c</FileName>
+              <FileName>mc_irqs.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\uart.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\mc_irqs.c</FilePath>
             </File>
             <File>
-              <FileName>delay.c</FileName>
+              <FileName>pwm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\delay.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\pwm.c</FilePath>
             </File>
             <File>
               <FileName>sched_timer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\sched_timer.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\sched_timer.c</FilePath>
             </File>
             <File>
-              <FileName>enc_intf.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\enc_intf.c</FilePath>
-            </File>
-            <File>
-              <FileName>fan_pwm.c</FileName>
+              <FileName>uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\fan_pwm.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\uart.c</FilePath>
             </File>
           </Files>
         </Group>

+ 56 - 68
Project/MC105_V3.uvoptx

@@ -570,8 +570,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\bsp.c</PathWithFileName>
-      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\adc.c</PathWithFileName>
+      <FilenameWithoutPath>adc.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -582,8 +582,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\gd32_bkp.c</PathWithFileName>
-      <FilenameWithoutPath>gd32_bkp.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\bsp.c</PathWithFileName>
+      <FilenameWithoutPath>bsp.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -594,8 +594,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\gd32_rtc.c</PathWithFileName>
-      <FilenameWithoutPath>gd32_rtc.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\can.c</PathWithFileName>
+      <FilenameWithoutPath>can.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -606,8 +606,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\gpio.c</PathWithFileName>
-      <FilenameWithoutPath>gpio.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\enc_intf.c</PathWithFileName>
+      <FilenameWithoutPath>enc_intf.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -618,8 +618,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\i2c.c</PathWithFileName>
-      <FilenameWithoutPath>i2c.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\fan_pwm.c</PathWithFileName>
+      <FilenameWithoutPath>fan_pwm.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -630,8 +630,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\can.c</PathWithFileName>
-      <FilenameWithoutPath>can.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\fmc_flash.c</PathWithFileName>
+      <FilenameWithoutPath>fmc_flash.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -642,8 +642,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\fmc_flash.c</PathWithFileName>
-      <FilenameWithoutPath>fmc_flash.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\gd32_bkp.c</PathWithFileName>
+      <FilenameWithoutPath>gd32_bkp.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -654,8 +654,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\pwm.c</PathWithFileName>
-      <FilenameWithoutPath>pwm.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\gd32_rtc.c</PathWithFileName>
+      <FilenameWithoutPath>gd32_rtc.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -666,8 +666,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\mc_irqs.c</PathWithFileName>
-      <FilenameWithoutPath>mc_irqs.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\gpio.c</PathWithFileName>
+      <FilenameWithoutPath>gpio.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -678,8 +678,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\adc.c</PathWithFileName>
-      <FilenameWithoutPath>adc.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\mc_irqs.c</PathWithFileName>
+      <FilenameWithoutPath>mc_irqs.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -690,8 +690,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\uart.c</PathWithFileName>
-      <FilenameWithoutPath>uart.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\pwm.c</PathWithFileName>
+      <FilenameWithoutPath>pwm.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -702,8 +702,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\delay.c</PathWithFileName>
-      <FilenameWithoutPath>delay.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\sched_timer.c</PathWithFileName>
+      <FilenameWithoutPath>sched_timer.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -714,8 +714,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\sched_timer.c</PathWithFileName>
-      <FilenameWithoutPath>sched_timer.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\gd32\uart.c</PathWithFileName>
+      <FilenameWithoutPath>uart.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -726,20 +726,8 @@
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\enc_intf.c</PathWithFileName>
-      <FilenameWithoutPath>enc_intf.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>6</GroupNumber>
-      <FileNumber>44</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\Applications\bsp\fan_pwm.c</PathWithFileName>
-      <FilenameWithoutPath>fan_pwm.c</FilenameWithoutPath>
+      <PathWithFileName>..\Applications\bsp\delay.c</PathWithFileName>
+      <FilenameWithoutPath>delay.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -753,7 +741,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>45</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -765,7 +753,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>46</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -777,7 +765,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>47</FileNumber>
+      <FileNumber>46</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -789,7 +777,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>48</FileNumber>
+      <FileNumber>47</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -801,7 +789,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>49</FileNumber>
+      <FileNumber>48</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -813,7 +801,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>50</FileNumber>
+      <FileNumber>49</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -827,13 +815,13 @@
 
   <Group>
     <GroupName>OS</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>51</FileNumber>
+      <FileNumber>50</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -845,7 +833,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>52</FileNumber>
+      <FileNumber>51</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -857,7 +845,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>53</FileNumber>
+      <FileNumber>52</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -877,7 +865,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>54</FileNumber>
+      <FileNumber>53</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -889,7 +877,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>55</FileNumber>
+      <FileNumber>54</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -901,7 +889,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>56</FileNumber>
+      <FileNumber>55</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -913,7 +901,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>57</FileNumber>
+      <FileNumber>56</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -925,7 +913,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>58</FileNumber>
+      <FileNumber>57</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -937,7 +925,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>59</FileNumber>
+      <FileNumber>58</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -949,7 +937,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>60</FileNumber>
+      <FileNumber>59</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -961,7 +949,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>61</FileNumber>
+      <FileNumber>60</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -973,7 +961,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>62</FileNumber>
+      <FileNumber>61</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -985,7 +973,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>63</FileNumber>
+      <FileNumber>62</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -997,7 +985,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>64</FileNumber>
+      <FileNumber>63</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1009,7 +997,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>65</FileNumber>
+      <FileNumber>64</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1021,7 +1009,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>66</FileNumber>
+      <FileNumber>65</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1033,7 +1021,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>67</FileNumber>
+      <FileNumber>66</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1045,7 +1033,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>68</FileNumber>
+      <FileNumber>67</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1057,7 +1045,7 @@
     </File>
     <File>
       <GroupNumber>9</GroupNumber>
-      <FileNumber>69</FileNumber>
+      <FileNumber>68</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1077,7 +1065,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>10</GroupNumber>
-      <FileNumber>70</FileNumber>
+      <FileNumber>69</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -1089,7 +1077,7 @@
     </File>
     <File>
       <GroupNumber>10</GroupNumber>
-      <FileNumber>71</FileNumber>
+      <FileNumber>70</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>

+ 26 - 31
Project/MC105_V3.uvprojx

@@ -554,79 +554,74 @@
           <GroupName>BSP</GroupName>
           <Files>
             <File>
-              <FileName>bsp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\bsp.c</FilePath>
-            </File>
-            <File>
-              <FileName>gd32_bkp.c</FileName>
+              <FileName>adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\gd32_bkp.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\adc.c</FilePath>
             </File>
             <File>
-              <FileName>gd32_rtc.c</FileName>
+              <FileName>bsp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\gd32_rtc.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\bsp.c</FilePath>
             </File>
             <File>
-              <FileName>gpio.c</FileName>
+              <FileName>can.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\gpio.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\can.c</FilePath>
             </File>
             <File>
-              <FileName>i2c.c</FileName>
+              <FileName>enc_intf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\i2c.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\enc_intf.c</FilePath>
             </File>
             <File>
-              <FileName>can.c</FileName>
+              <FileName>fan_pwm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\can.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\fan_pwm.c</FilePath>
             </File>
             <File>
               <FileName>fmc_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\fmc_flash.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\fmc_flash.c</FilePath>
             </File>
             <File>
-              <FileName>pwm.c</FileName>
+              <FileName>gd32_bkp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\pwm.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\gd32_bkp.c</FilePath>
             </File>
             <File>
-              <FileName>mc_irqs.c</FileName>
+              <FileName>gd32_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\mc_irqs.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\gd32_rtc.c</FilePath>
             </File>
             <File>
-              <FileName>adc.c</FileName>
+              <FileName>gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\adc.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\gpio.c</FilePath>
             </File>
             <File>
-              <FileName>uart.c</FileName>
+              <FileName>mc_irqs.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\uart.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\mc_irqs.c</FilePath>
             </File>
             <File>
-              <FileName>delay.c</FileName>
+              <FileName>pwm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\delay.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\pwm.c</FilePath>
             </File>
             <File>
               <FileName>sched_timer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\sched_timer.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\sched_timer.c</FilePath>
             </File>
             <File>
-              <FileName>enc_intf.c</FileName>
+              <FileName>uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\enc_intf.c</FilePath>
+              <FilePath>..\Applications\bsp\gd32\uart.c</FilePath>
             </File>
             <File>
-              <FileName>fan_pwm.c</FileName>
+              <FileName>delay.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\Applications\bsp\fan_pwm.c</FilePath>
+              <FilePath>..\Applications\bsp\delay.c</FilePath>
             </File>
           </Files>
         </Group>