gpt4 book ai didi

ada - 使用 AVR-Ada 执行任务

转载 作者:行者123 更新时间:2023-12-01 20:27:27 25 4
gpt4 key购买 nike

我正在尝试使用 AVR-Ada 实现任务功能,但是当我运行 make 时,我收到以下错误消息:

C:\avr_test>make
avr-gcc.exe (GCC) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ADA_PROJECT_PATH= avr-gnatmake -XMCU=atmega8 -p -Pbuild.gpr -XAVRADA_MAIN=led_on avr-gcc -c --RTS=rts/avr4 -gnatec=C:\avr-ada\lib\gnat\gnat.adc -gdwarf-2 -gnatwp -gnatwu gnatn -gnatp -gnatVn -Os -gnatef -fverbose-asm -frename-registers -mmcu=atmega8 gnateDMCU=atmega8 -fdata-sections -ffunction-sections -I- -gnatA C:\avr_test\led_on.adb
c:\avr_test\led_on.adb:3:06: warning: unit "task_bla" is not referenced
c:\avr_test\task_bla.ads:3:04: construct not allowed in configurable run-time mode
c:\avr_test\task_bla.ads:3:04: violation of restriction "no_tasking" at C:\avr-ada\lib \gnat\gnat.adc:124
avr-gnatmake: "c:\avr_test\led_on.adb" compilation error
make: ** [led_on.elf] Erro 4

那么,我该怎么做才能启用任务分配功能?

我的包只有非常简单的测试任务:(我只是想检查任务功能)

-- led_on.adb
with AVR; use AVR;
with AVR.MCU;
with task_bla;
procedure LED_On is
LED : Boolean renames MCU.PortB_Bits (3);
begin
MCU.DDRB_Bits := (others => DD_Output);
LED := Low;
end LED_On;

-- task_bla.ads
package task_bla is
task test;
end task_bla;

-- task_bla.adb
package task_bla is
task body test is
loop
null;
end loop;
end test;
end task_bla;

最佳答案

您必须为 AVR-Ada 的运行时系统实现任务。

我认为硬件不能很好地支持任务,所以这可能相当困难。

关于ada - 使用 AVR-Ada 执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com