More tidying
This commit is contained in:
@@ -108,7 +108,8 @@ namespace Bloom::DebugServer::Gdb::AvrGdb::CommandPackets
|
|||||||
* GDB with an error response.
|
* GDB with an error response.
|
||||||
*/
|
*/
|
||||||
Logger::debug(
|
Logger::debug(
|
||||||
"GDB requested access to memory which is outside the target's memory range - returning error response"
|
"GDB requested access to memory which is outside the target's memory range - returning error "
|
||||||
|
"response"
|
||||||
);
|
);
|
||||||
debugSession.connection.writePacket(ErrorResponsePacket());
|
debugSession.connection.writePacket(ErrorResponsePacket());
|
||||||
return;
|
return;
|
||||||
@@ -139,9 +140,7 @@ namespace Bloom::DebugServer::Gdb::AvrGdb::CommandPackets
|
|||||||
memoryBuffer.insert(memoryBuffer.end(), (this->bytes - bytesToRead), 0x00);
|
memoryBuffer.insert(memoryBuffer.end(), (this->bytes - bytesToRead), 0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
debugSession.connection.writePacket(
|
debugSession.connection.writePacket(ResponsePacket(Packet::toHex(memoryBuffer)));
|
||||||
ResponsePacket(Packet::toHex(memoryBuffer))
|
|
||||||
);
|
|
||||||
|
|
||||||
} catch (const Exception& exception) {
|
} catch (const Exception& exception) {
|
||||||
Logger::error("Failed to read memory from target - " + exception.getMessage());
|
Logger::error("Failed to read memory from target - " + exception.getMessage());
|
||||||
|
|||||||
@@ -78,6 +78,21 @@ namespace Bloom::DebugServer::Gdb::AvrGdb::CommandPackets
|
|||||||
throw Exception("Target does not support the requested memory type.");
|
throw Exception("Target does not support the requested memory type.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this->memoryType == Targets::TargetMemoryType::FLASH) {
|
||||||
|
/*
|
||||||
|
* This shouldn't happen - GDB should send the FlashWrite (vFlashWrite) packet to write to the target's
|
||||||
|
* program memory.
|
||||||
|
*
|
||||||
|
* A number of actions have to be taken before we can write to the target's program memory - this is
|
||||||
|
* all covered in the FlashWrite and FlashDone command classes. I don't want to cover it again in here,
|
||||||
|
* so just respond with an error and request that this issue be reported.
|
||||||
|
*/
|
||||||
|
throw Exception(
|
||||||
|
"GDB attempted to write to program memory via an \"M\" packet - this is not supported. Please "
|
||||||
|
"report this issue to Bloom developers with the full debug log."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (this->buffer.size() == 0) {
|
if (this->buffer.size() == 0) {
|
||||||
debugSession.connection.writePacket(OkResponsePacket());
|
debugSession.connection.writePacket(OkResponsePacket());
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user