mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 09:01:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Blink Example with covergae info
 | 
						|
 | 
						|
   This example code is in the Public Domain (or CC0 licensed, at your option.)
 | 
						|
 | 
						|
   Unless required by applicable law or agreed to in writing, this
 | 
						|
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 | 
						|
   CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
*/
 | 
						|
#include <stdio.h>
 | 
						|
#include "freertos/FreeRTOS.h"
 | 
						|
#include "freertos/task.h"
 | 
						|
#include "driver/gpio.h"
 | 
						|
#include "esp_app_trace.h"
 | 
						|
#include "sdkconfig.h"
 | 
						|
 | 
						|
/* Can use project configuration menu (idf.py menuconfig) to choose the GPIO
 | 
						|
   to blink, or you can edit the following line and set a number here.
 | 
						|
*/
 | 
						|
#define BLINK_GPIO CONFIG_BLINK_GPIO
 | 
						|
 | 
						|
void blink_dummy_func(void);
 | 
						|
void some_dummy_func(void);
 | 
						|
 | 
						|
static void blink_task(void *pvParameter)
 | 
						|
{
 | 
						|
    // The first two iterations GCOV data are dumped using call to esp_gcov_dump() and OOCD's "esp32 gcov dump" command.
 | 
						|
    // After that they can be dumped using OOCD's "esp32 gcov" command only.
 | 
						|
    int dump_gcov_after = -2;
 | 
						|
    /* Configure the IOMUX register for pad BLINK_GPIO (some pads are
 | 
						|
       muxed to GPIO on reset already, but some default to other
 | 
						|
       functions and need to be switched to GPIO. Consult the
 | 
						|
       Technical Reference for a list of pads and their default
 | 
						|
       functions.)
 | 
						|
    */
 | 
						|
    gpio_pad_select_gpio(BLINK_GPIO);
 | 
						|
    /* Set the GPIO as a push/pull output */
 | 
						|
    gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
 | 
						|
 | 
						|
    while(1) {
 | 
						|
        /* Blink off (output low) */
 | 
						|
        gpio_set_level(BLINK_GPIO, 0);
 | 
						|
        vTaskDelay(500 / portTICK_PERIOD_MS);
 | 
						|
        /* Blink on (output high) */
 | 
						|
        gpio_set_level(BLINK_GPIO, 1);
 | 
						|
        vTaskDelay(500 / portTICK_PERIOD_MS);
 | 
						|
        blink_dummy_func();
 | 
						|
        some_dummy_func();
 | 
						|
        if (dump_gcov_after++ < 0) {
 | 
						|
            // Dump gcov data
 | 
						|
            printf("Ready to dump GCOV data...\n");
 | 
						|
            esp_gcov_dump();
 | 
						|
            printf("GCOV data have been dumped.\n");
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
void app_main(void)
 | 
						|
{
 | 
						|
    xTaskCreate(&blink_task, "blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL);
 | 
						|
}
 |