REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
|
Loading...
Searching...
No Matches
plugin.cpp
Go to the documentation of this file.
152 return_err(1, "Already have plugin loaded, can only load one plugin at a time. Call unload before.");
154 return_err(2, "PluginLoader cannot load code. This is currently most likely due to the missing compile "
163 "Require matching load address for verification. This SinglePluginLoader can only load from: [todo]");
166 return_err(5, "ABI mismatch: You built against [your firmware sha256] but we run [our sha256]");
static ETL_CONSTEXPR14 etl::enable_if< etl::is_integral< T >::value &&(etl::integral_limits< T >::bits==8U), size_t >::type decode(const char *input, size_t input_length, T *output, size_t output_length)
Decode from Base64 from and to pointer/length.
Definition etl_base64.h:293
virtual int load_and_execute(JsonObjectConst msg_in, JsonObject &msg_out)
load from protocol message, gives out reply msg, returns 0 on success
Definition plugin.cpp:150
Definition flasher.h:7
void convertToJson(const GlobalPluginLoader &src, JsonVariant dst)
Definition plugin.cpp:99
void convertFromJson(JsonVariantConst src, Function &f)
Definition plugin.cpp:67
Definition handler.h:10
uint8_t * assert_callable(uint8_t *addr)
ARM32 requires callable addresses to be memory aligned.
Definition align.h:23
#define M(name)
#define CALL(type, sig)
void prepare_mpu()
At the time being, we completely disable the Memory Protection Unit in order to enable our plugin sys...
Definition plugin.cpp:30
FLASHMEM std::string shortened_hexdump(uint8_t *mem, size_t size)
Definition plugin.cpp:88
FLASHMEM void dispatch(uint8_t *callee, Function::Returns ret_type, JsonVariant ret)
Definition plugin.cpp:123
A jumpable function, ie something with a signature "ret_type foo();", located at relative or absolute...
Definition plugin.h:18
Reserves storage in the data segment (address space that constains static variables,...
Definition plugin.h:96
A plugin (a synonym could also be "extension" or "module") is a small piece of user-defined code whic...
Definition plugin.h:47
Function entry
entry points ("constructor function"). entry.addr is relative to load_addr.
Definition plugin.h:50
optional< Function > exit
destructor function. entry.addr is relative to load_addr.
Definition plugin.h:51
uint8_t * load_addr
Absolute address of the memory segment. It is always (plugin->load_addr = load_addr).
Definition plugin.h:65
uint32_t memsize
The maximum memory size managed/accessible/available by this loader. It is always (plugin->size <= me...
Definition plugin.h:66
static utils::sha256 sha256sum()
Computes a SHA256 hash of the program image stored on Flash.
Definition hashflash.h:40
Definition dcp.h:64
Memory Processing Unit macros from framework-arduinoteensy/cores/teensy4/startup.c.