diff --git a/.clang-tidy b/.clang-tidy index 2eafd329..f1adc8bb 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -26,7 +26,7 @@ Checks: > -misc-non-private-member-variables-in-classes, -bugprone-easily-swappable-parameters, -# Disabling this until https://github.com/llvm/llvm-project/issues/47384 is fixed. +# Disabling this until https://github.com/llvm/llvm-project/issues/47384 is fixed. -cppcoreguidelines-avoid-non-const-global-variables, CheckOptions: diff --git a/README.md b/README.md index 6eb253d2..ff5f58da 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,10 @@ dedicated thread. See the [TargetController documentation](./src/TargetControlle src/TargetController/ for more. ##### DebugServer -The DebugServer exposes an interface to the connected target, for third-party programs such as IDEs. Currently, Bloom -only supports one server - the AVR GDB RSP server. With this server, any IDE with GDB RSP support can interface with -Bloom and thus the connected AVR target. The DebugServer runs on a dedicated thread. See the +The DebugServer exposes an interface to the connected target, for third-party programs such as GDB and IDEs (GDB +front-ends). Currently, Bloom only supports one server - the AVR GDB RSP server. With this server, any AVR compatible +GDB binary (or any IDE with GDB RSP support) can interface with Bloom and thus the connected AVR target. The +DebugServer runs on a dedicated thread. See the [DebugServer documentation](./src/DebugServer/README.md) and source code in src/DebugServer/ for more. ##### Insight diff --git a/src/DebugToolDrivers/Microchip/EdbgDevice.cpp b/src/DebugToolDrivers/Microchip/EdbgDevice.cpp index d4f361bd..ed3717ef 100644 --- a/src/DebugToolDrivers/Microchip/EdbgDevice.cpp +++ b/src/DebugToolDrivers/Microchip/EdbgDevice.cpp @@ -30,17 +30,17 @@ namespace Bloom::DebugToolDrivers void EdbgDevice::init() { UsbDevice::init(); - auto usbHidInterface = Usb::HidInterface(this->cmsisHidInterfaceNumber, this->vendorId, this->productId); + auto cmsisHidInterface = Usb::HidInterface(this->cmsisHidInterfaceNumber, this->vendorId, this->productId); - this->detachKernelDriverFromInterface(usbHidInterface.interfaceNumber); + this->detachKernelDriverFromInterface(cmsisHidInterface.interfaceNumber); if (this->configurationIndex.has_value()) { this->setConfiguration(this->configurationIndex.value()); } - usbHidInterface.init(); + cmsisHidInterface.init(); - this->edbgInterface = std::make_unique(std::move(usbHidInterface)); + this->edbgInterface = std::make_unique(std::move(cmsisHidInterface)); /* * The EDBG/CMSIS-DAP interface doesn't operate properly when sending commands too quickly. diff --git a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.cpp b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.cpp index 127f13ea..778edb9e 100644 --- a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.cpp +++ b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.cpp @@ -8,8 +8,8 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg { using namespace Bloom::Exceptions; - EdbgInterface::EdbgInterface(Usb::HidInterface&& usbHidInterface) - : CmsisDapInterface(std::move(usbHidInterface)) + EdbgInterface::EdbgInterface(Usb::HidInterface&& cmsisHidInterface) + : CmsisDapInterface(std::move(cmsisHidInterface)) {} Protocols::CmsisDap::Response EdbgInterface::sendAvrCommandsAndWaitForResponse( diff --git a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.hpp b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.hpp index f0b368ea..16eb03bc 100644 --- a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.hpp +++ b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/EdbgInterface.hpp @@ -24,7 +24,7 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg class EdbgInterface: public CmsisDapInterface { public: - explicit EdbgInterface(Usb::HidInterface&& usbHidInterface); + explicit EdbgInterface(Usb::HidInterface&& cmsisHidInterface); /** * Send an AvrCommandFrame to the debug tool and wait for a response. diff --git a/src/Targets/Microchip/AVR/AVR8/Avr8TargetConfig.cpp b/src/Targets/Microchip/AVR/AVR8/Avr8TargetConfig.cpp index 1f2fa68e..c775abc7 100644 --- a/src/Targets/Microchip/AVR/AVR8/Avr8TargetConfig.cpp +++ b/src/Targets/Microchip/AVR/AVR8/Avr8TargetConfig.cpp @@ -6,7 +6,9 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit { - Avr8TargetConfig::Avr8TargetConfig(const TargetConfig& targetConfig): TargetConfig(targetConfig) { + Avr8TargetConfig::Avr8TargetConfig(const TargetConfig& targetConfig) + : TargetConfig(targetConfig) + { using Bloom::Exceptions::InvalidConfig; const auto& targetNode = targetConfig.targetNode;