【问题标题】:how can i solve FreeRTOS error on atmega128?如何解决 atmega128 上的 FreeRTOS 错误?
【发布时间】:2020-05-19 22:40:00
【问题描述】:
------ 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 ==========

【问题讨论】:

    标签: embedded freertos


    【解决方案1】:

    您必须选择解决此错误的选项:

    1- 在 FreeRTOSConfig.h 中将 configUSE_IDLE_HOOK 设置为 0。

    2- 定义一个具有以下名称和原型的函数: void vApplicationIdleHook( void );

    【讨论】:

      【解决方案2】:

      任何以“应用程序”开头的东西都应该由应用程序编写者提供,而不是作为内核的一部分 - 在所有情况下,功能都是选项 - 因此根据上述您可以provide the hook function 或 tern功能关闭。

      【讨论】:

        猜你喜欢
        • 2018-07-21
        • 2021-07-21
        • 2021-11-11
        • 2011-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-02
        相关资源
        最近更新 更多