FreeCalypso > hg > freecalypso-tools
annotate rvinterf/tmsh/omw.c @ 516:8bdbae4c0e53
target-utils/helloapp: build boot-ROM-based and fixed-UART versions
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 29 May 2019 05:40:51 +0000 |
parents | c81d0e9ac3b4 |
children |
rev | line source |
---|---|
149
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * Old-style memory write command |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 */ |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 #include <sys/types.h> |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <stdio.h> |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <string.h> |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <strings.h> |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <stdlib.h> |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include "pktmux.h" |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include "limits.h" |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include "localtypes.h" |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #include "tm3.h" |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include "exitcodes.h" |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 cmd_omw(argc, argv) |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 char **argv; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 { |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 u32 addr, v; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 u_char cmdpkt[MAX_PKT_TO_TARGET]; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 int di; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 char **ap; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 addr = strtoul(argv[1], 0, 16); |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 cmdpkt[1] = MEM_WRITE; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 cmdpkt[2] = addr; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 cmdpkt[3] = addr >> 8; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 cmdpkt[4] = addr >> 16; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 cmdpkt[5] = addr >> 24; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 di = 6; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 for (ap = argv + 2; *ap; ap++) { |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 v = strtoul(*ap, 0, 16); |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 cmdpkt[di++] = v; |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 } |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 send_etm_cmd(cmdpkt, di - 1); |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 return(0); |
c81d0e9ac3b4
fc-tmsh: omw command and response handling added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 } |