This commit add to GDBstup:

1. Multicore suupor
2. Stepping
3. Console output
4. Update example + readme
5. Jumps
This commit is contained in:
Dmitry
2021-06-07 22:54:09 +03:00
parent 3be8ed7c3b
commit a8c3fe56c8
22 changed files with 965 additions and 189 deletions

View File

@@ -14,26 +14,41 @@
#include "esp_log.h"
int call_count = 0;
static const char *TAG = "gdbstub_example";
esp_log_level_t log_level = ESP_LOG_DEBUG;
esp_log_level_t update_log_level = ESP_LOG_DEBUG;
int call_counts[4] = {0};
void task4test(void *param)
{
vTaskDelay(1000 / portTICK_PERIOD_MS);
int task_num = (int)param;
volatile int core = xPortGetCoreID();
while (1) {
core = xPortGetCoreID();
printf("CPU %i: To enter GDB please press \"Ctrl+C\"\n", core);
ESP_LOGD(TAG, "DEBUG mode enabled. Task %i, Core ID %i, Call - %i.", task_num, core, call_counts[task_num]);
ESP_LOGI(TAG, "INFO mode enabled. Task %i, Core ID %i, Call - %i.", task_num, core, call_counts[task_num]);
ESP_LOGW(TAG, "WARN mode enabled. Task %i, Core ID %i, Call - %i.", task_num, core, call_counts[task_num]++);
asm("test_point1: nop;");
for (int i = 0 ; i < 10000000; i++) {
asm("test_point2: nop;");
asm(" nop;");
asm(" nop;");
asm(" nop;");
}
log_level = update_log_level;
esp_log_level_set(TAG, log_level);
}
}
void app_main(void)
{
printf("Hello GDB example!\n");
call_count = 0;
vTaskDelay(1000 / portTICK_PERIOD_MS);
for (;;) {
ESP_LOGD(TAG, "DEBUG mode enabled. Call - %i. To enter GDB please press \"Ctrl+C\"", call_count);
ESP_LOGI(TAG, "INFO mode enabled. Call - %i. To enter GDB please press \"Ctrl+C\"", call_count);
ESP_LOGW(TAG, "WARN mode enabled. Call - %i. To enter GDB please press \"Ctrl+C\"", call_count++);
if (update_log_level != log_level) {
log_level = update_log_level;
esp_log_level_set(TAG, log_level);
}
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
xTaskCreatePinnedToCore(task4test, "task 3", 4096, (void *)0, 10, NULL, 0);
xTaskCreatePinnedToCore(task4test, "task 4", 4096, (void *)1, 10, NULL, 1);
}