ARM LPC29XX unter Linux programmieren. (standalone)

Gast #2325655
Lesenswert?

Hallo,

Gibt es hier jemanden, der Erfahrung mit dem LPC29XX von NXP hat und 
unter Linux programmiert?

Ich hab den Chip noch nicht und würde ihn eventuell gerne auf meiner 
Platine einsetzen.

Aktuell habe ich den armel-gcc Compiler installiert und die 
Beispieldateien von NXP modifiziert (Groß-/Kleinschreibung der includes, 
#define NOP asm volatile("nop")).

Das einzige was aktuell nicht geht, ist das __irq makro.

Ich habe versucht es wie unten steht versucht zu definieren
1
#define __irq    void __attribute__ ((interrupt("IRQ")))
2

3
//...
4

5
//Die Funktionen die __irq benötigen:
6

7
void __irq IRQ_Exception( void )
8
{
9
  DWORD regVal, index;
10
  HandlerAddr irqHandler;
11

12
  regVal = INT_VECTOR_1;
13
  index = regVal >> 3;
14
  if ( index == 0 )
15
  {
16
  /* no-interrupt handler for IRQ */
17
  return;
18
  }
19
  irqHandler = IRQ_VectorTable[index].Isr;
20
  (*irqHandler)();
21
  return;
22
}
23

24
/******************************************************************************
25
** Function name:    FIQ_Exception
26
**
27
** Descriptions:    Interrupt Handler
28
** parameters:      None 
29
** Returned value:    None
30
** 
31
******************************************************************************/
32
void __irq FIQ_Exception( void )
33
{
34
  DWORD regVal, index;
35
  HandlerAddr fiqHandler;
36

37
  regVal = INT_VECTOR_0;
38
  index = regVal >> 3;
39
  if ( index == 0 )
40
  {
41
  /* no-interrupt handler for FIQ. */
42
  return;
43
  }
44
  fiqHandler = FIQ_VectorTable[index].Isr;
45
  (*fiqHandler)();
46
}

Funktioniert aber leider nicht.
(error: two or more data types in declaration specifiers)


Zum Test habe ich den hinteren Teil auskommentiert:
1
#define __irq // ...


Bin ich da auf dem richtigen weg? Würde das, sofern ich den Chip hätte, 
funktionieren (mal vom Interrupt abgesehen)?

Die Binary wird nun erzeugt.

(Der Code ist aus: AN10899 complete package 20100113)
http://www.nxp.com/documents/application_note/AN10899_complete_package_20100113.zip

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren