FreeCalypso > hg > freecalypso-tools
comparison rvinterf/lowlevel/tfc139.c @ 253:6f078c4a5506
rvinterf and friends converted to use libserial
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 21 Sep 2017 23:45:05 +0000 |
parents | e7502631a0f9 |
children |
comparison
equal
deleted
inserted
replaced
252:d27a89068280 | 253:6f078c4a5506 |
---|---|
20 #include <time.h> | 20 #include <time.h> |
21 #include "../include/pktmux.h" | 21 #include "../include/pktmux.h" |
22 #include "../include/limits.h" | 22 #include "../include/limits.h" |
23 | 23 |
24 extern int target_fd; | 24 extern int target_fd; |
25 extern char *baudrate_name; | |
26 | 25 |
27 extern u_char rxpkt[]; | 26 extern u_char rxpkt[]; |
28 extern size_t rxpkt_len; | 27 extern size_t rxpkt_len; |
29 | 28 |
30 char *logfname; | 29 char *logfname; |
59 | 58 |
60 static u_char stack_smash_payload[4]; | 59 static u_char stack_smash_payload[4]; |
61 static int breakin_in_progress; | 60 static int breakin_in_progress; |
62 | 61 |
63 static char *target_tty_port; | 62 static char *target_tty_port; |
63 static char *baudrate = "57600"; | |
64 | 64 |
65 static void | 65 static void |
66 send_compal_memwrite(addr, payload, payload_len) | 66 send_compal_memwrite(addr, payload, payload_len) |
67 unsigned addr; | 67 unsigned addr; |
68 u_char *payload; | 68 u_char *payload; |
137 extern char *optarg; | 137 extern char *optarg; |
138 extern int optind; | 138 extern int optind; |
139 int c; | 139 int c; |
140 fd_set fds; | 140 fd_set fds; |
141 | 141 |
142 baudrate_name = "57600"; /* what C139 firmware uses */ | |
143 while ((c = getopt(argc, argv, "a:AB:l:ms:w:")) != EOF) | 142 while ((c = getopt(argc, argv, "a:AB:l:ms:w:")) != EOF) |
144 switch (c) { | 143 switch (c) { |
145 case 'a': | 144 case 'a': |
146 shellcode_load_addr = strtoul(optarg, 0, 16); | 145 shellcode_load_addr = strtoul(optarg, 0, 16); |
147 continue; | 146 continue; |
148 case 'B': | 147 case 'B': |
149 baudrate_name = optarg; | 148 baudrate = optarg; |
150 continue; | 149 continue; |
151 case 'l': | 150 case 'l': |
152 logfname = optarg; | 151 logfname = optarg; |
153 continue; | 152 continue; |
154 case 'm': | 153 case 'm': |
175 goto usage; | 174 goto usage; |
176 if (stack_smash_addr && !shellcode_load_addr) { | 175 if (stack_smash_addr && !shellcode_load_addr) { |
177 fprintf(stderr, "usage error: -a option required with -s\n"); | 176 fprintf(stderr, "usage error: -a option required with -s\n"); |
178 exit(1); | 177 exit(1); |
179 } | 178 } |
180 open_target_serial(argv[optind]); | 179 open_serial_port(argv[optind]); |
181 target_tty_port = argv[optind]; | 180 target_tty_port = argv[optind]; |
181 set_fixed_baudrate(baudrate); | |
182 | 182 |
183 set_serial_nonblock(0); | 183 set_serial_nonblock(0); |
184 setlinebuf(stdout); | 184 setlinebuf(stdout); |
185 if (logfname) { | 185 if (logfname) { |
186 logF = fopen(logfname, "w"); | 186 logF = fopen(logfname, "w"); |