Made the EDBG CMSIS-DAP command delay optional for all debug tools, and disabled it by default.
The command delay was really choking Bloom's EDBG driver, causing a very noticeable drag on Bloom's performance. It's much faster with the command delay disabled. There was a good reason for why I introduced this some time ago. Without it, some EDBG debug tools were misbehaving - I remember that for certain. But now, I cannot seem to reproduce these issues. Very odd. If the issues do reappear, I may have to enable the command delay by default, again, for some debug tools. For now, if any users experience issues, I'll just suggest they manually enable the command delay via their project config. Also, I'm not going to document this new config option, as I would prefer the user to approach me if they experience issues as a result of this, so that I'll know if it needs revisiting.
This commit is contained in:
@@ -315,66 +315,69 @@ namespace TargetController
|
||||
std::string,
|
||||
std::function<std::unique_ptr<DebugTool>()>
|
||||
> TargetControllerComponent::getSupportedDebugTools() {
|
||||
using namespace DebugToolDrivers::Microchip;
|
||||
using namespace DebugToolDrivers::Wch;
|
||||
|
||||
// The debug tool names in this mapping should always be lower-case.
|
||||
return std::map<std::string, std::function<std::unique_ptr<DebugTool>()>> {
|
||||
{
|
||||
"atmel-ice",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::AtmelIce>();
|
||||
[this] {
|
||||
return std::make_unique<AtmelIce>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"power-debugger",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::PowerDebugger>();
|
||||
[this] {
|
||||
return std::make_unique<PowerDebugger>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"snap",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::MplabSnap>();
|
||||
[this] {
|
||||
return std::make_unique<MplabSnap>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"pickit-4",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::MplabPickit4>();
|
||||
[this] {
|
||||
return std::make_unique<MplabPickit4>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"xplained-pro",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::XplainedPro>();
|
||||
[this] {
|
||||
return std::make_unique<XplainedPro>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"xplained-mini",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::XplainedMini>();
|
||||
[this] {
|
||||
return std::make_unique<XplainedMini>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"xplained-nano",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::XplainedNano>();
|
||||
[this] {
|
||||
return std::make_unique<XplainedNano>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"curiosity-nano",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::CuriosityNano>();
|
||||
[this] {
|
||||
return std::make_unique<CuriosityNano>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"jtagice3",
|
||||
[] {
|
||||
return std::make_unique<DebugToolDrivers::Microchip::JtagIce3>();
|
||||
[this] {
|
||||
return std::make_unique<JtagIce3>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
{
|
||||
"wch-link-e",
|
||||
[this] {
|
||||
return std::make_unique<DebugToolDrivers::Wch::WchLinkE>(this->environmentConfig.debugToolConfig);
|
||||
return std::make_unique<WchLinkE>(this->environmentConfig.debugToolConfig);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user