comp.lang.ada
 help / color / mirror / Atom feed
* Which embedded devices do you use?
@ 2019-06-04 15:01 Ricardo Brandão
  2019-06-04 15:14 ` Dmitry A. Kazakov
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Ricardo Brandão @ 2019-06-04 15:01 UTC (permalink / raw)


Hi,

I worked with embedded systems for a long time.

I started with Z-World devices on late 80's. And now I'm working mainly with ESP32 boards.

I'm learning ADA and I'd like to use it on my new projects. So, I'd like to know what boards/processors you guys are using.

Normally, my projects need Digital IOs, Analog Inputs, and any way to wireless communication: Bluetooth, BLE, WiFi...

And I'm used to work with I2C devices as well (OLED displays, sensors, RTC, and so on).

Thanks

--
Ricardo Brandão


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

* Re: Which embedded devices do you use?
  2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
@ 2019-06-04 15:14 ` Dmitry A. Kazakov
  2019-06-04 15:26   ` Ricardo Brandão
  2019-06-04 15:55 ` Optikos
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Dmitry A. Kazakov @ 2019-06-04 15:14 UTC (permalink / raw)


On 2019-06-04 17:01, Ricardo Brandão wrote:

> So, I'd like to know what boards/processors you guys are using.

ARM-based boards with a Linux on it.

> Normally, my projects need Digital IOs, Analog Inputs, and any way to wireless communication: Bluetooth, BLE, WiFi...

For quality analogue I/O we are using EitherCAT or ModBus terminals. For 
digital I/O on board GPIO could serve but usually it is terminals as 
well. CAN and Serial is used too.

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


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

* Re: Which embedded devices do you use?
  2019-06-04 15:14 ` Dmitry A. Kazakov
@ 2019-06-04 15:26   ` Ricardo Brandão
  2019-06-04 15:56     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 14+ messages in thread
From: Ricardo Brandão @ 2019-06-04 15:26 UTC (permalink / raw)


Thanks Dmitri

> 
> ARM-based boards with a Linux on it.
> 

So, it could be a good idea use Beaglebone as a start point?

--
Ricardo Brandão

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

* Re: Which embedded devices do you use?
  2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
  2019-06-04 15:14 ` Dmitry A. Kazakov
@ 2019-06-04 15:55 ` Optikos
  2019-06-04 19:16   ` Ricardo Brandão
  2019-06-04 18:51 ` Olivier Henley
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Optikos @ 2019-06-04 15:55 UTC (permalink / raw)


On Tuesday, June 4, 2019 at 10:01:53 AM UTC-5, Ricardo Brandão wrote:
> Hi,
> 
> I worked with embedded systems for a long time.
> 
> I started with Z-World devices on late 80's. And now I'm working mainly with ESP32 boards.
> 
> I'm learning ADA and I'd like to use it on my new projects. So, I'd like to know what boards/processors you guys are using.
> 
> Normally, my projects need Digital IOs, Analog Inputs, and any way to wireless communication: Bluetooth, BLE, WiFi...
> 
> And I'm used to work with I2C devices as well (OLED displays, sensors, RTC, and so on).
> 
> Thanks
> 
> --
> Ricardo Brandão

I like Marvell's ESPRESSObin board, as distributed in the USA by Globalscale Technologies (shipped direct from PRChina).

http://ESPRESSObin.net

With an Armada 3720 SOC, it is capable of doing some serious telecom/datacom high-speed packet processing with some hardware assist (instead of slow software-processor speed) on its 2 LAN and 1 WAN Ethernet ports.  (Of course better would be the 7000 or 8000 series Armadas which have full-fledged SR-IOV on their SOC, but hey there is always room for improvement in the future.)

There is also the ESPRESSObin's baby brother (with fewer Ethernet ports):  the new Sheeva64 in wall-wart form-factor, continuing the venerable SheevaPlug family.

https://www.GlobalscaleTechnologies.com/p-86-sheeva64.aspx

What is nice about the ESPRESSObin and Sheeva is that they are embrace Yocto-Project Linux, so you are not tied to any one Linux distro.  Instead, Yocto Project requires that you roll your own Linux distro from near-scratch (e.g., mimicking whichever distro or bleeding edge referent* that you prefer).

* e.g., Linus Torvold's git repository

https://www.YoctoProject.org

Each ARM hobbyist SBC community has a different specialty.  I wouldn't do high-packet-rate telecom/datacom processing on a Raspberry Pi, for example.  That is what the Marvell Armada line is better suited for.

Btw, Marvell's Armada series is the decscendent whose ancestors include the DEC StrongARM and the Intel XScale, so in some ways this is one of the “main trunks” in the ARM-processor community, especially for industrial usage–not some twig on a branch.

https://www.TheRegister.co.uk/2006/06/27/intel_sells_xscale

Plus, Marvell's MoChi (modular chip multi-die SOCs) technology (•not• in the Armada 3720) is one of the industry leaders in DARPA's MoChi endeavors in recent years.  DARPA is trying to seed some of the major SOC processor manufacturers with MoChi.  Getting on board with Marvell now likely prepares you for the aggressive MoChi future as the 1st-generation-MoChi 7000 and 8000 series eventually migrates into the hobbyist SBCs, and then aggressive-MoChi successors follow after that in coming years.

https://www.marvell.com/architecture/mochi

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

* Re: Which embedded devices do you use?
  2019-06-04 15:26   ` Ricardo Brandão
@ 2019-06-04 15:56     ` Dmitry A. Kazakov
  0 siblings, 0 replies; 14+ messages in thread
From: Dmitry A. Kazakov @ 2019-06-04 15:56 UTC (permalink / raw)


On 2019-06-04 17:26, Ricardo Brandão wrote:

>> ARM-based boards with a Linux on it.
> 
> So, it could be a good idea use Beaglebone as a start point?

Yes. We are using BB a lot, for prototyping etc.

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

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

* Re: Which embedded devices do you use?
  2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
  2019-06-04 15:14 ` Dmitry A. Kazakov
  2019-06-04 15:55 ` Optikos
@ 2019-06-04 18:51 ` Olivier Henley
  2019-06-04 19:14 ` Niklas Holsti
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Olivier Henley @ 2019-06-04 18:51 UTC (permalink / raw)


Hi Ricardo,

You can dig here:

- https://github.com/ohenley/awesome-ada#Runtimes (the bb-runtimes repo by AdaCore)
- https://github.com/ohenley/awesome-ada/blob/master/README.md#Hardware-and-Embedded (The main repo to check is ada-drivers-library. Adacore is behind and they are of great assistance.)
- https://github.com/ohenley/awesome-ada/blob/master/README.md#Books Do not forget to check the book about embedded by Maciej Sobczak.

Hope it helps and any PR/Suggestions to refactor the list is welcome.
Take care,

Olivier


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

* Re: Which embedded devices do you use?
  2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
                   ` (2 preceding siblings ...)
  2019-06-04 18:51 ` Olivier Henley
@ 2019-06-04 19:14 ` Niklas Holsti
  2019-06-05  8:33 ` Philip Munts
  2019-06-05 11:22 ` Ricardo Brandão
  5 siblings, 0 replies; 14+ messages in thread
From: Niklas Holsti @ 2019-06-04 19:14 UTC (permalink / raw)


On 19-06-04 18:01 , Ricardo Brandão wrote:

> I'm learning ADA and I'd like to use it on my new projects. So, I'd
> like to know what boards/processors you guys are using.

The AdaCore "Make with Ada" competition entries use a wide range of 
hardware. See 
https://www.hackster.io/contests/adacore/submissions#challengeNav.

(As for myself, I've recently used Ada for embedded systems only in 
space applications, so only on made-for-space computers, usually with 
SPARC processors and a high price tag.)

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .

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

* Re: Which embedded devices do you use?
  2019-06-04 15:55 ` Optikos
@ 2019-06-04 19:16   ` Ricardo Brandão
  0 siblings, 0 replies; 14+ messages in thread
From: Ricardo Brandão @ 2019-06-04 19:16 UTC (permalink / raw)


Thanks for all information Optikos

There are a lot of boards that I didn't know :)

Em terça-feira, 4 de junho de 2019 12:55:23 UTC-3, Optikos  escreveu:
> On Tuesday, June 4, 2019 at 10:01:53 AM UTC-5, Ricardo Brandão wrote:
> > Hi,
> > 
> > I worked with embedded systems for a long time.
> > 
> > I started with Z-World devices on late 80's. And now I'm working mainly with ESP32 boards.
> > 
> > I'm learning ADA and I'd like to use it on my new projects. So, I'd like to know what boards/processors you guys are using.
> > 
> > Normally, my projects need Digital IOs, Analog Inputs, and any way to wireless communication: Bluetooth, BLE, WiFi...
> > 
> > And I'm used to work with I2C devices as well (OLED displays, sensors, RTC, and so on).
> > 
> > Thanks
> > 
> > --
> > Ricardo Brandão
> 
> I like Marvell's ESPRESSObin board, as distributed in the USA by Globalscale Technologies (shipped direct from PRChina).
> 
> http://ESPRESSObin.net
> 
> With an Armada 3720 SOC, it is capable of doing some serious telecom/datacom high-speed packet processing with some hardware assist (instead of slow software-processor speed) on its 2 LAN and 1 WAN Ethernet ports.  (Of course better would be the 7000 or 8000 series Armadas which have full-fledged SR-IOV on their SOC, but hey there is always room for improvement in the future.)
> 
> There is also the ESPRESSObin's baby brother (with fewer Ethernet ports):  the new Sheeva64 in wall-wart form-factor, continuing the venerable SheevaPlug family.
> 
> https://www.GlobalscaleTechnologies.com/p-86-sheeva64.aspx
> 
> What is nice about the ESPRESSObin and Sheeva is that they are embrace Yocto-Project Linux, so you are not tied to any one Linux distro.  Instead, Yocto Project requires that you roll your own Linux distro from near-scratch (e.g., mimicking whichever distro or bleeding edge referent* that you prefer).
> 
> * e.g., Linus Torvold's git repository
> 
> https://www.YoctoProject.org
> 
> Each ARM hobbyist SBC community has a different specialty.  I wouldn't do high-packet-rate telecom/datacom processing on a Raspberry Pi, for example.  That is what the Marvell Armada line is better suited for.
> 
> Btw, Marvell's Armada series is the decscendent whose ancestors include the DEC StrongARM and the Intel XScale, so in some ways this is one of the “main trunks” in the ARM-processor community, especially for industrial usage–not some twig on a branch.
> 
> https://www.TheRegister.co.uk/2006/06/27/intel_sells_xscale
> 
> Plus, Marvell's MoChi (modular chip multi-die SOCs) technology (•not• in the Armada 3720) is one of the industry leaders in DARPA's MoChi endeavors in recent years.  DARPA is trying to seed some of the major SOC processor manufacturers with MoChi.  Getting on board with Marvell now likely prepares you for the aggressive MoChi future as the 1st-generation-MoChi 7000 and 8000 series eventually migrates into the hobbyist SBCs, and then aggressive-MoChi successors follow after that in coming years.
> 
> https://www.marvell.com/architecture/mochi


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

* Re: Which embedded devices do you use?
  2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
                   ` (3 preceding siblings ...)
  2019-06-04 19:14 ` Niklas Holsti
@ 2019-06-05  8:33 ` Philip Munts
  2019-06-25  0:40   ` Paul Rubin
  2019-06-25  0:44   ` Paul Rubin
  2019-06-05 11:22 ` Ricardo Brandão
  5 siblings, 2 replies; 14+ messages in thread
From: Philip Munts @ 2019-06-05  8:33 UTC (permalink / raw)


BeagleBone (more and better I/O) and Raspberry Pi (faster).  Both running my own embedded Linux distribution:

https://github.com/pmunts/muntsos

Debian and Raspbian are fine general purpose operating systems, but IMHO they are wretched for embedded systems.

Anything on mains power should be running Linux.  The networking capabilities and development tools are just so far beyond microcontrollers.

I'm especially fond of the PocketBeagle and the Raspberry Pi Zero Wireless.  Running Ada programs, of course.

Phil

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

* Re: Which embedded devices do you use?
  2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
                   ` (4 preceding siblings ...)
  2019-06-05  8:33 ` Philip Munts
@ 2019-06-05 11:22 ` Ricardo Brandão
  5 siblings, 0 replies; 14+ messages in thread
From: Ricardo Brandão @ 2019-06-05 11:22 UTC (permalink / raw)


Thanks guys,

You provided a lot of material to study.

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

* Re: Which embedded devices do you use?
  2019-06-05  8:33 ` Philip Munts
@ 2019-06-25  0:40   ` Paul Rubin
  2019-06-25  7:58     ` Philip Munts
  2019-06-25  0:44   ` Paul Rubin
  1 sibling, 1 reply; 14+ messages in thread
From: Paul Rubin @ 2019-06-25  0:40 UTC (permalink / raw)


Philip Munts <philip.munts@gmail.com> writes:
> Anything on mains power should be running Linux.  The networking
> capabilities and development tools are just so far beyond
> microcontrollers.

That's an interesting comment that I've been remembering.

Do you happen to have measured the power consumption of the PocketBeagle
when a) idle, b) running full cpu?

I think the world needs a very low powered Linux board with 1/4 of the
speed and memory of the Pi Zero or PocketBeagle.  I wonder if something
like that exists now.

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

* Re: Which embedded devices do you use?
  2019-06-05  8:33 ` Philip Munts
  2019-06-25  0:40   ` Paul Rubin
@ 2019-06-25  0:44   ` Paul Rubin
  2019-06-25  7:26     ` Simon Wright
  1 sibling, 1 reply; 14+ messages in thread
From: Paul Rubin @ 2019-06-25  0:44 UTC (permalink / raw)


Philip Munts <philip.munts@gmail.com> writes:
> I'm especially fond of the PocketBeagle and the Raspberry Pi Zero
> Wireless.  Running Ada programs, of course.

By the way, if of any interest, I notice that recent development builds
of GCC include backend support for the PRU (realtime microcontroller)
built into the BeagleBone and PocketBeagle.  I'm not sure but I think
that may make it possible to run Ada programs on the PRU.  Nice.


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

* Re: Which embedded devices do you use?
  2019-06-25  0:44   ` Paul Rubin
@ 2019-06-25  7:26     ` Simon Wright
  0 siblings, 0 replies; 14+ messages in thread
From: Simon Wright @ 2019-06-25  7:26 UTC (permalink / raw)


Paul Rubin <no.email@nospam.invalid> writes:

> Philip Munts <philip.munts@gmail.com> writes:
>> I'm especially fond of the PocketBeagle and the Raspberry Pi Zero
>> Wireless.  Running Ada programs, of course.
>
> By the way, if of any interest, I notice that recent development
> builds of GCC include backend support for the PRU (realtime
> microcontroller) built into the BeagleBone and PocketBeagle.  I'm not
> sure but I think that may make it possible to run Ada programs on the
> PRU.  Nice.

Sounds promising (with the usual limitations imposed by 8K eack of
instruction, data memory). 


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

* Re: Which embedded devices do you use?
  2019-06-25  0:40   ` Paul Rubin
@ 2019-06-25  7:58     ` Philip Munts
  0 siblings, 0 replies; 14+ messages in thread
From: Philip Munts @ 2019-06-25  7:58 UTC (permalink / raw)


I don't have my engineering notebook with me and so I'm working from memory.  I recall measuring 70 mA for a Raspberry Pi Zero (not Wireless).  That's idle sitting at a command line and is pretty consistent with this site:

https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-power

I haven't measured a PocketBeagle's current consumption, but I imagine it would be similar.  A very quick scan of Google search results suggests 80 mA or so.

It would be a very interesting experiment to downclock a Pi Zero as much as possible to see how much power consumption can be reduced.

As it is, I sometimes run Raspberry Pi's on some 1000 mAh Lithium USB batteries  for classes and demonstrations and that would yield on the order of 10 hours for a Raspberry Pi Zero.

One challenge to reducing power performance is actually the on-board RAM, which often consumes a large fraction of the power budget.  Both the Raspberry Pi Zero and PocketBeagle, with 512 MB of RAM, are at sort of a sweet spot for performance, space, power consumption, and cost.

There are Linux computer modules that are smaller, like the LinkIt Smart 7688, with less RAM and potentially lower power consumption, but then it gets really hard to fit interesting and useful software.


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

end of thread, other threads:[~2019-06-25  7:58 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-04 15:01 Which embedded devices do you use? Ricardo Brandão
2019-06-04 15:14 ` Dmitry A. Kazakov
2019-06-04 15:26   ` Ricardo Brandão
2019-06-04 15:56     ` Dmitry A. Kazakov
2019-06-04 15:55 ` Optikos
2019-06-04 19:16   ` Ricardo Brandão
2019-06-04 18:51 ` Olivier Henley
2019-06-04 19:14 ` Niklas Holsti
2019-06-05  8:33 ` Philip Munts
2019-06-25  0:40   ` Paul Rubin
2019-06-25  7:58     ` Philip Munts
2019-06-25  0:44   ` Paul Rubin
2019-06-25  7:26     ` Simon Wright
2019-06-05 11:22 ` Ricardo Brandão

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