forked from qt-creator/qt-creator
Start on using enum for commands.
This commit is contained in:
@@ -175,10 +175,10 @@ bool Adapter::startServer()
|
|||||||
}
|
}
|
||||||
|
|
||||||
sendTrkInitialPing();
|
sendTrkInitialPing();
|
||||||
sendTrkMessage(0x01); // Connect
|
sendTrkMessage(TrkConnect); // Connect
|
||||||
sendTrkMessage(0x05, CB(handleSupportMask));
|
sendTrkMessage(TrkSupported, CB(handleSupportMask));
|
||||||
sendTrkMessage(0x06, CB(handleCpuType));
|
sendTrkMessage(TrkCpuType, CB(handleCpuType));
|
||||||
sendTrkMessage(0x04); // Versions
|
sendTrkMessage(TrkVersions); // Versions
|
||||||
// sendTrkMessage(0x09); // Unrecognized command
|
// sendTrkMessage(0x09); // Unrecognized command
|
||||||
startInferiorIfNeeded();
|
startInferiorIfNeeded();
|
||||||
return true;
|
return true;
|
||||||
@@ -380,7 +380,7 @@ void Adapter::handleResult(const TrkResult &result)
|
|||||||
QByteArray prefix = "READ BUF: ";
|
QByteArray prefix = "READ BUF: ";
|
||||||
QByteArray str = result.toString().toUtf8();
|
QByteArray str = result.toString().toUtf8();
|
||||||
switch (result.code) {
|
switch (result.code) {
|
||||||
case 0x80: { // ACK
|
case TrkNotifyAck: { // ACK
|
||||||
//logMessage(prefix + "ACK: " + str);
|
//logMessage(prefix + "ACK: " + str);
|
||||||
if (!result.data.isEmpty() && result.data.at(0))
|
if (!result.data.isEmpty() && result.data.at(0))
|
||||||
logMessage(prefix + "ERR: " +QByteArray::number(result.data.at(0)));
|
logMessage(prefix + "ERR: " +QByteArray::number(result.data.at(0)));
|
||||||
@@ -402,13 +402,13 @@ void Adapter::handleResult(const TrkResult &result)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0xff: { // NAK
|
case TrkNotifyNak: { // NAK
|
||||||
logMessage(prefix + "NAK: " + str);
|
logMessage(prefix + "NAK: " + str);
|
||||||
//logMessage(prefix << "TOKEN: " << result.token);
|
//logMessage(prefix << "TOKEN: " << result.token);
|
||||||
logMessage(prefix + "ERROR: " + errorMessage(result.data.at(0)));
|
logMessage(prefix + "ERROR: " + errorMessage(result.data.at(0)));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x90: { // Notified Stopped
|
case TrkNotifyStopped: { // Notified Stopped
|
||||||
logMessage(prefix + "NOTE: STOPPED " + str);
|
logMessage(prefix + "NOTE: STOPPED " + str);
|
||||||
// 90 01 78 6a 40 40 00 00 07 23 00 00 07 24 00 00
|
// 90 01 78 6a 40 40 00 00 07 23 00 00 07 24 00 00
|
||||||
//const char *data = result.data.data();
|
//const char *data = result.data.data();
|
||||||
@@ -419,19 +419,19 @@ void Adapter::handleResult(const TrkResult &result)
|
|||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x91: { // Notify Exception (obsolete)
|
case TrkNotifyException: { // Notify Exception (obsolete)
|
||||||
logMessage(prefix + "NOTE: EXCEPTION " + str);
|
logMessage(prefix + "NOTE: EXCEPTION " + str);
|
||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x92: { //
|
case TrkNotifyInternalError: { //
|
||||||
logMessage(prefix + "NOTE: INTERNAL ERROR: " + str);
|
logMessage(prefix + "NOTE: INTERNAL ERROR: " + str);
|
||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// target->host OS notification
|
// target->host OS notification
|
||||||
case 0xa0: { // Notify Created
|
case TrkNotifyCreated: { // Notify Created
|
||||||
/*
|
/*
|
||||||
const char *data = result.data.data();
|
const char *data = result.data.data();
|
||||||
byte error = result.data.at(0);
|
byte error = result.data.at(0);
|
||||||
@@ -458,26 +458,26 @@ void Adapter::handleResult(const TrkResult &result)
|
|||||||
QByteArray ba;
|
QByteArray ba;
|
||||||
appendInt(&ba, m_session.pid);
|
appendInt(&ba, m_session.pid);
|
||||||
appendInt(&ba, m_session.tid);
|
appendInt(&ba, m_session.tid);
|
||||||
sendTrkMessage(0x18, 0, ba, "CONTINUE");
|
sendTrkMessage(TrkContinue, 0, ba, "CONTINUE");
|
||||||
//sendTrkAck(result.token)
|
//sendTrkAck(result.token)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0xa1: { // NotifyDeleted
|
case TrkNotifyDeleted: { // NotifyDeleted
|
||||||
logMessage(prefix + "NOTE: LIBRARY UNLOAD: " + str);
|
logMessage(prefix + "NOTE: LIBRARY UNLOAD: " + str);
|
||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0xa2: { // NotifyProcessorStarted
|
case TrkNotifyProcessorStarted: { // NotifyProcessorStarted
|
||||||
logMessage(prefix + "NOTE: PROCESSOR STARTED: " + str);
|
logMessage(prefix + "NOTE: PROCESSOR STARTED: " + str);
|
||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0xa6: { // NotifyProcessorStandby
|
case TrkNotifyProcessorStandBy: { // NotifyProcessorStandby
|
||||||
logMessage(prefix + "NOTE: PROCESSOR STANDBY: " + str);
|
logMessage(prefix + "NOTE: PROCESSOR STANDBY: " + str);
|
||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0xa7: { // NotifyProcessorReset
|
case TrkNotifyProcessorReset: { // NotifyProcessorReset
|
||||||
logMessage(prefix + "NOTE: PROCESSOR RESET: " + str);
|
logMessage(prefix + "NOTE: PROCESSOR RESET: " + str);
|
||||||
sendTrkAck(result.token);
|
sendTrkAck(result.token);
|
||||||
break;
|
break;
|
||||||
@@ -522,7 +522,7 @@ void Adapter::handleCreateProcess(const TrkResult &result)
|
|||||||
QByteArray ba;
|
QByteArray ba;
|
||||||
appendInt(&ba, m_session.pid);
|
appendInt(&ba, m_session.pid);
|
||||||
appendInt(&ba, m_session.tid);
|
appendInt(&ba, m_session.tid);
|
||||||
sendTrkMessage(0x18, 0, ba, "CONTINUE");
|
sendTrkMessage(TrkContinue, 0, ba, "CONTINUE");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Adapter::handleWaitForFinished(const TrkResult &result)
|
void Adapter::handleWaitForFinished(const TrkResult &result)
|
||||||
@@ -557,7 +557,7 @@ void Adapter::cleanUp()
|
|||||||
appendByte(&ba, 0x00);
|
appendByte(&ba, 0x00);
|
||||||
appendByte(&ba, 0x00);
|
appendByte(&ba, 0x00);
|
||||||
appendInt(&ba, m_session.pid);
|
appendInt(&ba, m_session.pid);
|
||||||
sendTrkMessage(0x41, 0, ba, "Delete process");
|
sendTrkMessage(TrkDeleteItem, 0, ba, "Delete process");
|
||||||
|
|
||||||
//---TRK------------------------------------------------------
|
//---TRK------------------------------------------------------
|
||||||
// Command: 0x80 Acknowledge
|
// Command: 0x80 Acknowledge
|
||||||
@@ -614,7 +614,7 @@ void Adapter::startInferiorIfNeeded()
|
|||||||
file.append('\0');
|
file.append('\0');
|
||||||
file.append('\0');
|
file.append('\0');
|
||||||
appendString(&ba, file, TargetByteOrder);
|
appendString(&ba, file, TargetByteOrder);
|
||||||
sendTrkMessage(0x40, CB(handleCreateProcess), ba); // Create Item
|
sendTrkMessage(TrkCreateItem, CB(handleCreateProcess), ba); // Create Item
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
@@ -39,6 +39,27 @@ typedef unsigned char byte;
|
|||||||
|
|
||||||
namespace trk {
|
namespace trk {
|
||||||
|
|
||||||
|
enum Command {
|
||||||
|
TrkConnect = 0x01,
|
||||||
|
TrkVersions = 0x04,
|
||||||
|
TrkSupported = 0x05,
|
||||||
|
TrkCpuType = 0x06,
|
||||||
|
TrkContinue = 0x18,
|
||||||
|
TrkCreateItem = 0x40,
|
||||||
|
TrkDeleteItem = 0x41,
|
||||||
|
|
||||||
|
TrkNotifyAck = 0x80,
|
||||||
|
TrkNotifyNak = 0xff,
|
||||||
|
TrkNotifyStopped = 0x90,
|
||||||
|
TrkNotifyException = 0x91,
|
||||||
|
TrkNotifyInternalError = 0x92,
|
||||||
|
TrkNotifyCreated = 0xa0,
|
||||||
|
TrkNotifyDeleted = 0xa1,
|
||||||
|
TrkNotifyProcessorStarted = 0xa2,
|
||||||
|
TrkNotifyProcessorStandBy = 0xa6,
|
||||||
|
TrkNotifyProcessorReset = 0xa7
|
||||||
|
};
|
||||||
|
|
||||||
QByteArray decode7d(const QByteArray &ba);
|
QByteArray decode7d(const QByteArray &ba);
|
||||||
QByteArray encode7d(const QByteArray &ba);
|
QByteArray encode7d(const QByteArray &ba);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user