2 #include "stlink-common.h"
5 int main(int ac, char** av) {
8 sl = stlink_open_usb(NULL, 10);
10 printf("-- version\n");
13 printf("mode before doing anything: %d\n", stlink_current_mode(sl));
15 if (stlink_current_mode(sl) == STLINK_DEV_DFU_MODE) {
16 printf("-- exit_dfu_mode\n");
17 stlink_exit_dfu_mode(sl);
20 printf("-- enter_swd_mode\n");
21 stlink_enter_swd_mode(sl);
23 printf("-- mode after entering swd mode: %d\n", stlink_current_mode(sl));
25 printf("-- chip id: %#x\n", stlink_chip_id(sl));
26 printf("-- core_id: %#x\n", stlink_core_id(sl));
28 cortex_m3_cpuid_t cpuid;
29 stlink_cpu_id(sl, &cpuid);
30 printf("cpuid:impl_id = %0#x, variant = %#x\n", cpuid.implementer_id, cpuid.variant);
31 printf("cpuid:part = %#x, rev = %#x\n", cpuid.part, cpuid.revision);
33 printf("-- read_sram\n");
34 static const uint32_t sram_base = 0x8000000;
36 for (off = 0; off < 16; off += 4)
37 stlink_read_mem32(sl, sram_base + off, 4);
39 printf("-- read_mem, cpuid\n");
40 stlink_read_mem32(sl, 0xe000e008, 4); // ACTLR
41 // no idea what reg this is.. */
42 /* stlink_read_mem32(sl, 0xe000ed90, 4);
43 // no idea what register this is...
44 /* stlink_read_mem32(sl, 0xe000edf0, 4);
45 // offset 0xC into TIM11 register? TIMx_DIER?
46 /* stlink_read_mem32(sl, 0x4001100c, 4); */
48 printf("-- status\n");
54 printf("-- status\n");
63 printf("-- exit_debug_mode\n");
64 stlink_exit_debug_mode(sl);