Massive refactor to accommodate RISC-V targets

- Refactored entire codebase (excluding the Insight component) to accommodate multiple target architectures (no longer specific to AVR)
- Deleted 'generate SVD' GDB monitor command - I will eventually move this functionality to the Bloom website
- Added unit size property to address spaces
- Many other changes which I couldn't be bothered to describe here
This commit is contained in:
Nav
2024-07-23 21:14:22 +01:00
parent 2986934485
commit 6cdbfbe950
331 changed files with 8815 additions and 8565 deletions

View File

@@ -1,10 +1,14 @@
#pragma once
#include <cstdint>
#include <string>
#include <vector>
#include "TargetPinDescriptor.hpp"
namespace Targets
{
enum class PinoutType: std::uint8_t
enum class TargetPinoutType: std::uint8_t
{
SOIC,
SSOP,
@@ -15,4 +19,28 @@ namespace Targets
MLF,
BGA,
};
struct TargetPinoutDescriptor
{
public:
std::string key;
std::string name;
TargetPinoutType type;
std::vector<TargetPinDescriptor> pinDescriptors;
TargetPinoutDescriptor(
const std::string& key,
const std::string& name,
TargetPinoutType type,
std::vector<TargetPinDescriptor>&& pinDescriptors
);
TargetPinoutDescriptor(const TargetPinoutDescriptor& other) = delete;
TargetPinoutDescriptor& operator = (const TargetPinoutDescriptor& other) = delete;
TargetPinoutDescriptor(TargetPinoutDescriptor&& other) noexcept = default;
TargetPinoutDescriptor& operator = (TargetPinoutDescriptor&& other) = default;
bool operator == (const TargetPinoutDescriptor& other) const;
};
}