From 1615c27c0a373b6dd09c8e09d953fb94c7441d0b Mon Sep 17 00:00:00 2001 From: KLASSENTS Date: Thu, 24 Jul 2025 10:28:14 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D1=83?= =?UTF-8?q?=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D1=87=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bootloader.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/bootloader.c b/src/bootloader.c index c6c10fe..9429b3b 100644 --- a/src/bootloader.c +++ b/src/bootloader.c @@ -11,6 +11,11 @@ #include "string.h" +// версия начального загрузчика +#define MAJOR_VER 0 +#define MINOR_VER 2 +#define BUGFIX_VER 0 + #define JALR_TO_SPIFI() \ asm volatile( "la ra, 0x80000000\n\t" \ "jalr ra" \ @@ -29,6 +34,7 @@ typedef enum { PACKAGE_SIZE = 0x30, /* Команда размера пакета */ SEND_PACKAGE = 0x60, /* Команда отправить пакет */ + VERSION = 0x90, /* Команда получения версии начального загрузчика */ FULL_ERASE = 0xBADC0FEE /* Команда стирания spifi */ } BotloaderComand; @@ -335,6 +341,15 @@ void Bootloader_Commands() { switch (hBootloader.command) { + case VERSION: + validCommandsTimeout = 0; // Сброс таймаута валидных команд + eraseChipBufferIndex = 0; + Bootloader_UART_WriteByte(ACK); // Подтвердить команду + // отправить все составляющие версии загрузчика + Bootloader_UART_WriteByte((uint16_t)MAJOR_VER); + Bootloader_UART_WriteByte((uint16_t)MINOR_VER); + Bootloader_UART_WriteByte((uint16_t)BUGFIX_VER); + break; case PACKAGE_SIZE: validCommandsTimeout = 0; // Сброс таймаута валидных команд eraseChipBufferIndex = 0;