// Copyright (C) 2019 Andrey Sobol // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #pragma once #include "gdbserverprovider.h" QT_BEGIN_NAMESPACE class QCheckBox; class QPlainTextEdit; QT_END_NAMESPACE namespace Utils { class PathChooser; } namespace BareMetal { namespace Internal { // EBlinkGdbServerProvider class EBlinkGdbServerProvider final : public GdbServerProvider { public: enum InterfaceType { SWD, JTAG }; QVariantMap toMap() const final; bool fromMap(const QVariantMap &data) final; bool operator==(const IDebugServerProvider &other) const final; QString channelString() const final; Utils::CommandLine command() const final; QSet supportedStartupModes() const final; bool isValid() const final; private: EBlinkGdbServerProvider(); static QString defaultInitCommands(); static QString defaultResetCommands(); Utils::FilePath m_executableFile = "eblink"; // server execute filename int m_verboseLevel = 0; // verbose <0..7> Specify generally verbose logging InterfaceType m_interfaceType = SWD; // -I stlink ;swd(default) jtag Utils::FilePath m_deviceScript = "stm32-auto.script"; // -D