From 687503673eec4eb3799117ffd5607301a1458a0d Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Wed, 9 Feb 2022 08:32:41 +0100 Subject: [PATCH] jtag: for unknown IDCODE display a more complete error --- src/jtag.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/jtag.cpp b/src/jtag.cpp index a2b544e..0ac6813 100644 --- a/src/jtag.cpp +++ b/src/jtag.cpp @@ -5,8 +5,10 @@ #include +#include #include #include +#include #include #include #include @@ -152,9 +154,16 @@ int Jtag::detectChain(int max_dev) found = search_and_insert_device_with_idcode(tmp); if (!found) { - char error[256]; - snprintf(error, 256, "Unknown device with IDCODE: 0x%08x", - tmp); + uint16_t mfg = IDCODE2MANUFACTURERID(tmp); + uint8_t part = IDCODE2PART(tmp); + uint8_t vers = IDCODE2VERS(tmp); + + char error[1024]; + snprintf(error, sizeof(error), + "Unknown device with IDCODE: 0x%08x" + " (manufacturer: 0x%03x (%s)," + " part: 0x%02x vers: 0x%x", tmp, + mfg, list_manufacturer[mfg].c_str(), part, vers); throw std::runtime_error(error); } }