
Effiziente und sichere Datenspeicherung mit dem Embedded Logger
Jetzt beraten lassenEin Embedded Logger ermöglicht das effiziente und sichere Lesen und Speichern von Binärdaten auf einem nichtflüchtigen Speicher. Zusätzlich zu den Daten können zu jedem Eintrag Levelinformationen, wie DEBUG, ERROR oder FATAL, und eine Zeitinformation abgelegt werden. Die Überprüfung der Richtigkeit eines Eintrags auf einem Embedded Logger wird durch die Verwendung einer CRC sichergestellt.
Komponenten
– inklusive individueller Projektintegration –

Logik
Logger

Datenprüfung
Software Crc
Hardware Crc

Datenspeicherung
NOR-Flash
NAND-Flash
EEPROM
Der Embedded Logger ist so konzipiert, dass er für Sie in wenigen Minuten einsatzbereit ist. Mit dem verwendeten Signal / Slot System ist das Handling einfach und nachvollziehbar umgesetzt.
Wahlweise kann der Logger so konfiguriert werden, dass die ältesten Einträge überschrieben werden, wenn der zugewiesene Speicher voll ist.
Der Embedded Logger von semf hat ein generisches Speicher-Interface, sodass er mit allen üblichen Speichertechnologien kombiniert werden kann. Als Speicher kann sowohl der interne Flash des Mikrocontrollers selbst, ein externer NOR- oder NAND-Flash oder ein EEPROM genutzt werden.
Um sicherzustellen, dass die ausgelesenen Daten auch korrekt sind, kann ein CRC zum Einsatz kommen. Sofern der eingesetzte Mikrocontroller eine Hardware-CRC-Einheit besitzt, kann diese verwendet werden. Alternativ stehen eine 8-, 16- und 32-Bit Software-CRC zur Verfügung. Beides kann ganz einfach mit dem Logger verbunden und damit genutzt werden. Konfigurationen ohne CRC sind ebenfalls möglich.
Beispiel
Im folgenden Beispiel wird der Logger auf Flash-Speicherbasis initialisiert.
Anschließend wird ein Eintrag geschrieben und wieder ausgelesen.
// data buffer for write and read operation uint8_t data[100]; // RTC holding class semf::SystemClock systemclock; // hardware and software CRC supported semf::Crc8Software crc; // class depends on the used hardware semf::Flash flash; semf::FlashLogger logger( flash, crc, semf::Logger::TimeFormat::DATETIME, /* Saves DATE and TIME information */ sizeof(data), /* Size of data to be handled by one entry */ true, /* Overwrite old entries if memory is full */ 6, /* First flash sector used by logger */ 10); /* Last flash sector used by logger */ // Logger entry data holding object semf::Logger::Entry entry /** * 1. connectes the signals with the slots and * 2. starts the logger initialisation. */ void init() { logger.initialized.connect(&onInitialized); logger.entryWritten.connect(&onEntryWritten); logger.entryAvailable.connect(&onEntryAvailable); logger.init(); } /** * Slot for logger is initialized. * Prepares the entry object and writes the entry into the storage. */ void onInitialized() { entry.setPayload(data); entry.setLevel(semf::Logger::Level::DEBUG_LEVEL); entry.setTimeStamp(systemClock.now()); logger.addEntry(entry); } /** * Slot for entry has been written. * Reads the just written entry information back. */ void onEntryWritten() { logger.getEntry(entry, 0); } /** * Slot for entry has been read. */ void onEntryAvailable() { printf("finished\n"); }
Tutorials
Erfahren Sie mehr über die einzelnen Komponenten in unseren Tutorials. Alle Tutorials finden Sie auf der Seite Dokumentation.
Preise
Datenlogger & optionale Treiber
