Reputation: 19
------ Build started: Project: freertos, Configuration: Debug AVR ------
Build started.
Project "freertos.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "D:\AVR\freertos\freertos\freertos.cproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 4 --output-sync
Building target: freertos.elf
Invoking: AVR/GNU Linker : 5.4.0
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -o freertos.elf heap_1.o list.o main.o port.o queue.o tasks.o -Wl,-Map="freertos.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mrelax -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.3.300\gcc\dev\atmega128"
D:\AVR\freertos\freertos\Debug\Makefile(166,1): error: recipe for target 'freertos.elf' failed
tasks.o: In function `prvIdleTask':
D:\AVR\freertos\freertos\Debug\tasks.c(1,1): error: undefined reference to `vApplicationIdleHook'
collect2.exe(0,0): error: ld returned 1 exit status
make: *** [freertos.elf] Error 1
The command exited with code 2.
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "freertos.cproj" -- FAILED.
Done building project "freertos.cproj" -- FAILED.
Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
Upvotes: 0
Views: 575
Reputation: 3236
Anything that starts 'Application' is expected to be provided by the application writer, rather than be part of the kernel - and in all cases the features are options - so as per the above you can either provide the hook function or tern the feature off.
Upvotes: 0
Reputation: 76
You have to options to solve this error:
1- set configUSE_IDLE_HOOK to 0 in FreeRTOSConfig.h.
2- Define a function that has the following name and prototype:
void vApplicationIdleHook( void );
Upvotes: 2