Не работает простейшая мигалка на AtMega16A-PU.
Версия freeRtos - 7.1.0
Программирую в Atmel Studio 6.1.
#include "FreeRTOS.h"
#include "task.h"
void vTask0( void *pvParameters )
{
while(1){
PORTA = 255;
vTaskDelay(500);
PORTA = 0;
vTaskDelay(500);
}
}
void vTask1( void *pvParameters )
{
while(1){
PORTB = 255;
vTaskDelay(1300);
PORTB = 0;
vTaskDelay(1300);
}
}
int main( void )
{
DDRA = 255;
DDRB = 255;
xTaskCreate( vTask0,(signed char *) "Task0",configMINIMAL_STACK_SIZE,NULL,1,NULL);
xTaskCreate( vTask1,(signed char *) "Task1",configMINIMAL_STACK_SIZE,NULL,1,NULL);
vTaskStartScheduler();
return 0;
}
В проэкт добавил файл "FreeRTOSConfig.h"
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
#include <avr/io.h>
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned long ) 8000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 85 )
#define configTOTAL_HEAP_SIZE ( (size_t ) ( 500 ) )
#define configMAX_TASK_NAME_LEN ( 8 )
#define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 1
#define configIDLE_SHOULD_YIELD 1
#define configQUEUE_REGISTRY_SIZE 0
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 1
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 0
#define INCLUDE_uxTaskPriorityGet 0
#define INCLUDE_vTaskDelete 0
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 0
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1
#endif /* FREERTOS_CONFIG_H */
Добавил файлы (как ссылки) -
tasks.c
port.c
list.c
heap_2.c
queue.c
Добавил ссылки на директории
freeRtos/source/include
freeRtos/source/portable/GCC/atmega323.
Микроконтроллер выставлен на 8мг от внутреннего генератора, остальные фьюзы не трогал.
При компиляции ошибок не выдает, но при этом неработает не в протеусе не на железе. Уже неделю мучаюсь, все примеры испробывал. Может у ковото есть готовый проект под Atmel Studio 6.1? В чем моя ошибка?