Tidying
This commit is contained in:
@@ -34,9 +34,10 @@ dedicated thread. See the [TargetController documentation](./src/TargetControlle
|
|||||||
src/TargetController/ for more.
|
src/TargetController/ for more.
|
||||||
|
|
||||||
##### DebugServer
|
##### DebugServer
|
||||||
The DebugServer exposes an interface to the connected target, for third-party programs such as IDEs. Currently, Bloom
|
The DebugServer exposes an interface to the connected target, for third-party programs such as GDB and IDEs (GDB
|
||||||
only supports one server - the AVR GDB RSP server. With this server, any IDE with GDB RSP support can interface with
|
front-ends). Currently, Bloom only supports one server - the AVR GDB RSP server. With this server, any AVR compatible
|
||||||
Bloom and thus the connected AVR target. The DebugServer runs on a dedicated thread. See the
|
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.
|
[DebugServer documentation](./src/DebugServer/README.md) and source code in src/DebugServer/ for more.
|
||||||
|
|
||||||
##### Insight
|
##### Insight
|
||||||
|
|||||||
@@ -30,17 +30,17 @@ namespace Bloom::DebugToolDrivers
|
|||||||
void EdbgDevice::init() {
|
void EdbgDevice::init() {
|
||||||
UsbDevice::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()) {
|
if (this->configurationIndex.has_value()) {
|
||||||
this->setConfiguration(this->configurationIndex.value());
|
this->setConfiguration(this->configurationIndex.value());
|
||||||
}
|
}
|
||||||
|
|
||||||
usbHidInterface.init();
|
cmsisHidInterface.init();
|
||||||
|
|
||||||
this->edbgInterface = std::make_unique<EdbgInterface>(std::move(usbHidInterface));
|
this->edbgInterface = std::make_unique<EdbgInterface>(std::move(cmsisHidInterface));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The EDBG/CMSIS-DAP interface doesn't operate properly when sending commands too quickly.
|
* The EDBG/CMSIS-DAP interface doesn't operate properly when sending commands too quickly.
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg
|
|||||||
{
|
{
|
||||||
using namespace Bloom::Exceptions;
|
using namespace Bloom::Exceptions;
|
||||||
|
|
||||||
EdbgInterface::EdbgInterface(Usb::HidInterface&& usbHidInterface)
|
EdbgInterface::EdbgInterface(Usb::HidInterface&& cmsisHidInterface)
|
||||||
: CmsisDapInterface(std::move(usbHidInterface))
|
: CmsisDapInterface(std::move(cmsisHidInterface))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
Protocols::CmsisDap::Response EdbgInterface::sendAvrCommandsAndWaitForResponse(
|
Protocols::CmsisDap::Response EdbgInterface::sendAvrCommandsAndWaitForResponse(
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg
|
|||||||
class EdbgInterface: public CmsisDapInterface
|
class EdbgInterface: public CmsisDapInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit EdbgInterface(Usb::HidInterface&& usbHidInterface);
|
explicit EdbgInterface(Usb::HidInterface&& cmsisHidInterface);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send an AvrCommandFrame to the debug tool and wait for a response.
|
* Send an AvrCommandFrame to the debug tool and wait for a response.
|
||||||
|
|||||||
@@ -6,7 +6,9 @@
|
|||||||
|
|
||||||
namespace Bloom::Targets::Microchip::Avr::Avr8Bit
|
namespace Bloom::Targets::Microchip::Avr::Avr8Bit
|
||||||
{
|
{
|
||||||
Avr8TargetConfig::Avr8TargetConfig(const TargetConfig& targetConfig): TargetConfig(targetConfig) {
|
Avr8TargetConfig::Avr8TargetConfig(const TargetConfig& targetConfig)
|
||||||
|
: TargetConfig(targetConfig)
|
||||||
|
{
|
||||||
using Bloom::Exceptions::InvalidConfig;
|
using Bloom::Exceptions::InvalidConfig;
|
||||||
|
|
||||||
const auto& targetNode = targetConfig.targetNode;
|
const auto& targetNode = targetConfig.targetNode;
|
||||||
|
|||||||
Reference in New Issue
Block a user