Hello world Ada-example on RaspberryPi
Jan Sommer
soja-misc at aries.uberspace.de
Mon Jul 6 18:36:20 UTC 2015
Am Montag, 6. Juli 2015, 13:27:34 schrieb Joel Sherrill:
>
> Where is the delay initiated? in Ada code? a POSIX call? or with rtems_task_wake_after()?
>
In the Ada code of the hello.adb file of the example:
procedure Hello is
begin
Put_Line ("*** GNAT/RTEMS Hello World Test ***");
New_Line;
Put_Line ("Welcome to the World of Lady Ada");
New_Line;
Put_Line ("Initiating 2.5 second delay");
delay 2.5;
Put_Line ("Delay Complete");
Put_Line ("*** END OF GNAT/RTEMS Hello World Test ***");
end Hello;
> Ultimately, the run-time translates Ada operations into POSIX calls.
Ok, so if it works in POSIX-C calls then it should work in Ada as well (given that the runtime calls the right POSIX functions).
>
> But under the hood, the smallest unit of time for a delay is a clock tick.
> So if it is 10 milliseconds, then every delay < that will be 10 milliseconds
> or greater.
I don't believe that is the issue here. The delay is 2.5 s and a tick is either 10 or 1 ms.
This should have enough margin.
> Just to make sure the math in the Pi clock driver is OK, it would be
> a good idea to change the microseconds per tick value in the ticker
> sample. If it stays true to running ~30 seconds, then the math is right
> in the driver. If it doesn't remain true to "real world" time, then
> the math in the Pi clock driver may be wrong.
Ok. Will try that next.
More information about the users
mailing list