EasyMCU 1.0.0
Утилита для прошивки МК К1946ВМ014 по протоколу STK500v1
Загрузка...
Поиск...
Не найдено
Файл easymcu.cpp

Утилита командной строки для обновления ПО микроконтроллеров с optiboot. Подробнее...

#include <iostream>
#include <string>
#include <vector>
#include <cstring>
#include <algorithm>
#include <iomanip>
#include "../lib/serialib.h"
#include "stk500v1.h"

Классы

struct  McuInfo
 Параметры конкретного микроконтроллера. Дополнить по мере расширения, но можно без флага -m. Подробнее...

Макросы

#define APP_NAME   "easymcu"
#define APP_VERSION   "dev-build"

Функции

static bool findMcu (const std::string &name, McuInfo &info)
void printVersion ()
static void printHelp (const char *progName)
static bool checkSignature (STK500v1 &loader, const McuInfo *mcu)
int main (int argc, char *argv[])

Переменные

static const McuInfo kKnownMcu []
 Таблица известных микроконтроллеров
static const size_t kKnownMcuCount = sizeof(kKnownMcu) / sizeof(kKnownMcu[0])

Подробное описание

Утилита командной строки для обновления ПО микроконтроллеров с optiboot.

Автор
Влад Рябчевский
Дата
22.08.2026

Программа поддерживает команды:

  • info — чтение сигнатуры устройства
  • read — чтение Flash в файл HEX
  • write — запись HEX во Flash
  • verify — верификация записанной прошивки
  • read_eeprom — чтение EEPROM в файл HEX
  • write_eeprom — запись HEX в EEPROM
  • verify_eeprom — верификация EEPROM

Макросы

◆ APP_NAME

#define APP_NAME   "easymcu"

◆ APP_VERSION

#define APP_VERSION   "dev-build"

Функции

◆ checkSignature()

bool checkSignature ( STK500v1 & loader,
const McuInfo * mcu )
static

Проверка сигнатуры микроконтроллера

Возвращает
true если сигнатура совпадает или чип не указан

◆ findMcu()

bool findMcu ( const std::string & name,
McuInfo & info )
static

Поиск микроконтроллера

Аргументы
[in]nameимя из параметра –mcu
[out]infoзаполняется при успешном поиске
Возвращает
true если найдено

◆ main()

int main ( int argc,
char * argv[] )

Основной рабочий цикл

◆ printHelp()

void printHelp ( const char * progName)
static

Вывод короткой справки

◆ printVersion()

void printVersion ( )

Вывод версии

Переменные

◆ kKnownMcu

const McuInfo kKnownMcu[]
static
Инициализатор
=
{
{
"k1946vm014",
"К1946ВМ014 (совместим с ATmega8535)",
{0x1E, 0x93, 0x08},
8192,
512,
64,
4
}}

Таблица известных микроконтроллеров

◆ kKnownMcuCount

const size_t kKnownMcuCount = sizeof(kKnownMcu) / sizeof(kKnownMcu[0])
static