This is an automated email from the ASF dual-hosted git repository.
jiuzhudong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new dea1bc11217 note: add NOTE_DUMP_BINARY support for binary log dumping
dea1bc11217 is described below
commit dea1bc112170d7ae1515ec73341267475c020917
Author: yukangzhi <[email protected]>
AuthorDate: Wed Apr 23 09:23:25 2025 +0800
note: add NOTE_DUMP_BINARY support for binary log dumping
Add NOTE_DUMP_BINARY to the note_type_e enum and implement its handling
in noteram_dump_one. This enables the recording and dumping of binary
logs in hexadecimal format, improving traceability for binary event data.
Signed-off-by: yukangzhi <[email protected]>
---
drivers/note/noteram_driver.c | 21 ++++++++++++++++++++-
include/nuttx/sched_note.h | 1 +
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/drivers/note/noteram_driver.c b/drivers/note/noteram_driver.c
index 22823bb6b42..6aa8371de89 100644
--- a/drivers/note/noteram_driver.c
+++ b/drivers/note/noteram_driver.c
@@ -1212,13 +1212,32 @@ static int noteram_dump_one(FAR uint8_t *p, FAR struct
lib_outstream_s *s,
break;
case NOTE_DUMP_MARK:
{
- int len = note->nc_length - sizeof(struct note_event_s);
FAR struct note_event_s *nbi = (FAR struct note_event_s *)p;
+ int len = note->nc_length - SIZEOF_NOTE_EVENT(0);
+
ret += noteram_dump_header(s, &nbi->nev_cmn, ctx);
ret += lib_sprintf(s, "tracing_mark_write: I|%d|%.*s\n",
pid, len, (FAR const char *)nbi->nev_data);
}
break;
+ case NOTE_DUMP_BINARY:
+ {
+ FAR struct note_event_s *nbi = (FAR struct note_event_s *)p;
+ int len = note->nc_length - SIZEOF_NOTE_EVENT(0);
+ int i;
+
+ ret += noteram_dump_header(s, &nbi->nev_cmn, ctx);
+ ret += lib_sprintf(s, "tracing_mark_write: I|%d|", pid);
+
+ for (i = 0; i < len; i++)
+ {
+ ret += lib_sprintf(s, "%02x ", nbi->nev_data[i]);
+ }
+
+ lib_stream_putc(s, '\n');
+ ret++;
+ }
+ break;
case NOTE_DUMP_COUNTER:
{
FAR struct note_event_s *nbi = (FAR struct note_event_s *)p;
diff --git a/include/nuttx/sched_note.h b/include/nuttx/sched_note.h
index f6e64943b63..c87a1579206 100644
--- a/include/nuttx/sched_note.h
+++ b/include/nuttx/sched_note.h
@@ -271,6 +271,7 @@ enum note_type_e
NOTE_DUMP_BEGIN,
NOTE_DUMP_END,
NOTE_DUMP_MARK,
+ NOTE_DUMP_BINARY,
NOTE_DUMP_COUNTER,
/* Always last */