[En-Nut-Discussion] Question about ARM register definitions

Ralph Mason ralph.mason at telogis.com
Tue Sep 12 00:23:11 CEST 2006

Hi Uwe,

See http://www.ethernut.de/en/community/developers.html under the '
Supported Targets' topic.


-----Original Message-----
From: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] On Behalf Of Uwe Bonnes
Sent: Tuesday, September 12, 2006 9:39 AM
To: en-nut-discussion at egnite.de
Subject: [En-Nut-Discussion] Question about ARM register definitions


while Ethernut defines arm registers like
#define PIO_PER     (PIO_BASE + 0x00)

the Atmel examples, FreeRtos and others project use something like:
typedef volatile unsigned int AT91_REG;// Hardware register definition
typedef struct _AT91S_PIO {
        AT91_REG         PIO_PER;       // PIO Enable Register

The ethernut way to define require us to use inr() and outr(), while the
other way allows to use AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA16;

For the AVR, Ethernut uses the latter way of defining. Is the Ethernut Arm
way some intermediate way or intended to stay?

Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de

More information about the En-Nut-Discussion mailing list