[En-Nut-Discussion] Ethernut Porting <was> Ethernut port to CrossStudio

Harald Kipp harald.kipp at egnite.de
Wed Feb 8 20:30:01 CET 2006


At 10:25 08.02.2006 -0800, you wrote:

>Harold, how compiler agnostic is the code base now?  What percentage would
>you say?  90% or higher?

That depends mainly on the compiler and not that much on the code.
Most ARM development environments are based on GNU C, that should
not create any problems. For the AVR the IAR seems to be the
standard. At least you can find remarks in avr-lib as well as in
the ICCAVR CRT code, that they try to maintain some IAR compatibility.

Assuming that the compiler understands most ANSI C constructs and
has limited support for inline assembly, then the really tricky part
that is left, is runtime initialization. In order to make the code
look like standard, Nut/OS prefers to have main() without all these
OS-Init calls, but with the idle thread already running in the
background. (Well, OK, we have NutRegisterDevice, but that's
another story).

Last not least there is integration into the installation and
configuration as well as documentation and maintenance. Actually
I'd say, that this is the most important part. If it's not done
right, the port will evaporate faster than it took time to
implement. egnite is currently checking for AVR-GCC and GNUARM
on Linux and Windows as well as ICCAVR for Windows and considers
to add ICCARM (obviously out of commercial interests). We check
at least the compilation for four different CPUs and started with
the Atmega2561 as a fifth member now. Plus a number of different
Boards, not just Ethernuts. Luckily Ole Reinhardt, Matthias Ringwald
and others correct the sources we broke for building without the
Configurator. All this is most important to establish a constant
user base for new ports.

Harald


P.S. Regarding your apology for misspelling my name: Harold is OK too.
As long long as you don't call me Kipps like my fomer Singaporean
colleagues. :-)
Nah...even that is OK as long as it is pronounced in that friendly way.




More information about the En-Nut-Discussion mailing list