Compare commits

...

3 Commits

Author SHA1 Message Date
576d32adb1 适配bootloader 2025-09-20 01:40:24 +08:00
d2519f4cf7 bootloader 2025-09-19 17:56:03 +08:00
5ac3d5afa7 添加M999命令发送版本号 2025-09-16 16:26:14 +08:00
5 changed files with 28 additions and 4 deletions

View File

@@ -39,6 +39,14 @@ void usart1_irq_handler(void);
/******************************************************************************/ /******************************************************************************/
#define MCU_CODE 23u
#define FW_VERSION_MAJOR 0
#define FW_VERSION_MINOR 0
#define FW_VERSION_PATCH 3
/******************************************************************************/
#define RCU_GPIO_I2C RCU_GPIOF #define RCU_GPIO_I2C RCU_GPIOF
#define RCU_I2C RCU_I2C0 #define RCU_I2C RCU_I2C0
#define I2C_SCL_PORT GPIOF #define I2C_SCL_PORT GPIOF

View File

@@ -12,8 +12,8 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
/* Memories definition */ /* Memories definition */
MEMORY MEMORY
{ {
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 16K FLASH (rx) : ORIGIN = 0x08002000, LENGTH = 32K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 4K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K
} }
/* Sections */ /* Sections */

View File

@@ -17,6 +17,7 @@
#include <stdio.h> #include <stdio.h>
#include "board_config.h" #include "board_config.h"
#include "gd32e23x_usart.h" #include "gd32e23x_usart.h"
#include "gd32e23x_misc.h"
#include "ultrasonic_analog.h" #include "ultrasonic_analog.h"
#include "systick.h" #include "systick.h"
@@ -284,6 +285,19 @@ void handle_command(const uint8_t *frame, uint8_t len) {
// send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); // send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
// return; // return;
case 999u: //M999: 输出固件版本号vMCU_CODE.FW_VERSION_MAJOR.FW_VERSION_MINOR.FW_VERSION_PATCH
char version_str[16];
int n = snprintf(version_str, sizeof(version_str), "v%u.%u.%u.%u", MCU_CODE, FW_VERSION_MAJOR, FW_VERSION_MINOR, FW_VERSION_PATCH);
send_response(RESP_TYPE_OK, (uint8_t *)version_str, (uint8_t)n);
// send_response(RESP_TYPE_OK, (uint8_t *)"v23.0.0.3", 9);
return;
case 9999u:
// M9999: 重启系统
__disable_irq(); // 关闭全局中断GD32E230 CMSIS标准函数
nvic_system_reset(); // 系统复位GD32E230标准库函数
break;
default: default:
// 其它无参数命令在此扩展示例M100处理逻辑该如何待定 // 其它无参数命令在此扩展示例M100处理逻辑该如何待定
// send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok)); // send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));

View File

@@ -51,6 +51,8 @@ OF SUCH DAMAGE.
*/ */
int main(void) int main(void)
{ {
nvic_vector_table_set(NVIC_VECTTAB_FLASH, 0x2000); // 设置向量表偏移地址为0x2000
led_init(); led_init();
mcu_detect_and_config(); mcu_detect_and_config();

View File

@@ -1,8 +1,8 @@
# Project basic info # Project basic info
set(PROJECT_NAME "ultrasonic-analog") set(PROJECT_NAME "ultrasonic-analog")
set(VERSION_MAJOR 1) set(VERSION_MAJOR 0)
set(VERSION_MINOR 0) set(VERSION_MINOR 0)
set(VERSION_PATCH 0) set(VERSION_PATCH 3)
set(VERSION "V${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") set(VERSION "V${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
string(TIMESTAMP BUILD_DATE "%Y-%m-%d") string(TIMESTAMP BUILD_DATE "%Y-%m-%d")