comp.lang.ada
 help / color / mirror / Atom feed
From: mjsilva@scriptoriumdesigns.com
Subject: Re: Tasking on GNATAVR
Date: Mon, 30 Apr 2012 15:07:53 -0700 (PDT)
Date: 2012-04-30T15:07:53-07:00	[thread overview]
Message-ID: <13692499.358.1335823673528.JavaMail.geo-discussion-forums@yncd9> (raw)
In-Reply-To: <19355816.2739.1335755877395.JavaMail.geo-discussion-forums@ynlp3>

On Sunday, April 29, 2012 8:17:57 PM UTC-7, Rego, P. wrote:
> Ok, now I got to build and burn the .hex in an Arduino Duemilanove atmega328p totally in Ada using GPL GNATAVR in GPS, following 
> http://student.agh.edu.pl/~mkucia/wiki/doku.php?id=avrada
> and much help from you guys. 
> 
> In short it consists of:
> 1) Converting a .xml (from AVR Studio) to the atmega328p package spec, which maps all the memory addresses of the chip (so I don't have to do it)
> 2) Using this spec package from a main file
> 3) GPS builds the .elf linking with a WinAVR object library
> 4) From command-line, convert the .elf in .hex and burn it into the chip using avrdude.
> 
> Now a simple blink program runs quite well, so runs accordingly as I burn it and start the chip.
> 
> At this point, we achieve the same coding paradigm than AVR Studio, but in Ada from GPS, not in C anymore.
> 
> But now I want to include tasking on the code, and I did not find so many resources in documentation (actually I just found http://docs.adacore.com/gnat-cross-docs/html/gnat_ugx_12.html). Anyway, I included 
> 
>    task My_Useless_Task;
>    task body My_Useless_Task is
>    begin
>       null;
>    end My_Useless_Task;
> 
> and when I tried to build, builder returned me
> 
> main.adb:13:04: construct not allowed in configurable run-time mode
> main.adb:13:04: file s-parame.ads not found
> main.adb:13:04: entity "System.Parameters.Unspecified_Size" not available
> main.adb:13:04: violation of restriction "No_Tasking" at system.ads:52
> 
> I also tried to look inside system.ads (c:\gnat\2011\lib\avr\4.5.3\rts-ztp\adainclude\system.ads, which is installed with GNATAVR package), and there is plenty of pragma restrictions, including pragma Restrictions (No_Tasking). I commented this pragma Restrictions (No_Tasking), but just the 4th error line vanished.
> 
> So, what should I do to make the tasks work?

AFAIK, there is no AVR Ada runtime, so it would have to be written.  I have no idea how much work that would be.



  reply	other threads:[~2012-04-30 22:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-30  3:17 Tasking on GNATAVR Rego, P.
2012-04-30 22:07 ` mjsilva [this message]
2012-05-01  8:27   ` Brian Drummond
2012-05-01 15:44     ` Rego, P.
2012-05-04  4:08       ` Building an RTS for my AVR Rego, P.
2012-05-01 15:08   ` Tasking on GNATAVR Rego, P.
2012-05-04  8:52     ` Brian Drummond
2012-05-04 17:08       ` Rego, P.
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox