// SPDX-License-Identifier: Apache-2.0/** Copyright (C) 2019 Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>*/#include <iostream>#include <stdexcept>#include "device.hpp"using namespace std;Device::Device(Jtag *jtag, string filename, const string &file_type,bool verify, int8_t verbose):_filename(filename),_file_extension(filename.substr(filename.find_last_of(".") +1)),_mode(NONE_MODE), _verify(verify), _verbose(verbose > 0),_verbose_level(verbose), _quiet(verbose < 0){/* extension overwritten by user */if (!file_type.empty()) {_file_extension = file_type;/* check if extension and some specific type */} else if (!filename.empty()) {size_t offset = filename.find_last_of(".");/* no extension => consider raw */if (offset == string::npos) {_file_extension = "raw";/* compressed file ? */} else if (_file_extension.substr(0, 2) == "gz") {size_t offset2 = filename.find_last_of(".", offset - 1);/* no more extension -> error */if (offset2 == string::npos) {char mess[256];snprintf(mess, sizeof(mess), "\nfile %s is compressed\n""but can't determine real type\n""please add correct extension or use --file-type",filename.c_str());throw std::runtime_error(mess);} else { /* extract sub extension */_file_extension = _filename.substr(offset2 + 1,offset - offset2 - 1);}}}_jtag = jtag;if (verbose > 0)cout << "File type : " << _file_extension << endl;}Device::~Device() {}void Device::reset(){throw std::runtime_error("Not implemented");}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。