Entradas

Mostrando las entradas con la etiqueta FreeRTOS

Notas FreeRTOS

Notas que voy encontrando sobre el desarrollo de aplicaciones con FreeRTOS v9. La mayoria de las notas y ejercicios estan disponibles en los siguientes documentos (fuente: http://www.freertos.org/Documentation/RTOS_book.html ) mientras otras notas las encontré en el foro (fuente: http://www.freertos.org/FreeRTOS_Support_Forum_Archive/freertos_support_forum_archive_index.html ). Mastering the FreeRTOS Real Time Kernel A Hands On Tutorial Guide   FreeRTOS Reference Manual V9.0.0 Mutex Cuando se tiene dos tareas con la misma prioridad y utilizan el mismo mutex para acceder a un elemento, hay que hacer un taskYIELD() despues de entregar el mutex para forzar el cambio de una tarea a otra, de lo contrario solo se ejecuta una sola tarea. Fuente: freertos_mutex_never_giving 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 void vHello ( void * pvParameters){ ( void ) pvParameters; while ( 1 ) { if ( xSemaphoreTak...

Proyectos con FreeRTOS y STM32F4Discovery

Snippets de proyectos con FreeRTOS y la STM32F4Discovery. Todos los proyectos se van a realizar utilizando OpenSTM32 como IDE y la versión de FreeRTOS que tiene integrada (8.2). ☺ En este proyecto se usa el parametro pvParameter para indicarle a la tarea que LED togglear. Solo se tiene una tarea, y dos instancias de ella, diferenciándose por el pvParameter a la hora de crear las dos instancias. Aquí el código fuente (después lo organizare y subiré a github): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 #include <stdint.h> #include <stddef.h> #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" static void GPIOinit ( void ); static void vTaskToggleLED ( void * pvParameters); static const uint8_t toogleGreenLED = ...