comparison target-utils/loadagent/bindump.c @ 639:963d15a808eb

loadagent BINDUMP actually works
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 01 Mar 2020 18:28:10 +0000
parents 6562364b2033
children
comparison
equal deleted inserted replaced
638:6562364b2033 639:963d15a808eb
20 cmd_memdump_binary(argbulk) 20 cmd_memdump_binary(argbulk)
21 char *argbulk; 21 char *argbulk;
22 { 22 {
23 char *argv[3]; 23 char *argv[3];
24 u_long start, length; 24 u_long start, length;
25 u_long addr, remlen, blklen; 25 u_long addr, remlen;
26 int i; 26 unsigned blklen, n;
27 27
28 if (parse_args(argbulk, 2, 2, argv, 0) < 0) 28 if (parse_args(argbulk, 2, 2, argv, 0) < 0)
29 return; 29 return;
30 if (parse_hexarg(argv[0], 8, &start) < 0) { 30 if (parse_hexarg(argv[0], 8, &start) < 0) {
31 printf("ERROR: arg1 must be a valid 32-bit hex address\n"); 31 printf("ERROR: arg1 must be a valid 32-bit hex address\n");
46 serial_out(addr >> 16); 46 serial_out(addr >> 16);
47 serial_out(addr >> 8); 47 serial_out(addr >> 8);
48 serial_out(addr); 48 serial_out(addr);
49 serial_out(blklen >> 8); 49 serial_out(blklen >> 8);
50 serial_out(blklen); 50 serial_out(blklen);
51 for (; blklen; blklen--) { 51 for (n = blklen; n; n--) {
52 serial_out(*(volatile u8 *)addr); 52 serial_out(*(volatile u8 *)addr);
53 addr++; 53 addr++;
54 } 54 }
55 } 55 }
56 } 56 }