mohamed
mohamed

Reputation: 19

how can i solve FreeRTOS error on atmega128?

------ 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

Answers (2)

Richard
Richard

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

unwind0
unwind0

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

Related Questions