From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: STM32F4 Discovery, communication and libraries
Date: Wed, 27 Aug 2014 09:41:30 +0200
Date: 2014-08-27T09:41:30+02:00 [thread overview]
Message-ID: <16yza1ilbvqht.13yvkjtrl3l2.dlg@40tude.net> (raw)
In-Reply-To: 60a42dc6-d8d0-4432-ae5a-86de18b82840@googlegroups.com
On Tue, 26 Aug 2014 15:38:33 -0700 (PDT), roy.emmerich@gmail.com wrote:
> [Mike]
> I know that AdaCore is working on comms libraries for the ARM Cortex M
> parts, but I don't know anything about the projected availability.
What "comms" libraries? Basically it does not make sense to have a library
beyond system's port I/O driver, because higher-level protocols have
nothing in common, e.g. AK, CSLIP, ModBus.
> [Roy]
> If they want adopters then they'd better get a move on!
>
> 2. [UNSOLVED?] Libraries/examples: MODBUS RTU/Eth at the very least
ModBus is very straightforward to implement from scratch. There exist
commercial libraries of course, but you want it for free, I guess...
> I have yet to find a repository of libraries covering the major protocols
> (e.g. MODBUS, CAN, one-wire). There are quite a few in C. Would it be
> viable to just wrap these in Ada?
It depends. Usually middle-layer transports like ModBus, CAN have no use
without integration into some middleware framework. It is a bad idea to
communicate directly to them from the application, even if through a vendor
library.
Then, regarding CAN, the real problems are in the configuration, e.g. DBC
parsing or handling CANOpen. It is a very complicated stuff, which would be
very difficult to handle in an application without a middleware abstracting
away the mess.
And all protocols have issues with polling/event handling policy, you
wouldn't burden the application with that.
> It seems like a great short term
> solution but if we are using Ada to make things more stable, it hardly
> makes sense to use it merely to wrap (flakey) C libraries ;)
You will need lower-level vendor libraries, which are vendor (Vector, IXXAT
etc, I don't know what is the status of Linux CAN driver for ARM boards)
dependent and higher-level libraries implementing the upper-level protocols
like CANOpen.
> I'd appreciate any further feedback from members of this list.
I would try to use a Linux instead of running bare board. Debian for ARM is
available. It has a fully working GNAT FSF. [We successfully ran our
middleware (100% Ada) on an ARM board.]
AFAIK, AdaCore offers a cross compiler to ARM Linux. (It is a pain to use
native ARM GNAT).
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2014-08-27 7:41 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-26 22:38 STM32F4 Discovery, communication and libraries roy.emmerich
2014-08-27 2:40 ` Luke A. Guest
2014-08-27 12:35 ` Roy Emmerich
2014-08-27 7:41 ` Dmitry A. Kazakov [this message]
2014-08-27 13:35 ` Roy Emmerich
2014-08-27 16:00 ` Dmitry A. Kazakov
2014-08-27 13:08 ` Dennis Lee Bieber
2014-08-27 15:44 ` Roy Emmerich
2014-08-28 1:37 ` Dennis Lee Bieber
2014-08-27 16:03 ` Roy Emmerich
2014-08-28 1:48 ` Dennis Lee Bieber
2014-08-28 10:12 ` Roy Emmerich
2014-08-28 13:00 ` Dmitry A. Kazakov
2014-08-28 16:28 ` Mike Silva
2014-08-28 17:03 ` Roy Emmerich
2014-08-28 20:09 ` Dmitry A. Kazakov
2014-08-28 20:34 ` embeddedrelatedmike
2014-08-29 7:34 ` Dmitry A. Kazakov
2014-08-29 15:59 ` Niklas Holsti
2014-08-29 16:59 ` [OT] Ravenscar (the place, not profile), was: " Simon Clubley
2014-08-29 17:18 ` Niklas Holsti
2014-08-29 17:31 ` Simon Clubley
2014-08-30 14:55 ` Dennis Lee Bieber
2014-08-29 17:59 ` Jeffrey Carter
2014-08-29 23:30 ` Randy Brukardt
2014-08-30 11:25 ` Simon Clubley
2014-08-31 11:09 ` Phil Thornley
2014-08-30 12:36 ` Peter Chapin
2014-08-31 18:37 ` Dirk Craeynest
2014-08-31 19:38 ` Simon Clubley
2014-08-29 17:24 ` Mike Silva
2014-08-29 23:35 ` Randy Brukardt
2014-08-29 13:06 ` Dennis Lee Bieber
2014-08-29 16:52 ` Niklas Holsti
2014-08-31 0:49 ` Shark8
2014-08-28 21:17 ` Niklas Holsti
2014-08-29 0:07 ` Roy Emmerich
2014-08-29 17:58 ` Niklas Holsti
2014-08-29 7:41 ` Dmitry A. Kazakov
2014-08-29 16:31 ` Niklas Holsti
2014-08-29 16:47 ` Roy Emmerich
2014-08-29 19:41 ` Niklas Holsti
2014-08-30 22:00 ` Roy Emmerich
2014-08-31 10:08 ` Simon Wright
2014-09-01 20:15 ` Niklas Holsti
2014-09-01 21:11 ` Jeffrey Carter
2014-08-31 4:54 ` gvdschoot
2014-09-09 19:17 ` Roy Emmerich
2014-09-09 20:20 ` Mike Silva
[not found] ` <a54dcc42-d4e2-4d53-b381-2bb7a0eef1ee@googlegroups.com>
2014-09-10 1:41 ` Dennis Lee Bieber
2014-09-10 8:52 ` Roy Emmerich
2014-09-10 13:05 ` Dennis Lee Bieber
2014-09-10 17:16 ` Simon Wright
[not found] ` <a2e59fce-751c-46a0-90f3-80430c627732@googlegroups.com>
2014-09-10 7:22 ` Dmitry A. Kazakov
2014-09-10 9:35 ` Roy Emmerich
2014-09-10 14:11 ` Stephen Leake
2014-09-10 17:46 ` Jeffrey Carter
2014-09-10 18:37 ` Dmitry A. Kazakov
2014-09-11 9:53 ` Stephen Leake
2014-09-11 17:19 ` Jeffrey Carter
2014-09-10 20:58 ` Brian Drummond
2014-09-10 23:40 ` Dennis Lee Bieber
2014-08-29 16:58 ` Niklas Holsti
2014-08-31 7:02 ` Dmitry A. Kazakov
2014-08-31 15:44 ` Brad Moore
2014-08-31 16:15 ` Dmitry A. Kazakov
2014-09-01 16:15 ` Brad Moore
2014-09-01 16:42 ` Dmitry A. Kazakov
2014-08-31 18:41 ` Niklas Holsti
2014-09-01 16:42 ` Dmitry A. Kazakov
2014-09-01 17:21 ` G.B.
2014-09-02 8:21 ` Dmitry A. Kazakov
2014-09-02 13:04 ` G.B.
2014-09-02 14:18 ` Dmitry A. Kazakov
2014-09-02 16:44 ` Jeffrey Carter
2014-09-02 19:02 ` Niklas Holsti
2014-09-02 23:19 ` Randy Brukardt
2014-09-03 1:40 ` gdotone
2014-09-04 9:26 ` Roy Emmerich
2014-09-04 17:58 ` Niklas Holsti
2014-09-05 11:47 ` Simon Clubley
2014-09-09 19:04 ` Roy Emmerich
2014-09-01 18:39 ` Niklas Holsti
2014-09-02 8:19 ` Dmitry A. Kazakov
2014-08-28 13:10 ` Dennis Lee Bieber
2014-08-29 2:52 ` Dennis Lee Bieber
2014-09-20 20:50 ` David Thompson
2014-08-27 16:17 ` Mike Silva
2014-08-27 16:36 ` Roy Emmerich
2014-08-27 16:58 ` Simon Clubley
2014-08-29 19:36 ` johnscpg
2014-08-30 15:06 ` Stephen Leake
2014-09-02 21:40 ` rrr.eee.27
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox