2021-09-26 22:45:46 +00:00
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
2021-09-27 14:10:02 +00:00
|
|
|
#include <hardware/gpio.h>
|
2021-09-26 22:45:46 +00:00
|
|
|
#include <pico/stdlib.h>
|
|
|
|
#include <pico/binary_info.h>
|
2021-09-27 15:58:53 +00:00
|
|
|
|
2021-09-26 22:45:46 +00:00
|
|
|
#include "pio_sbw.h"
|
2021-09-27 15:58:53 +00:00
|
|
|
#include "tap.h"
|
2021-09-28 17:52:33 +00:00
|
|
|
#include "msp430dbg.h"
|
2021-09-26 22:45:46 +00:00
|
|
|
|
|
|
|
void printbuf(const uint8_t* buf, size_t size) {
|
2021-09-27 14:10:02 +00:00
|
|
|
for (size_t i = 0; i < size; ++i)
|
2021-09-26 22:45:46 +00:00
|
|
|
printf("%02x%c", buf[i], i % 16 == 15 ? '\n' : ' ');
|
|
|
|
}
|
|
|
|
|
|
|
|
int main() {
|
2021-09-27 14:10:02 +00:00
|
|
|
gpio_init(PINOUT_SBW_TCK);
|
|
|
|
gpio_set_function(PINOUT_SBW_TCK, GPIO_FUNC_SIO);
|
|
|
|
gpio_set_dir(PINOUT_SBW_TCK, true);
|
|
|
|
gpio_put(PINOUT_SBW_TCK, true);
|
|
|
|
|
2021-09-26 22:45:46 +00:00
|
|
|
stdio_init_all();
|
|
|
|
|
2021-09-28 17:52:33 +00:00
|
|
|
/*sbw_preinit();
|
2021-09-27 14:29:45 +00:00
|
|
|
printf("%s\n", "preinited");
|
|
|
|
|
2021-09-26 22:45:46 +00:00
|
|
|
bool s = sbw_init();
|
2021-09-28 17:52:33 +00:00
|
|
|
printf("%s\n", s ? "inited" : "failure");*/
|
2021-09-27 14:10:02 +00:00
|
|
|
|
2021-09-27 15:58:53 +00:00
|
|
|
/*uint8_t tdi = 0x0f, tdo = 0;
|
2021-09-27 14:10:02 +00:00
|
|
|
sbw_sequence(8, true, &tdi, &tdo);
|
|
|
|
printf("seq done, tdo=%02x\n", tdo);
|
|
|
|
|
|
|
|
uint8_t tms = 0xf0;
|
|
|
|
sbw_tms_sequence(8, true, &tms);
|
|
|
|
printf("tmsseq done\n");
|
|
|
|
|
|
|
|
printf("%s tclk:\n", "set");
|
|
|
|
sbw_set_tclk();
|
|
|
|
printf("%s tclk:\n", "clr");
|
|
|
|
sbw_clr_tclk();
|
|
|
|
printf("%s tclk:\n", "set");
|
|
|
|
sbw_set_tclk();
|
|
|
|
printf("%s tclk:\n", "clr");
|
|
|
|
sbw_clr_tclk();
|
|
|
|
|
|
|
|
printf("doing a tclk burst now!\n");
|
|
|
|
sbw_tclk_burst(16);
|
2021-09-27 15:58:53 +00:00
|
|
|
printf("done.\n");*/
|
|
|
|
|
2021-09-28 17:52:33 +00:00
|
|
|
// sbw_tap_reset();
|
|
|
|
// sbw_check_fuse();
|
|
|
|
//
|
|
|
|
// uint8_t id = sbw_tap_shift_ir(0xff/*IR_BYPASS*/);
|
|
|
|
//
|
|
|
|
// printf("JTAG ID=%02x\n", id);
|
2021-09-27 15:58:53 +00:00
|
|
|
|
2021-09-28 17:52:33 +00:00
|
|
|
uint32_t initv = msp430_device_get(200e3);
|
|
|
|
printf("init -> %08lx\n", initv);
|
2021-09-26 22:45:46 +00:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|