comp.lang.ada
 help / color / mirror / Atom feed
* Are there any cross-compiler for Embedded Linux on ARMv7?
@ 2021-03-29 17:16 John McCabe
  2021-03-29 18:26 ` Dmitry A. Kazakov
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: John McCabe @ 2021-03-29 17:16 UTC (permalink / raw)


Kind of as it says in the subject; I'm aware there's a GNAT Pro release 
that seems to target Embedded Linux on ARM, but are there any others?

I'm assuming the GNAT offering covers ARMv7 on the basis their bare-metal 
one packaged in the Community Edition does, but maybe it doesn't!

I saw some information on a PTC ApexAda one but what I read gives the 
impression it may be ARMv8 only, maybe not though!

If anyone knows more about this, any info they can give me would be very 
much appreciated; at this point I'm particularly interested in ARM A9 
support, and at least Ada 2005, preferably 2012.

Also, does anyone know what AdaCore's like (or any other vendors, for 
that matter) if you ask for pricing/evaluation? We've been using C++ at 
work for ages, but I'm quite interested in seeing whether it would be at 
all feasible to move, at least partly, to Ada because C++ gets on my 
nerves :-) Sadly though, as we're busy and it would be an "on the side" 
evalaution, I've not got much time to 'play' with it, so the duration 
would be pretty much be open-ended, and I could do without people 
hassling me every few weeks to buy their products when the chances are 
I've managed about 10 minutes with it between calls...

Hope you don't mind me asking here; I know there are some great guys from 
various vendors here, so... 

Thanks
John

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 17:16 Are there any cross-compiler for Embedded Linux on ARMv7? John McCabe
@ 2021-03-29 18:26 ` Dmitry A. Kazakov
  2021-03-29 21:06   ` John McCabe
  2021-03-29 18:46 ` Andreas ZEURCHER
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 19+ messages in thread
From: Dmitry A. Kazakov @ 2021-03-29 18:26 UTC (permalink / raw)


On 2021-03-29 19:16, John McCabe wrote:
> Kind of as it says in the subject; I'm aware there's a GNAT Pro release
> that seems to target Embedded Linux on ARM, but are there any others?
> 
> I'm assuming the GNAT offering covers ARMv7 on the basis their bare-metal
> one packaged in the Community Edition does, but maybe it doesn't!
> 
> I saw some information on a PTC ApexAda one but what I read gives the
> impression it may be ARMv8 only, maybe not though!
> 
> If anyone knows more about this, any info they can give me would be very
> much appreciated; at this point I'm particularly interested in ARM A9
> support, and at least Ada 2005, preferably 2012.
> 
> Also, does anyone know what AdaCore's like (or any other vendors, for
> that matter) if you ask for pricing/evaluation? We've been using C++ at
> work for ages, but I'm quite interested in seeing whether it would be at
> all feasible to move, at least partly, to Ada because C++ gets on my
> nerves :-) Sadly though, as we're busy and it would be an "on the side"
> evalaution, I've not got much time to 'play' with it, so the duration
> would be pretty much be open-ended, and I could do without people
> hassling me every few weeks to buy their products when the chances are
> I've managed about 10 minutes with it between calls...
> 
> Hope you don't mind me asking here; I know there are some great guys from
> various vendors here, so...

We are using GNAT Pro cross compiler with Yokto and Debian, though I 
presume it will work with any distribution.

You need no evaluation. Simply install Debian, Ubuntu or Fedora on a 
resonable ARM board 2GB or more. Use the native GNAT FSF compiler there 
to build your executable. Transfer it to the target board. Enjoy.

Once you are ready, go and buy GNAT Pro.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 17:16 Are there any cross-compiler for Embedded Linux on ARMv7? John McCabe
  2021-03-29 18:26 ` Dmitry A. Kazakov
@ 2021-03-29 18:46 ` Andreas ZEURCHER
  2021-03-29 21:14   ` John McCabe
  2021-03-30 10:01 ` Maxim Reznik
  2021-03-30 17:58 ` Shark8
  3 siblings, 1 reply; 19+ messages in thread
From: Andreas ZEURCHER @ 2021-03-29 18:46 UTC (permalink / raw)


On Monday, March 29, 2021 at 12:16:46 PM UTC-5, John McCabe wrote:
> Kind of as it says in the subject; I'm aware there's a GNAT Pro release 
> that seems to target Embedded Linux on ARM, but are there any others? 
> 
> I'm assuming the GNAT offering covers ARMv7 on the basis their bare-metal 
> one packaged in the Community Edition does, but maybe it doesn't! 
> 
> I saw some information on a PTC ApexAda one but what I read gives the 
> impression it may be ARMv8 only, maybe not though! 
> 
> If anyone knows more about this, any info they can give me would be very 
> much appreciated; at this point I'm particularly interested in ARM A9 
> support, and at least Ada 2005, preferably 2012. 
> 
> Also, does anyone know what AdaCore's like (or any other vendors, for 
> that matter) if you ask for pricing/evaluation?

The sales staff is pleasant to deal with, but you might get sticker shock at the prices that they charge for non-GPLed supported products.  As far as evaluation, I think that you are looking at it with the GPLed Community Edition, that is something that you should ask the salesman to see whether there is in fact any evaluation period for specific targets that are non-GPLed-only, not part of Community Edition.

> We've been using C++ at 
> work for ages, but I'm quite interested in seeing whether it would be at 
> all feasible to move, at least partly, to Ada because C++ gets on my 
> nerves :-) Sadly though, as we're busy and it would be an "on the side" 
> evalaution, I've not got much time to 'play' with it, so the duration 
> would be pretty much be open-ended, and I could do without people 
> hassling me every few weeks to buy their products when the chances are 
> I've managed about 10 minutes with it between calls... 
> 
> Hope you don't mind me asking here; I know there are some great guys from 
> various vendors here, so... 
> 
> Thanks 
> John

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 18:26 ` Dmitry A. Kazakov
@ 2021-03-29 21:06   ` John McCabe
  2021-03-29 21:40     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 19+ messages in thread
From: John McCabe @ 2021-03-29 21:06 UTC (permalink / raw)


On Mon, 29 Mar 2021 20:26:47 +0200, Dmitry A. Kazakov wrote:

> On 2021-03-29 19:16, John McCabe wrote:
>> <..snip..> 

> We are using GNAT Pro cross compiler with Yokto and Debian, though I
> presume it will work with any distribution.
 
> You need no evaluation. Simply install Debian, Ubuntu or Fedora on a
> resonable ARM board 2GB or more. Use the native GNAT FSF compiler there
> to build your executable. Transfer it to the target board. Enjoy.
 
> Once you are ready, go and buy GNAT Pro.

Thanks for that info Dmitry. We're using Petalinux on custom hardware 
with a Xilinx Zynq-7000 (dual-core ARM A9), so it would be nice to run it 
on the real thing to work out how we'd deal with some of the FPGA 
interfaces and so on, if we were to purchase.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 18:46 ` Andreas ZEURCHER
@ 2021-03-29 21:14   ` John McCabe
  0 siblings, 0 replies; 19+ messages in thread
From: John McCabe @ 2021-03-29 21:14 UTC (permalink / raw)


On Mon, 29 Mar 2021 11:46:20 -0700, Andreas ZEURCHER wrote:

> On Monday, March 29, 2021 at 12:16:46 PM UTC-5, John McCabe wrote:
>> <..snip..>

> The sales staff is pleasant to deal with,

That's good to know.

> but you might get sticker
> shock at the prices that they charge for non-GPLed supported products. 

Possibly. It's been a long time since I knew the sort of prices these 
things go for, but it was in the thousands of dollars range then. It 
might still shock me though :-)

> As far as evaluation, I think that you are looking at it with the GPLed
> Community Edition, that is something that you should ask the salesman to
> see whether there is in fact any evaluation period for specific targets
> that are non-GPLed-only, not part of Community Edition.

I'm not sure the GPLed edition isn't much use for the target I'm looking 
at, as it's fairly specific (as I mentioned in response to Dmitry, it's a 
Zynq-7000/Petalinux combination), so I don't know if there's any way I 
could use a non-cross compiler on there in a sensible way, but....

As far as evaluation goes, they do have a form that mentions it but it's 
the duration thing that would be an issue. I've tried to cultivate an 
interest in Ada amongst my colleagues (actually, my line manager's mostly 
done FPGA stuff using VHDL so some of the bits I've shown him have been 
'familiar'), but we don't have anyone free to concentrate on evaluating 
something exclusively.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 21:06   ` John McCabe
@ 2021-03-29 21:40     ` Dmitry A. Kazakov
  2021-03-30 16:17       ` John McCabe
  0 siblings, 1 reply; 19+ messages in thread
From: Dmitry A. Kazakov @ 2021-03-29 21:40 UTC (permalink / raw)


On 2021-03-29 23:06, John McCabe wrote:
> On Mon, 29 Mar 2021 20:26:47 +0200, Dmitry A. Kazakov wrote:
> 
>> On 2021-03-29 19:16, John McCabe wrote:
>>> <..snip..>
> 
>> We are using GNAT Pro cross compiler with Yokto and Debian, though I
>> presume it will work with any distribution.
>   
>> You need no evaluation. Simply install Debian, Ubuntu or Fedora on a
>> resonable ARM board 2GB or more. Use the native GNAT FSF compiler there
>> to build your executable. Transfer it to the target board. Enjoy.
>   
>> Once you are ready, go and buy GNAT Pro.
> 
> Thanks for that info Dmitry. We're using Petalinux on custom hardware
> with a Xilinx Zynq-7000 (dual-core ARM A9), so it would be nice to run it
> on the real thing to work out how we'd deal with some of the FPGA
> interfaces and so on, if we were to purchase.

If you plan to run Linux there I see no reason why you could not use the 
native ARM compiler for evaluation. A cross compiler would change little 
or nothing in that case.

We are using a cross compiler for our custom target boards because it 
can be hosted on a powerful x86 machine instead of a sluggish ARM which 
also tend to crash under load or freeze when it goes into the swap.

Otherwise, nothing changes. We can perfectly well compile everything 
using GNAT FSF on an ODROID-XU4. It would only take a week instead of a 
day to build...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 17:16 Are there any cross-compiler for Embedded Linux on ARMv7? John McCabe
  2021-03-29 18:26 ` Dmitry A. Kazakov
  2021-03-29 18:46 ` Andreas ZEURCHER
@ 2021-03-30 10:01 ` Maxim Reznik
  2021-03-30 17:58 ` Shark8
  3 siblings, 0 replies; 19+ messages in thread
From: Maxim Reznik @ 2021-03-30 10:01 UTC (permalink / raw)


понедельник, 29 марта 2021 г. в 20:16:46 UTC+3, John McCabe:
> Kind of as it says in the subject; I'm aware there's a GNAT Pro release 
> that seems to target Embedded Linux on ARM, but are there any others? 
> 

What is Embedded Linux exactly? Does it use glibc? If so, you can use cross compiler from Debian/Ubuntu [1]. Or even use native GNAT for ARM, as suggested before.

At home I use OpenWRT on my WiFi router. With a little effort I patched OpenWRT scripts to have ARM cross compiler that targets to OpenWRT. OpenWRT uses `musl` as libc, that's why I can't use Ubuntu packages or native GNAT.


[1] https://packages.ubuntu.com/groovy/gnat-10-arm-linux-gnueabihf

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 21:40     ` Dmitry A. Kazakov
@ 2021-03-30 16:17       ` John McCabe
  2021-03-30 18:12         ` Dmitry A. Kazakov
  0 siblings, 1 reply; 19+ messages in thread
From: John McCabe @ 2021-03-30 16:17 UTC (permalink / raw)


On Mon, 29 Mar 2021 23:40:46 +0200, Dmitry A. Kazakov wrote:

> On 2021-03-29 23:06, John McCabe wrote:
>> On Mon, 29 Mar 2021 20:26:47 +0200, Dmitry A. Kazakov wrote:
>> 
>>> On 2021-03-29 19:16, John McCabe wrote:
>>>> <..snip..>

>> Thanks for that info Dmitry. We're using Petalinux on custom hardware
>> with a Xilinx Zynq-7000 (dual-core ARM A9), so it would be nice to run
>> it on the real thing to work out how we'd deal with some of the FPGA
>> interfaces and so on, if we were to purchase.

> If you plan to run Linux there I see no reason why you could not use the
> native ARM compiler for evaluation. A cross compiler would change little
> or nothing in that case.

Well, it's not a massively powerful device, we've got 1GB RAM, and we're 
using a RAM filesystem.

> Otherwise, nothing changes. We can perfectly well compile everything
> using GNAT FSF on an ODROID-XU4. It would only take a week instead of a
> day to build...

The Zynq-7000 we're using is a dual-core ARM A9 (as I mentioned) running 
at between 866MHz. As far as I can see the ODROID XU4 has quad-A15s at 
2GHz + quad-A7s at 1.4GHz, with 2GB RAM. So, if you imagine the "week 
instead of a day" thing, then take into account the dual-core vs 8-core, 
866MHz vs 2.0GHz/1.4GHz, 1.0GB vs 2.0GB, and RAM filesystem (ok, 
admittedly we have got 4GB flash on there, but...), perhaps a native ARM 
compiler isn't going to be a very effective evaluation tool :-)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-29 17:16 Are there any cross-compiler for Embedded Linux on ARMv7? John McCabe
                   ` (2 preceding siblings ...)
  2021-03-30 10:01 ` Maxim Reznik
@ 2021-03-30 17:58 ` Shark8
  2021-04-01  9:16   ` John McCabe
  3 siblings, 1 reply; 19+ messages in thread
From: Shark8 @ 2021-03-30 17:58 UTC (permalink / raw)


On Monday, March 29, 2021 at 11:16:46 AM UTC-6, John McCabe wrote:
> 
> If anyone knows more about this, any info they can give me would be very 
> much appreciated; at this point I'm particularly interested in ARM A9 
> support, and at least Ada 2005, preferably 2012. 
Hm?
Looking at doing Jazelle/native-Java-bytecode?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-30 16:17       ` John McCabe
@ 2021-03-30 18:12         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 19+ messages in thread
From: Dmitry A. Kazakov @ 2021-03-30 18:12 UTC (permalink / raw)


On 2021-03-30 18:17, John McCabe wrote:

> The Zynq-7000 we're using is a dual-core ARM A9 (as I mentioned) running
> at between 866MHz. As far as I can see the ODROID XU4 has quad-A15s at
> 2GHz + quad-A7s at 1.4GHz, with 2GB RAM. So, if you imagine the "week
> instead of a day" thing, then take into account the dual-core vs 8-core,
> 866MHz vs 2.0GHz/1.4GHz, 1.0GB vs 2.0GB, and RAM filesystem (ok,
> admittedly we have got 4GB flash on there, but...), perhaps a native ARM
> compiler isn't going to be a very effective evaluation tool :-)

One of our target boards is only 512M RAM single core.

The trick is to build on ODROID, but to run on the target.

Our code basis is huge, which is why it takes so long to build. For a 
sizeable project ODROID is OK. When I compile my private stuff it takes 
12+ hours to recompile everything on a Raspberry Pi 3, and only 3-4 on 
an ODROID.

The main problem is to figure out the gprbuild -j<n> switch. -j0 will 
likely run you into the swap with 8 kernels and many generics. ARM Linux 
becomes unstable when swapping.

If you invest in writing a good mock for your hardware, you could 
develop and test mostly on an x86. Only the integration tests would 
require building on the ODROID and running on the target.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-03-30 17:58 ` Shark8
@ 2021-04-01  9:16   ` John McCabe
  2021-04-05 18:19     ` Shark8
  0 siblings, 1 reply; 19+ messages in thread
From: John McCabe @ 2021-04-01  9:16 UTC (permalink / raw)


On Tue, 30 Mar 2021 10:58:53 -0700, Shark8 wrote:

> On Monday, March 29, 2021 at 11:16:46 AM UTC-6, John McCabe wrote:
>> 
>> If anyone knows more about this, any info they can give me would be
>> very much appreciated; at this point I'm particularly interested in ARM
>> A9 support, and at least Ada 2005, preferably 2012.
> Hm?
> Looking at doing Jazelle/native-Java-bytecode?

Hadn't thought of it - can you tell me why you might think that?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-01  9:16   ` John McCabe
@ 2021-04-05 18:19     ` Shark8
  2021-04-06 18:26       ` John McCabe
  2021-04-06 21:19       ` antispam
  0 siblings, 2 replies; 19+ messages in thread
From: Shark8 @ 2021-04-05 18:19 UTC (permalink / raw)


On Thursday, April 1, 2021 at 3:16:09 AM UTC-6, John McCabe wrote:
> On Tue, 30 Mar 2021 10:58:53 -0700, Shark8 wrote: 
> 
> > On Monday, March 29, 2021 at 11:16:46 AM UTC-6, John McCabe wrote: 
> >> 
> >> If anyone knows more about this, any info they can give me would be 
> >> very much appreciated; at this point I'm particularly interested in ARM 
> >> A9 support, and at least Ada 2005, preferably 2012. 
> > Hm? 
> > Looking at doing Jazelle/native-Java-bytecode?
> Hadn't thought of it - can you tell me why you might think that?
IIRC the ARM-9 was Jazelle that did the most "Java bytecode as native instructions", and there was a GNAT-JVM (IIRC GNAT Community release circa 2014) that targeted the JVM, which was Ada 2005 and [slightly buggy, iIRC] Ada 2012 — hence it could be possible to run JVM-targeted Ada 2005/2012 natively on such a processor.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-05 18:19     ` Shark8
@ 2021-04-06 18:26       ` John McCabe
  2021-04-06 21:19       ` antispam
  1 sibling, 0 replies; 19+ messages in thread
From: John McCabe @ 2021-04-06 18:26 UTC (permalink / raw)


On Mon, 05 Apr 2021 11:19:26 -0700, Shark8 wrote:

> On Thursday, April 1, 2021 at 3:16:09 AM UTC-6, John McCabe wrote:
>> On Tue, 30 Mar 2021 10:58:53 -0700, Shark8 wrote:

<..snip..?

>> > Looking at doing Jazelle/native-Java-bytecode?

>> Hadn't thought of it - can you tell me why you might think that?

> IIRC the ARM-9 was Jazelle that did the most "Java bytecode as native
> instructions", and there was a GNAT-JVM (IIRC GNAT Community release
> circa 2014) that targeted the JVM, which was Ada 2005 and [slightly
> buggy, iIRC] Ada 2012 — hence it could be possible to run JVM-targeted
> Ada 2005/2012 natively on such a processor.

Oh! That's interesing. No; I hadn't considered it as it's a new one on 
me. I'm not that au-fait with the Cortex-Ax series; most of the last 3 
years or so's been on the Cortex-Ms.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-05 18:19     ` Shark8
  2021-04-06 18:26       ` John McCabe
@ 2021-04-06 21:19       ` antispam
  2021-04-06 22:02         ` Britt
                           ` (2 more replies)
  1 sibling, 3 replies; 19+ messages in thread
From: antispam @ 2021-04-06 21:19 UTC (permalink / raw)


Shark8 <onewingedshark@gmail.com> wrote:
> On Thursday, April 1, 2021 at 3:16:09 AM UTC-6, John McCabe wrote:
> > On Tue, 30 Mar 2021 10:58:53 -0700, Shark8 wrote: 
> > 
> > > On Monday, March 29, 2021 at 11:16:46 AM UTC-6, John McCabe wrote: 
> > >> 
> > >> If anyone knows more about this, any info they can give me would be 
> > >> very much appreciated; at this point I'm particularly interested in ARM 
> > >> A9 support, and at least Ada 2005, preferably 2012. 
> > > Hm? 
> > > Looking at doing Jazelle/native-Java-bytecode?
> > Hadn't thought of it - can you tell me why you might think that?
> IIRC the ARM-9 was Jazelle that did the most "Java bytecode as native instructions", and there was a GNAT-JVM (IIRC GNAT Community release circa 2014) that targeted the JVM, which was Ada 2005 and [slightly buggy, iIRC] Ada 2012 ? hence it could be possible to run JVM-targeted Ada 2005/2012 natively on such a processor.

Is there real hardware implementing Java bytecode?  My impression was
that the whole thing was mostly software.  It is not clear to me
if it has any advantages compared to different JVM.  IIUC there
is clear disadvantage: Jazelle need software support integrated
at low level with OS.  It is not clear to me if ARM Linux has
needed support.

-- 
                              Waldek Hebisch

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-06 21:19       ` antispam
@ 2021-04-06 22:02         ` Britt
  2021-04-07 18:58           ` antispam
  2021-04-07  0:19         ` Paul Rubin
  2021-04-07  9:00         ` John McCabe
  2 siblings, 1 reply; 19+ messages in thread
From: Britt @ 2021-04-06 22:02 UTC (permalink / raw)


On Tuesday, April 6, 2021 at 5:19:34 PM UTC-4, anti...@math...pl wrote:

> Is there real hardware implementing Java bytecode? My impression was 
> that the whole thing was mostly software. It is not clear to me 
> if it has any advantages compared to different JVM. IIUC there 
> is clear disadvantage: Jazelle need software support integrated 
> at low level with OS. It is not clear to me if ARM Linux has 
> needed support. 
> 
> -- 
> Waldek Hebisch

Long ago there was this: https://ajile.com/ but by now they are very out of date.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-06 21:19       ` antispam
  2021-04-06 22:02         ` Britt
@ 2021-04-07  0:19         ` Paul Rubin
  2021-04-07 19:24           ` antispam
  2021-04-07  9:00         ` John McCabe
  2 siblings, 1 reply; 19+ messages in thread
From: Paul Rubin @ 2021-04-07  0:19 UTC (permalink / raw)


antispam@math.uni.wroc.pl writes:
> Is there real hardware implementing Java bytecode?

There have been various hardware assists for Java bytecode, but nowadays
people use JIT compilers.  I think it's not reasonable to implement Java
entirely in hardware, since some of the bytecode operations are higher
level, like looking up class methods I guess.  I never used Java much
and am glad it is mostly gone ;).

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-06 21:19       ` antispam
  2021-04-06 22:02         ` Britt
  2021-04-07  0:19         ` Paul Rubin
@ 2021-04-07  9:00         ` John McCabe
  2 siblings, 0 replies; 19+ messages in thread
From: John McCabe @ 2021-04-07  9:00 UTC (permalink / raw)


On Tue, 06 Apr 2021 21:19:32 +0000, antispam wrote:

> Shark8 <onewingedshark@gmail.com> wrote:

<..snip..>

>> IIRC the ARM-9 was Jazelle that did the most "Java bytecode as native
>> instructions", and there was a GNAT-JVM (IIRC GNAT Community release
>> circa 2014) that targeted the JVM, which was Ada 2005 and [slightly
>> buggy, iIRC] Ada 2012 ? hence it could be possible to run JVM-targeted
>> Ada 2005/2012 natively on such a processor.

> Is there real hardware implementing Java bytecode?  My impression was
> that the whole thing was mostly software.  It is not clear to me if it
> has any advantages compared to different JVM.  IIUC there is clear
> disadvantage: Jazelle need software support integrated at low level with
> OS.  It is not clear to me if ARM Linux has needed support.

There is a description of it on Wikipedia, at https://en.wikipedia.org/
wiki/Jazelle. It sounds like there was a hardware layer that translated 
bytecode into machine instructions as a stage in the instruction pipeline.

It doesn't come across as anything to do with ARM Linux though; more 
likely the bare-metal side.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-06 22:02         ` Britt
@ 2021-04-07 18:58           ` antispam
  0 siblings, 0 replies; 19+ messages in thread
From: antispam @ 2021-04-07 18:58 UTC (permalink / raw)


Britt <britt.snodgrass@gmail.com> wrote:
> On Tuesday, April 6, 2021 at 5:19:34 PM UTC-4, anti...@math...pl wrote:
> 
> > Is there real hardware implementing Java bytecode? My impression was 
> > that the whole thing was mostly software. It is not clear to me 
> > if it has any advantages compared to different JVM. IIUC there 
> > is clear disadvantage: Jazelle need software support integrated 
> > at low level with OS. It is not clear to me if ARM Linux has 
> > needed support. 
> > 
> > -- 
> > Waldek Hebisch
> 
> Long ago there was this: https://ajile.com/ but by now they are very out of date.

It seems that they want to sell processors.  That is different from
running Java bytecode on processor that I already own (and supposedly
includes Jazelle).

-- 
                              Waldek Hebisch

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Are there any cross-compiler for Embedded Linux on ARMv7?
  2021-04-07  0:19         ` Paul Rubin
@ 2021-04-07 19:24           ` antispam
  0 siblings, 0 replies; 19+ messages in thread
From: antispam @ 2021-04-07 19:24 UTC (permalink / raw)


Paul Rubin <no.email@nospam.invalid> wrote:
> antispam@math.uni.wroc.pl writes:
> > Is there real hardware implementing Java bytecode?
> 
> There have been various hardware assists for Java bytecode, but nowadays
> people use JIT compilers.  I think it's not reasonable to implement Java
> entirely in hardware, since some of the bytecode operations are higher
> level, like looking up class methods I guess.  I never used Java much
> and am glad it is mostly gone ;).

To be clear: I am not interested at all in running Java.  My interest
has following reason: long time experience of several systems
indicate that various bytecodes give smallest size of resulting
binary.  So, having most of binary as bytecode and time-critical
parts as conventional code could be valuable optimization: size
would be similar to pure bytecode (hance very small) and speed
should be close to native code.  Now, there is some effort to
implement such scheme: fast and seamless switching between
bytecode and native code and of course resonably performant
execution engine for bytecode.  Now, hardware implemented
bytecodes should have reasonably good performance and presumably
implementation should have fast ways of switching between
bytecode and native code.

Concerning specifically Java bytecode: I had a short look at
it in the past and it looked like resonable bytecode.  I admit
that I do not remember details.  Now, thing like looking up
class methods are logically calls to runtime.  If this is
a bytecode (and not a call), then it is natural for hardware
to implement it as vectored control transfer to runtime.
And similarly for other "high level" bytecodes.  Some time
ago I wrote code generator targeting ARM.  I could choose
mode, for some reasons it would be natural to generate
bytecode.  So I looked at ARM documentation and all I found
basically was "you need support routines, when they are
present Java will run".  No word about what hardware will
do (for example info which bytecodes are implemented by
hardware, which trap to software).  AFAICS ARM says that
sofware-only implementation is valid one, and there is
no indication that they provide real hardware support.
Of course, lack of info may be due to their silly
information policy.  But ATM there is no indication
that "Jazelle supporting" hardware have hardware
implementation of Java (or some other) bytecode.

Just extra thing: AFAICS translating on load Java bytecode
to a different, but semantically similar bytecode
could be a valid implementation.  For my purposes
such bytecode would be good enough, I do not care
if it Java or not.

-- 
                              Waldek Hebisch

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2021-04-07 19:24 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-29 17:16 Are there any cross-compiler for Embedded Linux on ARMv7? John McCabe
2021-03-29 18:26 ` Dmitry A. Kazakov
2021-03-29 21:06   ` John McCabe
2021-03-29 21:40     ` Dmitry A. Kazakov
2021-03-30 16:17       ` John McCabe
2021-03-30 18:12         ` Dmitry A. Kazakov
2021-03-29 18:46 ` Andreas ZEURCHER
2021-03-29 21:14   ` John McCabe
2021-03-30 10:01 ` Maxim Reznik
2021-03-30 17:58 ` Shark8
2021-04-01  9:16   ` John McCabe
2021-04-05 18:19     ` Shark8
2021-04-06 18:26       ` John McCabe
2021-04-06 21:19       ` antispam
2021-04-06 22:02         ` Britt
2021-04-07 18:58           ` antispam
2021-04-07  0:19         ` Paul Rubin
2021-04-07 19:24           ` antispam
2021-04-07  9:00         ` John McCabe

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