Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eiffel->C for uController

77 views
Skip to first unread message

Yosifov Pavel

unread,
Apr 21, 2011, 10:40:57 PM4/21/11
to
Does it possible to translate Eiffel->C for microcontroller: without
OS (or something like FreeRTOS), code should be small, no main() - for
embedding, linking with Eiffel libs as C:

Eiffel libs ---------> C \
my Eiffel code --> C } -- C compiller --> HEX-file
my C code -------> /

What Eiffel compiller is good for this?

/Poul

ccwu

unread,
Apr 22, 2011, 12:45:12 AM4/22/11
to
I'm still using SmartEiffel 1.2r8 for a hard real time application and
hope one day I can replace SmartEiffel with GOBO Eiffel.
SmartEiffel 1.2r8 has a compiler option -no_main.

SmartEiffel may be good for embedding, but its runtime needs functions
from OS, and there is no further development now.


Cheng-Chang Wu

Yosifov Pavel

unread,
Apr 22, 2011, 1:17:28 AM4/22/11
to
Wu, thanks a lot! I tried SmartEiffel on Windows now (I haven't any
experience with Eiffel early) - it's seems good for Windows:
small .exe (73Kb of "Hello world" vs 25Kb of the same on C), one .C
and one .H file.
1) Does "Gobo" depends on OS calls?
2) Looks like "Gobo" is abandoned like SmartEiffel, isn't it?
3) "Gobo" translate to .C files like SmartEiffel?

Emmanuel Stapf [ES]

unread,
Apr 27, 2011, 7:42:09 PM4/27/11
to

Eiffel is not just a language, it includes also memory management,
design by contract, exceptions, file manipulations and various other
things. If you do not need all of those, then there is not much benefit
in using Eiffel in the first place. Still, if you really need to write
Eiffel code for your micro controller, you can tune the Eiffel Software
runtime and remove from the core libraries whatever you do not need, and
you will have to provide routines for performing the memory management.

Regards,
Manu

Cesar Rabak

unread,
Apr 28, 2011, 3:50:45 PM4/28/11
to
Em 27/4/2011 20:42, Emmanuel Stapf [ES] escreveu:
> On 4/21/2011 7:40 PM, Yosifov Pavel wrote:
>> Does it possible to translate Eiffel->C for microcontroller: without
>> OS (or something like FreeRTOS), code should be small, no main() - for
>> embedding, linking with Eiffel libs as C:
>>
>> Eiffel libs ---------> C \
>> my Eiffel code --> C } -- C compiller --> HEX-file
>> my C code -------> /
>>
>> What Eiffel compiller is good for this?
Manu,

> Eiffel is not just a language, it includes also memory management,
> design by contract, exceptions, file manipulations and various other
> things. If you do not need all of those, then there is not much benefit
> in using Eiffel in the first place.

This reply surprises me. One of the citations on ISE Eiffel site is
"Eiffel is the perfect embedded language..."ą; also in the
http://www.eiffel.com/products/studio/ you'll find: "Because of
EiffelStudio's simplicity, it is ideal for the embedded developer.
Industrial machines, automobiles, medical equipment, cameras, household
appliances, airplanes, vending machines, as well as the more obvious
cellular phone and PDA, are among the myriad of possible hosts for an
Eiffel embedded system."

> Still, if you really need to write
> Eiffel code for your micro controller, you can tune the Eiffel Software
> runtime and remove from the core libraries whatever you do not need, and
> you will have to provide routines for performing the memory management.
>

I would expect a version of EiffelStudio existed or at least be already
engineered so eliding the need of the "you" part in above paragraph.

--
Cesar Rabak


[1] In /Eiffel for embedded systems at Hewlett-Packard/ interview of
Christopher Creel, HP CCD (Color laserjet and Consumables Division).


ccwu

unread,
Apr 28, 2011, 8:55:05 PM4/28/11
to
On Apr 22, 1:17 pm, Yosifov Pavel <aqua...@gmail.com> wrote:
> Wu, thanks a lot! I tried SmartEiffel on Windows now (I haven't any
> experience with Eiffel early) - it's seems good for Windows:
> small .exe (73Kb of "Hello world" vs 25Kb of the same on C), one .C
> and one .H file.
> 1) Does "Gobo" depends on OS calls?
Yes, you can easily found on which it depends by examining its
runtime.

> 2) Looks like "Gobo" is abandoned like SmartEiffel, isn't it

It is stilled maintained by its authors.

> 3) "Gobo" translate to .C files like SmartEiffel?

Yes.

Emmanuel Stapf [ES]

unread,
May 3, 2011, 2:28:18 PM5/3/11
to
>> Eiffel is not just a language, it includes also memory management,
>> design by contract, exceptions, file manipulations and various other
>> things. If you do not need all of those, then there is not much benefit
>> in using Eiffel in the first place.
>
> This reply surprises me. One of the citations on ISE Eiffel site is
> "Eiffel is the perfect embedded language..."ą; also in the
> http://www.eiffel.com/products/studio/ you'll find: "Because of
> EiffelStudio's simplicity, it is ideal for the embedded developer.
> Industrial machines, automobiles, medical equipment, cameras, household
> appliances, airplanes, vending machines, as well as the more obvious
> cellular phone and PDA, are among the myriad of possible hosts for an
> Eiffel embedded system."

The OP was talking about a micro controller which are for me a very low
level embedded system with barely any rom or ram. Our default Embedded
support is for system with at least 128KB of rom and 256KB of RAM and
this includes a complete Eiffel implementation. If your requirements are
less than that, you need to start removing features from the language
and this is where you start loosing some of the benefits of Eiffel.

> I would expect a version of EiffelStudio existed or at least be already
> engineered so eliding the need of the "you" part in above paragraph.

Eiffel Software provides it for you on demand, but if you are using the
Open Source version you are on your own.

Regards,
Manu

Cesar Rabak

unread,
May 3, 2011, 4:06:17 PM5/3/11
to
Em 3/5/2011 15:28, Emmanuel Stapf [ES] escreveu:
>>> Eiffel is not just a language, it includes also memory management,
>>> design by contract, exceptions, file manipulations and various other
>>> things. If you do not need all of those, then there is not much benefit
>>> in using Eiffel in the first place.
>>
>> This reply surprises me. One of the citations on ISE Eiffel site is
>> "Eiffel is the perfect embedded language..."ą; also in the
>> http://www.eiffel.com/products/studio/ you'll find: "Because of
>> EiffelStudio's simplicity, it is ideal for the embedded developer.
>> Industrial machines, automobiles, medical equipment, cameras, household
>> appliances, airplanes, vending machines, as well as the more obvious
>> cellular phone and PDA, are among the myriad of possible hosts for an
>> Eiffel embedded system."
>
> The OP was talking about a micro controller which are for me a very low
> level embedded system with barely any rom or ram. Our default Embedded
> support is for system with at least 128KB of rom and 256KB of RAM and
> this includes a complete Eiffel implementation.

I see.

> If your requirements are less than that, you need to start removing features
> from the language and this is where you start loosing some of the
> benefits of Eiffel.

OK.

>
>> I would expect a version of EiffelStudio existed or at least be already
>> engineered so eliding the need of the "you" part in above paragraph.
>
> Eiffel Software provides it for you on demand, but if you are using the
> Open Source version you are on your own.

Thanks,

--
Cesar Rabak

0 new messages