|
libmicroemu 0.2.0
ARM Microcontroller Emulator Library
|
Welcome to the Programmer's Manual for the libmicroemu Library!
It is a work in progress and will be updated regularly.
libmicroemu.libmicroemu::internal. These are not accessible to library users.libmicroemu ensures consistent and predictable handling of errors across all APIs. Focused on performance and simplicity, it avoids exceptions in favor of lightweight mechanisms.libmicroemu::StatusCode: libmicroemu::StatusCode::kSuccess) and various error categories such as memory issues (libmicroemu::StatusCode::kMemInaccesible), decoding failures (libmicroemu::StatusCode::kDecoderUnknownOpCode), and ELF-related errors (libmicroemu::StatusCode::kElfNotValid).libmicroemu::StatusCodeToString: StatusCode into a human-readable string for debugging and logging purposes.libmicroemu::internal::Result Class: StatusCode in case of failure. Provides flexibility for handling complex results.libmicroemu is used for tracking emulator activity, debugging, and performance monitoring.libmicroemu::Machine::RegisterLoggerCallback. libmicroemu::LogLevel: libmicroemu::LogLevel::kTrace and above. libmicroemu::LogLevel::kInfo and above.Here’s an example demonstrating a typical use case for the emulator:
0x000000000x20000000libmicroemu::Machine::SetFlashSegment.libmicroemu::Machine::SetRam1Segment (optionally libmicroemu::Machine::SetRam2Segment for additional RAM).libmicroemu::Machine::Load.libmicroemu::Machine::Exec.exit() in the emulated program (handles termination automatically).TBD