RISC-V/V203F6P6/programmer/software/main.cpp

31 lines
745 B
C++
Raw Normal View History

2025-02-03 19:18:47 +01:00
#include <cstdio>
2025-02-04 16:32:08 +01:00
#include <cstdlib>
2025-02-03 19:18:47 +01:00
#include "usart.h"
2025-02-04 16:32:08 +01:00
#include "programmer.h"
2025-02-03 19:18:47 +01:00
int main(int argc, char *argv[]) {
if (argc < 3) {
2025-02-04 16:32:08 +01:00
printf("Usage:\r\t$ %s r|w|v file.bin [numblocks]\n", argv[0]);
2025-02-03 19:18:47 +01:00
return 0;
}
2025-02-04 16:32:08 +01:00
UsartClass usart ("/dev/serial/by-id/usb-Kizarm_Labs._Flash_Programmer_0001-if00", 9600);
Programmer cmd;
2025-02-03 19:18:47 +01:00
cmd += usart;
2025-02-04 16:32:08 +01:00
cmd.Flush();
2025-02-03 19:18:47 +01:00
if (argv[1][0] == 'r') {
2025-02-04 16:32:08 +01:00
long len = 16;
if (argc > 3) {
len = strtol (argv[3], nullptr, 10);
}
cmd.read_flash_binary (argv[2], len);
2025-02-03 19:18:47 +01:00
} else if (argv[1][0] == 'w') {
2025-02-04 16:32:08 +01:00
cmd.write_flash_binary(argv[2]);
2025-02-03 19:18:47 +01:00
} else if (argv[1][0] == 'v') {
2025-02-04 16:32:08 +01:00
cmd.verify_flash_binary(argv[2]);
2025-02-03 19:18:47 +01:00
} else {
printf("bad parameter %s\n", argv[1]);
}
return 0;
}