#include "gdb-remote.h"
-#define DEFAULT_LOGGING_LEVEL 10
+#define DEFAULT_LOGGING_LEVEL 100
#define DEFAULT_GDB_LISTEN_PORT 4242
#define STRINGIFY_inner(name) #name
break;
case 'd':
if (strlen(optarg) > sizeof (st->devicename)) {
- fprintf(stderr, "device name too long: %ld\n", strlen(optarg));
+ fprintf(stderr, "device name too long: %zd\n", strlen(optarg));
} else {
strcpy(st->devicename, optarg);
}
memset(&state, 0, sizeof(state));
// set defaults...
state.stlink_version = 2;
- state.logging_level = 10;
+ state.logging_level = DEFAULT_LOGGING_LEVEL;
state.listen_port = DEFAULT_GDB_LISTEN_PORT;
parse_options(argc, argv, &state);
switch (state.stlink_version) {
if(sl == NULL) return 1;
break;
case 1:
- if (strlen(state.devicename) == 0) {
- const int DevNumMax = 99;
- int ExistDevCount = 0;
-
- for (int DevNum = 0; DevNum <= DevNumMax; DevNum++) {
- if (DevNum < 10) {
- char DevName[] = "/dev/sgX";
- const int X_index = 7;
- DevName[X_index] = DevNum + '0';
- if (!access(DevName, F_OK)) {
- sl = stlink_quirk_open(DevName, 0);
- ExistDevCount++;
- }
- } else if (DevNum < 100) {
- char DevName[] = "/dev/sgXY";
- const int X_index = 7;
- const int Y_index = 8;
- DevName[X_index] = DevNum / 10 + '0';
- DevName[Y_index] = DevNum % 10 + '0';
- if (!access(DevName, F_OK)) {
- sl = stlink_quirk_open(DevName, 0);
- ExistDevCount++;
- }
- }
- if (sl != NULL) break;
- }
-
- if (sl == NULL) {
- fprintf(stdout, "\nNumber of /dev/sgX devices found: %i \n",
- ExistDevCount);
- fprintf(stderr, "ST-LINK not found\n");
- return 1;
- }
- } else {
- sl = stlink_quirk_open(state.devicename, state.logging_level);
- }
+ sl = stlink_v1_open(state.logging_level);
+ if(sl == NULL) return 1;
break;
- }
-
- 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) {
+ if (stlink_current_mode(sl) == STLINK_DEV_DFU_MODE) {
+ stlink_exit_dfu_mode(sl);
+ }
+ stlink_enter_swd_mode(sl);
+ }
uint32_t chip_id = stlink_chip_id(sl);
uint32_t core_id = stlink_core_id(sl);