Added parameter to specify one stlink v2 of many
[fw/stlink] / src / st-info.c
index 28f3fb823572266350970cdd321f259caef2f055..66d9fb391776556a0d2f30bf291b1d2709404dfc 100644 (file)
 
 static void usage(void)
 {
-       puts("st-info --flash");
-       puts("st-info --sram");
-       puts("st-info --descr");
-       puts("st-info --pagesize");
-       puts("st-info --chipid");
+    puts("st-info --flash");
+    puts("st-info --sram");
+    puts("st-info --descr");
+    puts("st-info --pagesize");
+    puts("st-info --chipid");
 }
 
 static int print_data(stlink_t* sl, char** av)
 {
-       int ret = 0;
-       if (strcmp(av[1], "--flash") == 0) 
-               printf("0x%zx\n", sl->flash_size);
-       else if (strcmp(av[1], "--sram") == 0)
-               printf("0x%zx\n", sl->sram_size);
-       else if (strcmp(av[1], "--pagesize") == 0)
-               printf("0x%zx\n", sl->flash_pgsz);
-       else if (strcmp(av[1], "--chipid") == 0)
-               printf("0x%.4x\n", sl->chip_id);
-       else if (strcmp(av[1], "--descr")==0) {
-               const chip_params_t *params = NULL;
-               for (size_t i = 0; i < sizeof(devices) / sizeof(devices[0]); i++) {
-                       if(devices[i].chip_id == sl->chip_id) {
-                               params = &devices[i];
-                               break;
-                       }
-               }
-               if (params == NULL) {
-                       return -1;
-               }
-               printf("%s\n", params->description);
-       }
-       return ret;
-} 
+    int ret = 0;
+    if (strcmp(av[1], "--flash") == 0)
+        printf("0x%zx\n", sl->flash_size);
+    else if (strcmp(av[1], "--sram") == 0)
+        printf("0x%zx\n", sl->sram_size);
+    else if (strcmp(av[1], "--pagesize") == 0)
+        printf("0x%zx\n", sl->flash_pgsz);
+    else if (strcmp(av[1], "--chipid") == 0)
+        printf("0x%.4x\n", sl->chip_id);
+    else if (strcmp(av[1], "--descr")==0) {
+        const chip_params_t *params = NULL;
+        for (size_t i = 0; i < sizeof(devices) / sizeof(devices[0]); i++) {
+            if(devices[i].chip_id == sl->chip_id) {
+                params = &devices[i];
+                break;
+            }
+        }
+        if (params == NULL) {
+            return -1;
+        }
+        printf("%s\n", params->description);
+    }
+    return ret;
+}
 
 
-stlink_t* open_sl(void) 
+stlink_t* open_sl(void)
 {
-       stlink_t* sl;
-       sl = stlink_v1_open(0, 1);
-       if (sl == NULL)
-               sl = stlink_open_usb(0, 1);
-       return sl;
+    stlink_t* sl;
+    sl = stlink_v1_open(0, 1);
+    if (sl == NULL)
+           sl = stlink_open_usb(0, 1, NULL);
+    return sl;
 }
 
 
 int main(int ac, char** av)
 {
-       stlink_t* sl = NULL;
-       int err = -1;
-       if (ac < 2) {   
-               usage();
-               return -1;
-       }
+    stlink_t* sl = NULL;
+    int err = -1;
+    if (ac < 2) {
+        usage();
+        return -1;
+    }
+
+    sl = open_sl();
+
+    if (sl == NULL) {
+        return -1;
+    }
+    sl->verbose=0;
+    if (stlink_current_mode(sl) == STLINK_DEV_DFU_MODE)
+        stlink_exit_dfu_mode(sl);
 
-       sl = open_sl(); 
-       
-       if (sl == NULL) {
-               return -1;
-       }
-       sl->verbose=0;
-       if (stlink_current_mode(sl) == STLINK_DEV_DFU_MODE)
-               stlink_exit_dfu_mode(sl);
+    if (stlink_current_mode(sl) != STLINK_DEV_DEBUG_MODE)
+        stlink_enter_swd_mode(sl);
 
-       if (stlink_current_mode(sl) != STLINK_DEV_DEBUG_MODE)
-               stlink_enter_swd_mode(sl);
+    err = print_data(sl, av);
 
-       err = print_data(sl, av);
-       
-       if (sl != NULL)
-       {
-               stlink_exit_debug_mode(sl);
-               stlink_close(sl);
-       }
+    if (sl != NULL)
+    {
+        stlink_exit_debug_mode(sl);
+        stlink_close(sl);
+    }
 
-       return err;
+    return err;
 }