// SPDX-License-Identifier: Apache-2.0 /* * Copyright (C) 2019-2025 Gwenhael Goavec-Merou */ #ifndef MCSPARSER_HPP #define MCSPARSER_HPP #include #include #include #include "configBitstreamParser.hpp" #include "spiFlash.hpp" class McsParser: public ConfigBitstreamParser { public: McsParser(const std::string &filename, bool reverseOrder, bool verbose); int parse() override; size_t getRecordCount() const noexcept { return _records.size(); } const FlashDataSection &getRecord(size_t record_id) const { return _records.at(record_id); } const std::vector &getRecordData(size_t record_id) const { return _records.at(record_id).getRecord(); } uint32_t getRecordBaseAddr(size_t record_id) const { return _records.at(record_id).getStartAddr(); } size_t getRecordLength(size_t record_id) const { return _records.at(record_id).getLength(); } const std::vector &getRecords() const noexcept { return _records; } private: int _base_addr; bool _reverseOrder; std::vector _records; }; #endif