mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00: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_reset_pin(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);
 | |
| }
 | 
