Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

To the systems programmer, users and applications serve only to provide a test load.


devel / comp.lang.ada / Re: Should light runtimes get more consideration?

SubjectAuthor
* Should light runtimes get more consideration?Kevin Chadwick
`* Re: Should light runtimes get more consideration?Randy Brukardt
 `* Re: Should light runtimes get more consideration?Kevin Chadwick
  `* Re: Should light runtimes get more consideration?Simon Wright
   `* Re: Should light runtimes get more consideration?DrPi
    `* Re: Should light runtimes get more consideration?Simon Wright
     `* Re: Should light runtimes get more consideration?DrPi
      `* Re: Should light runtimes get more consideration?Chris Townley
       `* Re: Should light runtimes get more consideration?Kevin Chadwick
        +* Re: Should light runtimes get more consideration?Chris Townley
        |`- Re: Should light runtimes get more consideration?DrPi
        `- Re: Should light runtimes get more consideration?DrPi

1
Should light runtimes get more consideration?

<ueug62$2fvor$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10132&group=comp.lang.ada#10132

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: kc-usenet@chadwicks.me.uk (Kevin Chadwick)
Newsgroups: comp.lang.ada
Subject: Should light runtimes get more consideration?
Date: Tue, 26 Sep 2023 11:44:02 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <ueug62$2fvor$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 26 Sep 2023 11:44:02 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="3f34db6aa2e6d6afb05f2a0cdf4cdc40";
logging-data="2621211"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19571BnLhogYLs9yxmQiyCX7iL0Jz8SCBY="
User-Agent: PhoNews/3.12.0 (Android/13)
Cancel-Lock: sha1:nzYRI7APuX+aT/aimN1L02LmdBg=
 by: Kevin Chadwick - Tue, 26 Sep 2023 11:44 UTC

I created the issue below a little while ago. Today I wonder whether Ada
2022s 'Image attribute on records use of Unbounded strings is for good
reason. Is it an oversight that Bounded String would work with the new
light runtime or String with all runtimes including the older zero
footprint runtimes?

Perhaps it was decided that a light runtime would not use this feature? and
I can cerrainly avoid it. However I use a light runtime with 100s of
kilobytes or ram and many gigabytes of flash.

Ada is a much nicer language than Rust which uses unsafe all over for
embedded but one thing that is interesting is that I believe all Rust code
can be run easily on any target. Should Ada aspire to that?

On the other hand micros are becoming multiprocessor bringing more demand
for tasking (protected types are not compatible with a light runtime) but
personally I believe multi chip single core designs are far better than
multicore and not only due to the impossibility of side channel attacks
like spectre.

https://github.com/Ada-Rapporteur-Group/User-Community-Input/issues/67

--
Regards, Kc

Re: Should light runtimes get more consideration?

<uf2t17$3h8mi$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10139&group=comp.lang.ada#10139

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: randy@rrsoftware.com (Randy Brukardt)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Wed, 27 Sep 2023 22:48:16 -0500
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <uf2t17$3h8mi$1@dont-email.me>
References: <ueug62$2fvor$1@dont-email.me>
Injection-Date: Thu, 28 Sep 2023 03:47:52 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4260f7b3e8705760fb05d2d372cfaa1b";
logging-data="3711698"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19shZ9ja8L1e5KuvViW3lndjv6iUN+b0f0="
Cancel-Lock: sha1:JYfyJitOubbT8cKpFtGFr2XIq1U=
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246
X-RFC2646: Format=Flowed; Response
X-Priority: 3
 by: Randy Brukardt - Thu, 28 Sep 2023 03:48 UTC

As noted on the ARG Github, you confused the Unbounded version of
Text_Buffers with an unbounded string (completely unrelated things), and
moreover, failed to notice that the language provides multiple ways to use a
Bounded Text_Buffer instead. So the language addresses this particular
concern.

I don't know if GNAT implements all of those ways (in particular, the
restriction Max_Image_Length), but that is hardly the fault of the language!

For anyone else interested in this particular discussion, I recommend
reading and following up on the ARG Githib issue rather than here
(https://github.com/Ada-Rapporteur-Group/User-Community-Input/issues/67).

Randy.

"Kevin Chadwick" <kc-usenet@chadwicks.me.uk> wrote in message
news:ueug62$2fvor$1@dont-email.me...
>I created the issue below a little while ago. Today I wonder whether Ada
> 2022s 'Image attribute on records use of Unbounded strings is for good
> reason. Is it an oversight that Bounded String would work with the new
> light runtime or String with all runtimes including the older zero
> footprint runtimes?
>
> Perhaps it was decided that a light runtime would not use this feature?
> and
> I can cerrainly avoid it. However I use a light runtime with 100s of
> kilobytes or ram and many gigabytes of flash.
>
> Ada is a much nicer language than Rust which uses unsafe all over for
> embedded but one thing that is interesting is that I believe all Rust code
> can be run easily on any target. Should Ada aspire to that?
>
> On the other hand micros are becoming multiprocessor bringing more demand
> for tasking (protected types are not compatible with a light runtime) but
> personally I believe multi chip single core designs are far better than
> multicore and not only due to the impossibility of side channel attacks
> like spectre.
>
> https://github.com/Ada-Rapporteur-Group/User-Community-Input/issues/67
>
> --
> Regards, Kc

Re: Should light runtimes get more consideration?

<uf3i1e$3kj1k$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10141&group=comp.lang.ada#10141

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: kc-usenet@chadwicks.me.uk (Kevin Chadwick)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Thu, 28 Sep 2023 09:46:23 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 29
Message-ID: <uf3i1e$3kj1k$1@dont-email.me>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 28 Sep 2023 09:46:23 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a248bed265e914cdd827b29ba5ac4577";
logging-data="3820596"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18VORjwx+Ou8ff/9ouhqYLIrcY1cHGwYuE="
User-Agent: PhoNews/3.12.0 (Android/13)
Cancel-Lock: sha1:AXMbnFmngvb53MwSMLr9YKqhu8k=
In-Reply-To: <uf2t17$3h8mi$1@dont-email.me>
 by: Kevin Chadwick - Thu, 28 Sep 2023 09:46 UTC

>Bounded Text_Buffer instead. So the language addresses this particular
>concern.
>
>I don't know if GNAT implements all of those ways (in particular, the
>restriction Max_Image_Length), but that is hardly the fault of the language!

I see. I guess the error message could suggest those options, too. Perhaps
after the 2022 Gnat support work is completed.

That buffer support is pretty neat but my main concern which Gnat may (it
may not) address more than the current language by providing a cortex
runtime. Is that such demanding runtimes are brilliant but I am not sure if
even Ravenscar is scalable to so many microchips such as Rust is trying to
support. That isn't a huge issue but barriers to entry like having to work
out your own exception replacement might be turning users away. Which is
unfortunate when Ada is the best language out there by a significant margin
for embedded development or frankly any protocol or hardware register use.

Of course others will rightly argue Ada is the best due to many of the more
complex runtime features but that doesn't help with the issue of ease of
adoption on an unsupported microchip that I have raised above.

>
>For anyone else interested in this particular discussion, I recommend
>reading and following up on the ARG Githib issue rather than here
>(https://github.com/Ada-Rapporteur-Group/User-Community-Input/issues/67).
>

Re: Should light runtimes get more consideration?

<lyr0mimnup.fsf@pushface.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10142&group=comp.lang.ada#10142

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: simon@pushface.org (Simon Wright)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Thu, 28 Sep 2023 14:25:18 +0100
Organization: A noiseless patient Spider
Lines: 52
Message-ID: <lyr0mimnup.fsf@pushface.org>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="f11e4b71224519ee7e9dc80c08b5d4c4";
logging-data="3896174"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/uy8zZM9J9SPqUmF6toZFSHC/dh72IZdI="
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin)
Cancel-Lock: sha1:hEiHmp2tU5JxvH4ywTcLBOO4aQs=
sha1:wk42jPARKIT4K2ICKGUA4mmkVfQ=
 by: Simon Wright - Thu, 28 Sep 2023 13:25 UTC

Kevin Chadwick <kc-usenet@chadwicks.me.uk> writes:

> That buffer support is pretty neat but my main concern which Gnat may
> (it may not) address more than the current language by providing a
> cortex runtime. Is that such demanding runtimes are brilliant but I am
> not sure if even Ravenscar is scalable to so many microchips such as
> Rust is trying to support. That isn't a huge issue but barriers to
> entry like having to work out your own exception replacement might be
> turning users away. Which is unfortunate when Ada is the best language
> out there by a significant margin for embedded development or frankly
> any protocol or hardware register use.

When I started on Cortex GNAT RTS[1], a large part of the motivation
(aside from the fun element) was that AdaCore's bare-board RTSs were
GPL'd (they still are). Not that I cared about that, but other people
did.

I took the approach of AdaCore's SFP (small footprint) profile, now
renamed to light tasking, which implemented Ravenscar tasking but not
exception propagation or finalization.

The tasking part wasn't too hard, though I think exception handling and
finalization might have made things more difficult. Basing the tasking
on FreeRTOS saved a lot of grief (there are a couple of areas when the
resulting semantic isn't _quite_ Ada's).

I did some work on finalization, not merged.

Exception handling, without finalization, seemed a daunting prospect,
specially since the last project I worked on before retirement regarded
an unhandled exception as requiring a reboot (and ditching any missiles
in flight).

The current implementation has about 17 files (1 .h, 1 .s, 9 .ads, 4
..adb) to customise to the chip (setting up interrupt vectors, the clock,
and memory). There are about 200 Ada sources that are common.

AdaCore currently have 68 RTS packages in the Alire gnat_arm_elf
toolchain. 18 of these are 'embedded' packages (full Ada, but with
Jorvik tasking). I'd be surprised if they had a higher proportion of
chip dependency than my efforts. Most if not all of the exception
handling will be chip-independent. I'm not sure how many of the 90 or so
Ada sources in the STM32F4 gnarl/ directory are actually chip-dependent,
I get the impression it's not high.

--------------------

So, unless you're going to use some target that AdaCore haven't released
support for, your best bet must be to either use or at worst start from
the available RTS packages.

[1] https://github.com/simonjwright/cortex-gnat-rts

Re: Should light runtimes get more consideration?

<uf4efu$uj4$1@rasp.pasdenom.info>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10144&group=comp.lang.ada#10144

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!pasdenom.info!.POSTED.2a01:e0a:472:70f0:111f:d3d6:68da:c453!not-for-mail
From: 314@drpi.fr (DrPi)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Thu, 28 Sep 2023 19:51:57 +0200
Organization: <https://pasdenom.info/news.html>
Message-ID: <uf4efu$uj4$1@rasp.pasdenom.info>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 28 Sep 2023 17:51:58 -0000 (UTC)
Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:111f:d3d6:68da:c453";
logging-data="31332"; mail-complaints-to="abuse@pasdenom.info"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha256:Uy7eq+jAUHbQB/YSLq2cV8c5fIWCkcgFvZLSvVZoykY=
Content-Language: en-US
In-Reply-To: <lyr0mimnup.fsf@pushface.org>
 by: DrPi - Thu, 28 Sep 2023 17:51 UTC

> The current implementation has about 17 files (1 .h, 1 .s, 9 .ads, 4
> .adb) to customise to the chip (setting up interrupt vectors, the clock,
> and memory). There are about 200 Ada sources that are common.
>
> AdaCore currently have 68 RTS packages in the Alire gnat_arm_elf
> toolchain. 18 of these are 'embedded' packages (full Ada, but with
> Jorvik tasking). I'd be surprised if they had a higher proportion of
> chip dependency than my efforts. Most if not all of the exception
> handling will be chip-independent. I'm not sure how many of the 90 or so
> Ada sources in the STM32F4 gnarl/ directory are actually chip-dependent,
> I get the impression it's not high.
>
Right, not high.

I've created 2 of them based on one of the Adacore RTS.
I can't say it has been easy since you first have to understand how it
works (and things change at each new release).
One important point is that some critical parameters are hard coded in
the source code. Like the core frequency. You MUST use a fix clock
frequency to get correct time management (delays, ...). This is why in
their last version, you run a script to generate part of the RTS source
code (frequency and other parameters are injected in the source code).
When you change the core frequency you have to regenerate the RTS binary.

I created the RTS to evaluate the potential use of Ada on embedded
targets. I have never used them except for testing.
The main reason is that Adacore RTS are made for specific use (avionics,
spatial...). The code using these RTS must be provable (or as provable
as possible). This induce big limitations.
Tasking is very limited. For example you can't use timeouts. Never. They
propose a workaround but it is complex and not equivalent to a real
timeout management.
I'd like to have a full Ada RTS for embedded targets, like on desktop. I
don't need to certify/prove my hardware/software.
Some people say micro-controllers are too limited for this. That's true
for some of them. I use micro-controllers with megabytes FLASH memory
and hundreds kilobytes of RAM. Is this not enough ?

Re: Should light runtimes get more consideration?

<lyil7um345.fsf@pushface.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10145&group=comp.lang.ada#10145

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: simon@pushface.org (Simon Wright)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Thu, 28 Sep 2023 21:53:14 +0100
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <lyil7um345.fsf@pushface.org>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="f11e4b71224519ee7e9dc80c08b5d4c4";
logging-data="4056662"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+56sV1FujXXIlriho6ZniIKyX6i+rmUvM="
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin)
Cancel-Lock: sha1:tGVAx/ax337ApyEDh1xJKo0JS/0=
sha1:/u4xR9JQm7wQm+/sVfj42rsc174=
 by: Simon Wright - Thu, 28 Sep 2023 20:53 UTC

DrPi <314@drpi.fr> writes:

> Tasking is very limited. For example you can't use
> timeouts. Never. They propose a workaround but it is complex and not
> equivalent to a real timeout management.

Not sure what a "real timeout management" would look like?

> I'd like to have a full Ada RTS for embedded targets, like on
> desktop.

Have you considered using something like a Raspberry Pi?

Re: Should light runtimes get more consideration?

<uf4qio$2mc$1@rasp.pasdenom.info>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10147&group=comp.lang.ada#10147

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!rocksolid2!news.neodome.net!news.nntp4.net!pasdenom.info!.POSTED.2a01:e0a:472:70f0:111f:d3d6:68da:c453!not-for-mail
From: 314@drpi.fr (DrPi)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Thu, 28 Sep 2023 23:18:15 +0200
Organization: <https://pasdenom.info/news.html>
Message-ID: <uf4qio$2mc$1@rasp.pasdenom.info>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info> <lyil7um345.fsf@pushface.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 28 Sep 2023 21:18:16 -0000 (UTC)
Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:111f:d3d6:68da:c453";
logging-data="2764"; mail-complaints-to="abuse@pasdenom.info"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha256:AYPgjs2uVN9FeMxy6P7VEXqIsAzTQdUJpGPSUL4g0ws=
Content-Language: en-US
In-Reply-To: <lyil7um345.fsf@pushface.org>
 by: DrPi - Thu, 28 Sep 2023 21:18 UTC

Le 28/09/2023 à 22:53, Simon Wright a écrit :
> DrPi <314@drpi.fr> writes:
>
>> Tasking is very limited. For example you can't use
>> timeouts. Never. They propose a workaround but it is complex and not
>> equivalent to a real timeout management.
>
> Not sure what a "real timeout management" would look like?
>
>> I'd like to have a full Ada RTS for embedded targets, like on
>> desktop.
>
> Have you considered using something like a Raspberry Pi?
A RaspberryPi is a computer (based on a microprocessor with an OS), not
an micro-controller. It consumes a lot of electrical power. The OS
(linux) is not real time. It uses a lot of board space. The processor is
a proprietary black box...

Re: Should light runtimes get more consideration?

<uf53hg$3l8cq$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10148&group=comp.lang.ada#10148

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: news@cct-net.co.uk (Chris Townley)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Fri, 29 Sep 2023 00:51:11 +0100
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <uf53hg$3l8cq$1@dont-email.me>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info> <lyil7um345.fsf@pushface.org>
<uf4qio$2mc$1@rasp.pasdenom.info>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 28 Sep 2023 23:51:12 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="fac810b6781ed6dc4493d9d9b864b91d";
logging-data="3842458"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX192Yjzcfk/zESYYR7UyXBaE0ikS6EMxrd0="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.15.1
Cancel-Lock: sha1:B3HYC6/klXzRFvhalo8N0jfkOq4=
Content-Language: en-GB
In-Reply-To: <uf4qio$2mc$1@rasp.pasdenom.info>
 by: Chris Townley - Thu, 28 Sep 2023 23:51 UTC

On 28/09/2023 22:18, DrPi wrote:
> Le 28/09/2023 à 22:53, Simon Wright a écrit :
>> DrPi <314@drpi.fr> writes:
>>
>>> Tasking is very limited. For example you can't use
>>> timeouts. Never. They propose a workaround but it is complex and not
>>> equivalent to a real timeout management.
>>
>> Not sure what a "real timeout management" would look like?
>>
>>> I'd like to have a full Ada RTS for embedded targets, like on
>>> desktop.
>>
>> Have you considered using something like a Raspberry Pi?
> A RaspberryPi is a computer (based on a microprocessor with an OS), not
> an micro-controller. It consumes a lot of electrical power. The OS
> (linux) is not real time. It uses a lot of board space. The processor is
> a proprietary black box...
>

Plenty use the Raspberry Pi as a microcontroller

--
Chris

Re: Should light runtimes get more consideration?

<uf6768$7dtq$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10149&group=comp.lang.ada#10149

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!rocksolid2!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: kc-usenet@chadwicks.me.uk (Kevin Chadwick)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Fri, 29 Sep 2023 09:59:37 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <uf6768$7dtq$1@dont-email.me>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info> <lyil7um345.fsf@pushface.org>
<uf4qio$2mc$1@rasp.pasdenom.info> <uf53hg$3l8cq$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 29 Sep 2023 09:59:37 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="81c892ab9785eabd84a6e916ca90865d";
logging-data="243642"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX195lwotyFXj6VO8KQFG4vmaHlvyGa2lQUY="
User-Agent: PhoNews/3.12.0 (Android/13)
Cancel-Lock: sha1:xIvtEktmtI5M55WLm+q2xgzx3e8=
In-Reply-To: <uf53hg$3l8cq$1@dont-email.me>
 by: Kevin Chadwick - Fri, 29 Sep 2023 09:59 UTC

>>>> Tasking is very limited. For example you can't use
>>>> timeouts. Never. They propose a workaround but it is complex and not
>>>> equivalent to a real timeout management.
>>>
>>> Not sure what a "real timeout management" would look like?
>>>
>>>> I'd like to have a full Ada RTS for embedded targets, like on
>>>> desktop.
>>>
>>> Have you considered using something like a Raspberry Pi?
>> A RaspberryPi is a computer (based on a microprocessor with an OS), not
>> an micro-controller. It consumes a lot of electrical power. The OS
>> (linux) is not real time. It uses a lot of board space. The processor is
>> a proprietary black box...
>>
>
>Plenty use the Raspberry Pi as a microcontroller

I think Simons point was that Arm/Linux has a working full runtime. I guess
bare raspberry pie would not and I guess it would be a rather large module
or board or single board computer depending on the model.

WRT energy use. I use a low power run feature on the STM32L4 which means the
system clock speed can change at any time. That seems to be incompatible
with any runtime that I have seen except the minimal light-cortex-m4 one. I
assume working with clocks is more scalable than working with runtimes but
I do not know for sure.

--
Regards, Kc

Re: Should light runtimes get more consideration?

<uf69m0$6nld$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10150&group=comp.lang.ada#10150

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: news@cct-net.co.uk (Chris Townley)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Fri, 29 Sep 2023 11:42:08 +0100
Organization: A noiseless patient Spider
Lines: 39
Message-ID: <uf69m0$6nld$1@dont-email.me>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info> <lyil7um345.fsf@pushface.org>
<uf4qio$2mc$1@rasp.pasdenom.info> <uf53hg$3l8cq$1@dont-email.me>
<uf6768$7dtq$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 29 Sep 2023 10:42:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="fac810b6781ed6dc4493d9d9b864b91d";
logging-data="220845"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+A4NW8dVFElnsA3gDLIe5W6suVhtaTFuU="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.15.1
Cancel-Lock: sha1:ilWlLoirUUdS1nD9Gkb8ov/uSA4=
Content-Language: en-GB
In-Reply-To: <uf6768$7dtq$1@dont-email.me>
 by: Chris Townley - Fri, 29 Sep 2023 10:42 UTC

On 29/09/2023 10:59, Kevin Chadwick wrote:
>
>>>>> Tasking is very limited. For example you can't use
>>>>> timeouts. Never. They propose a workaround but it is complex and not
>>>>> equivalent to a real timeout management.
>>>>
>>>> Not sure what a "real timeout management" would look like?
>>>>
>>>>> I'd like to have a full Ada RTS for embedded targets, like on
>>>>> desktop.
>>>>
>>>> Have you considered using something like a Raspberry Pi?
>>> A RaspberryPi is a computer (based on a microprocessor with an OS),
>>> not an micro-controller. It consumes a lot of electrical power. The
>>> OS (linux) is not real time. It uses a lot of board space. The
>>> processor is a proprietary black box...
>>>
>>
>> Plenty use the Raspberry Pi as a microcontroller
>
> I think Simons point was that Arm/Linux has a working full runtime. I guess
> bare raspberry pie would not and I guess it would be a rather large module
> or board or single board computer depending on the model.
>
> WRT energy use. I use a low power run feature on the STM32L4 which means
> the
> system clock speed can change at any time. That seems to be incompatible
> with any runtime that I have seen except the minimal light-cortex-m4 one. I
> assume working with clocks is more scalable than working with runtimes but
> I do not know for sure.
>

Agreed, but in addition to the mainline Pis there is the zero, and the
pico, which has a 'RP2040' made by Raspberry Pi and is a dual-core ARM
Cortex M0+ processor, with a flexible clock running up to 133MHz

--
Chris

Re: Should light runtimes get more consideration?

<uf6k7r$4vc$1@rasp.pasdenom.info>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10151&group=comp.lang.ada#10151

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!paganini.bofh.team!pasdenom.info!.POSTED.2a01:e0a:472:70f0:959e:839e:9b8:b64!not-for-mail
From: 314@drpi.fr (DrPi)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Fri, 29 Sep 2023 15:42:17 +0200
Organization: <https://pasdenom.info/news.html>
Message-ID: <uf6k7r$4vc$1@rasp.pasdenom.info>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info> <lyil7um345.fsf@pushface.org>
<uf4qio$2mc$1@rasp.pasdenom.info> <uf53hg$3l8cq$1@dont-email.me>
<uf6768$7dtq$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 29 Sep 2023 13:42:19 -0000 (UTC)
Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:959e:839e:9b8:b64";
logging-data="5100"; mail-complaints-to="abuse@pasdenom.info"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha256:JAqBKgG/dWEOCJ0IjjZzGlDKznNpTsSaCAiXtw78Ku0=
In-Reply-To: <uf6768$7dtq$1@dont-email.me>
Content-Language: en-US
 by: DrPi - Fri, 29 Sep 2023 13:42 UTC

> WRT energy use. I use a low power run feature on the STM32L4 which means
> the
> system clock speed can change at any time. That seems to be incompatible
> with any runtime that I have seen except the minimal light-cortex-m4 one. I
> assume working with clocks is more scalable than working with runtimes but
> I do not know for sure.
>
The fact that the clock speed is hard coded is a design choice.
It simplifies the time management.
It makes the runtime more "hard real time" compliant since there are
less computations to be done at execution.

Re: Should light runtimes get more consideration?

<uf6kc1$4vd$1@rasp.pasdenom.info>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=10152&group=comp.lang.ada#10152

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!paganini.bofh.team!pasdenom.info!.POSTED.2a01:e0a:472:70f0:959e:839e:9b8:b64!not-for-mail
From: 314@drpi.fr (DrPi)
Newsgroups: comp.lang.ada
Subject: Re: Should light runtimes get more consideration?
Date: Fri, 29 Sep 2023 15:44:31 +0200
Organization: <https://pasdenom.info/news.html>
Message-ID: <uf6kc1$4vd$1@rasp.pasdenom.info>
References: <ueug62$2fvor$1@dont-email.me> <uf2t17$3h8mi$1@dont-email.me>
<uf3i1e$3kj1k$1@dont-email.me> <lyr0mimnup.fsf@pushface.org>
<uf4efu$uj4$1@rasp.pasdenom.info> <lyil7um345.fsf@pushface.org>
<uf4qio$2mc$1@rasp.pasdenom.info> <uf53hg$3l8cq$1@dont-email.me>
<uf6768$7dtq$1@dont-email.me> <uf69m0$6nld$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 29 Sep 2023 13:44:34 -0000 (UTC)
Injection-Info: rasp.pasdenom.info; posting-account="314@usenet"; posting-host="2a01:e0a:472:70f0:959e:839e:9b8:b64";
logging-data="5101"; mail-complaints-to="abuse@pasdenom.info"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha256:icu6lDSkL/Gp4IBqRQ+ZddYANcRymGun8Zz24W6q3Ak=
In-Reply-To: <uf69m0$6nld$1@dont-email.me>
Content-Language: en-US
 by: DrPi - Fri, 29 Sep 2023 13:44 UTC

Le 29/09/2023 à 12:42, Chris Townley a écrit :
> On 29/09/2023 10:59, Kevin Chadwick wrote:
>>
>>>>>> Tasking is very limited. For example you can't use
>>>>>> timeouts. Never. They propose a workaround but it is complex and not
>>>>>> equivalent to a real timeout management.
>>>>>
>>>>> Not sure what a "real timeout management" would look like?
>>>>>
>>>>>> I'd like to have a full Ada RTS for embedded targets, like on
>>>>>> desktop.
>>>>>
>>>>> Have you considered using something like a Raspberry Pi?
>>>> A RaspberryPi is a computer (based on a microprocessor with an OS),
>>>> not an micro-controller. It consumes a lot of electrical power. The
>>>> OS (linux) is not real time. It uses a lot of board space. The
>>>> processor is a proprietary black box...
>>>>
>>>
>>> Plenty use the Raspberry Pi as a microcontroller
>>
>> I think Simons point was that Arm/Linux has a working full runtime. I
>> guess
>> bare raspberry pie would not and I guess it would be a rather large
>> module
>> or board or single board computer depending on the model.
>>
>> WRT energy use. I use a low power run feature on the STM32L4 which
>> means the
>> system clock speed can change at any time. That seems to be incompatible
>> with any runtime that I have seen except the minimal light-cortex-m4
>> one. I
>> assume working with clocks is more scalable than working with runtimes
>> but
>> I do not know for sure.
>>
>
> Agreed, but in addition to the mainline Pis there is the zero, and the
> pico, which has a 'RP2040' made by Raspberry Pi and is a dual-core ARM
> Cortex M0+ processor, with a flexible clock running up to 133MHz
>
A runtime for the RP2040 already exist. It is based on the Adacore ARM
runtimes so has the same limitations.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor