diff options
| author | Alejandro Soto <alejandro@34project.org> | 2023-10-04 01:19:00 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2023-10-04 01:19:00 -0600 |
| commit | 7e1dd67fd1f1618621dc0b995059e33d6c098aca (patch) | |
| tree | 01901be0b73cab4abb85721c73d55dae2af79892 /demo/main.c | |
| parent | 897bd990f9e5ef1be358172c6804d49ffe7c453c (diff) | |
demo: implement rd, wr cmds
Diffstat (limited to 'demo/main.c')
| -rw-r--r-- | demo/main.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/demo/main.c b/demo/main.c index efc183b..fe17ec2 100644 --- a/demo/main.c +++ b/demo/main.c @@ -22,6 +22,26 @@ static void cmd_halt(char **tokens) halt_cpus(mask); } +static void cmd_rd(char **tokens) +{ + void *ptr; + if (parse_aligned(tokens, &ptr) < 0 || expect_end(tokens) < 0) + return; + + print("%p: %x", ptr, *(volatile unsigned *)ptr); +} + +static void cmd_wr(char **tokens) +{ + void *ptr; + unsigned val; + + if (parse_aligned(tokens, &ptr) < 0 || parse_hex(tokens, &val) < 0 || expect_end(tokens) < 0) + return; + + *(volatile unsigned *)ptr = val; +} + void bsp_main(void) { run_cpu(1); @@ -43,6 +63,10 @@ void bsp_main(void) cmd_run(&tokens); else if (!strcmp(cmd, "halt")) cmd_halt(&tokens); + else if (!strcmp(cmd, "rd")) + cmd_rd(&tokens); + else if (!strcmp(cmd, "wr")) + cmd_wr(&tokens); else print("unknown command '%s'", cmd); } |
