www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EFSL für ARM7 Crossworks gesucht


Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nach einigen Stunden habe ich das efsl Projekt für SD Karten verwaltung 
soweit, dass ich es mit GCC und Crossworks 1.7 fehlerfrei compilieren 
kann.
was leider nicht hinhaut ist das Linken der Module.

Beim Linken auf "Flash debug" erscheint eine Fehlermeldung, die mir sehr 
tief im System versteckt scheint und die ich nicht beheben kann, weil 
ich nicht weiss wo ich suchen muss. Ich habe die <crossstudio_io.h> 
nicht eingebunden und benutze auch nirgendwo eine debug Funktion, nur 
eine leere Hauptschleife in der main.

Bei "Flash release" geht alles glatt durch. Auch in der "Flash debug", 
sobald man den Compilerschalter "Debug info erzeugen" abschaltet. Aber 
das ist ja eben erstmal nicht Sinn der sache.

Hat jemand eine Idee? Oder kann mir ein fix und fertiges, 
compilierbares, lauffähiges Crosssworks Projekt mit der efsl SD Card 
verwaltung für LPC2xxxx schicken, wo dieser Fehler nicht auftritt, so 
dass ich meine Anwendung darauf aufsetzen kann?
Build active project
Building “FAT” in configuration “ARM Flash Debug”
Compiling main.c
Compiling fs.c
Compiling ioman.c
Compiling mkfs.c
Compiling plibc.c
Compiling time.c
Compiling uart.c
Compiling ui.c
Compiling dir.c
Compiling disc.c
Compiling efs.c
Compiling ls.c
Compiling partition.c
Compiling debug.c
Compiling extract.c
Compiling fat.c
Compiling file.c
Compiling lpc2000_spi.c
Compiling sd.c
Assembling crt0.s
Assembling Philips_LPC210X_Startup.s
Linking FAT.elf
C:/Programme/Rowley Associates Limited/CrossWorks for ARM 1.7/lib/libarmdi_v4t_a_le_mt.a(__debug_operations.o): In function `__do_debug_operation':
__debug_operations.c:(.text+0x18): undefined reference to `__debug_io_lock'
__debug_operations.c:(.text+0x38): undefined reference to `__debug_io_unlock'
Build failed

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Nachsatz:

Das problem liegt darin, dass folgende Konstrukte im efsl Text den 
Fehler auslösen:

DBG((TXT("Read 512 bytes from dir with offset %li.\n"),offset));

in der debug.h Datei habe ich folgendes eingetragen:
#ifdef HW_ENDPOINT_LPC2000_SD
    #include "lpc2000_dbg_printf.h"
    #define TXT(x) x; 
    #define DBG(x) debug_printf(x)
    #define FUNC_IN(x) ; 
    #define FUNC_OUT(x) ; 
    //#define debug debug_printf 
  
  #else

Vom Compiler her ist das richtig aber eben nicht für den Linker.

Eleminiere ich alle ´DGB Statements läuft er einwandfrei durch.

Da ich sonst das debug_printf problemlos verwenden kann frage ich mich, 
wann da denn wieder los ist? Denn so ganz ohne Debugfenster wollte ich 
ja nicht arbeiten.

Mannomann.....

Gruss,
Christian

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal den Rowley-Support diesbezüglich kontaktiert?

Oder in der LPC2000-Group auf Yahoo nachgefragt? Dort ist auch Paul 
Curtis, ein Mitarbeiter von Rowley, aktiv und hilfsbereit.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es funktioniert ja sonst in einfach Programmen. Aber dieses efsl ist 
schon ein Mordskonstrukt......

Autor: bakman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch wenn es den Hilfsbedrüftigen nicht mehr interessieren wird:
Hierbei sollte man das DEBUG-Define (config.h) rausnehmen. Alternativ 
kann mann natürlich das ganze Debug-Zeug ebenfalls portieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.