main: restore compatibility with single-core RTOS operation
diff --git a/src/FreeRTOSConfig.h b/src/FreeRTOSConfig.h
index 3b89b1c..7a18bda 100644
--- a/src/FreeRTOSConfig.h
+++ b/src/FreeRTOSConfig.h
@@ -104,7 +104,9 @@
 /* SMP port only */
 #define configNUMBER_OF_CORES                   2
 #define configTICK_CORE                         0
+#if (configNUMBER_OF_CORES > 1)
 #define configUSE_CORE_AFFINITY                 1
+#endif
 #define configRUN_MULTIPLE_PRIORITIES           1
 #define configUSE_PASSIVE_IDLE_HOOK             0
 
diff --git a/src/main.c b/src/main.c
index 47d476b..72fc5bb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -140,8 +140,14 @@
 
     if (THREADED) {
         xTaskCreate(usb_thread, "TUD", configMINIMAL_STACK_SIZE, NULL, TUD_TASK_PRIO, &tud_taskhandle);
+#if (configNUMBER_OF_CORES > 1)
+        vTaskCoreAffinitySet(tud_taskhandle, (1 << 0));
+#endif
 #if PICO_RP2040
         xTaskCreate(dev_mon, "WDOG", configMINIMAL_STACK_SIZE, NULL, TUD_TASK_PRIO, &mon_taskhandle);
+#if (configNUMBER_OF_CORES > 1)
+        vTaskCoreAffinitySet(mon_taskhandle, (1 << 0));
+#endif
 #endif
         vTaskStartScheduler();
     }
@@ -274,7 +280,11 @@
     xTaskCreate(dap_thread, "DAP", configMINIMAL_STACK_SIZE, NULL, DAP_TASK_PRIO, &dap_taskhandle);
     /* Autobaud detection using PIO as a frequency counter */
     xTaskCreate(autobaud_thread, "ABR", configMINIMAL_STACK_SIZE, NULL, AUTOBAUD_TASK_PRIO, &autobaud_taskhandle);
+#if(configNUMBER_OF_CORES > 1)
     vTaskCoreAffinitySet(autobaud_taskhandle, (1 << 1));
+    vTaskCoreAffinitySet(dap_taskhandle, (1 << 0));
+    vTaskCoreAffinitySet(uart_taskhandle, (1 << 0));
+#endif
     was_configured = 1;
   }
 }