[En-Nut-Discussion] Having some trouble to compile Ethernut
Dominik Schröder
dominik.schroeder at bh-informativ.de
Tue Mar 16 10:52:49 CET 2010
Thanks for your answer!
I have found my problem. Some months ago I added two Flags in
\nut\Makevars.gcc:
-O0 -pedantic -std=gnu99
I think -pedantic was the Problem...
Is there any chance to use -pedantic and compile Ethernut!?
I will change the code in your ways and try again to compile...
Best regards
Dominik Schröder
-----Ursprüngliche Nachricht-----
Von: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] Im Auftrag von Ole Reinhardt
Gesendet: Dienstag, 16. März 2010 10:40
An: Ethernut User Chat (English)
Betreff: Re: [En-Nut-Discussion] Having some trouble to compile Ethernut
Hello!
> When I try to compile Ethernut, I get following Error messages:
> ../../nut/arch/arm/dev/at91_emac.c:461:1: error: embedding a directive
> within macro arguments is not portable
>
> ../../nut/arch/arm/dev/at91_emac.c:464:1: error: embedding a directive
> within macro arguments is not portable
Which compiler do you use? Does not look like gcc?
Your compiler does not preprocessor statements included in a directive.
outr(EMAC_PIO_PUDR,
#if !defined(PHY_MODE_RMII)
/* Additionally disable RMII, if not configured. */
_BV(PHY_COL_RMII_BIT) |
#endif
_BV(PHY_RXDV_TESTMODE_BIT) |
_BV(PHY_RXD0_AD0_BIT) | _BV(PHY_RXD1_AD1_BIT) |
_BV(PHY_RXD2_AD2_BIT) | _BV(PHY_RXD3_AD3_BIT) |
_BV(PHY_CRS_AD4_BIT));
Your problem will be fixed, if you remove the #if !defined(...)
statements from within the outr statement and replace it like this:
#if !defined(PHY_MODE_RMII)
/* Additionally disable RMII, if not configured. */
#define PHY_MODE_RMII_SETTINGS _BV(PHY_COL_RMII_BIT)
#else
#define PHY_MODE_RMII_SETTINGS 0
endif
outr(EMAC_PIO_PUDR,
PHY_MODE_RMII_SETTINGS |
_BV(PHY_RXDV_TESTMODE_BIT) |
_BV(PHY_RXD0_AD0_BIT) | _BV(PHY_RXD1_AD1_BIT) |
_BV(PHY_RXD2_AD2_BIT) | _BV(PHY_RXD3_AD3_BIT) |
_BV(PHY_CRS_AD4_BIT));
Anyone else has these problems?
Shall I fix it in the trunk?
Regards,
Ole
--
Thermotemp GmbH, Embedded-IT
Embedded Hard-/ Software and Open Source Development,
Integration and Consulting
Geschäftsstelle Siegen - Steinstraße 67 - D-57072 Siegen -
tel +49 (0)271 5513597, +49 (0)271-73681 - fax +49 (0)271 736 97
Hauptsitz - Hademarscher Weg 7 - 13503 Berlin
Tel +49 (0)30 4315205 - Fax +49 (0)30 43665002
Geschäftsführer: Jörg Friedrichs, Ole Reinhardt
Handelsregister Berlin Charlottenburg HRB 45978 UstID DE 156329280
_______________________________________________
http://lists.egnite.de/mailman/listinfo/en-nut-discussion
More information about the En-Nut-Discussion
mailing list