Forum: Mikrocontroller und Digitale Elektronik MSP430-FR2355 SD-Karten Fat16/32 Implementierung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Lucas W. (lucas_wolf)


Lesenswert?

Hallo zusammen,

ich möchte für ein Projekt mit einem MSP430-FR2355 Daten auf einer 
SD-Karte speichern und an einem PC auslesen können. Ich weiß, dass ich 
hierzu ein Fat-Dateisystem brauche und es Filesystem-Module wie FatFS 
oder Petit Fat gibt die mir Arbeit abnehmen. Außerdem gibt es von TI für 
den F5529 ein Beipiel (M2_SDCardReader) der FatFS beinhaltet.

Ich habe zwar schon UART und SPI Schnittstellen mit dem MSP430 
konfiguriert weiß aber nicht wie ich es schaffe die SD-Karte in mein 
System zu integrieren.

Mein C Kenntnisse sind eher so mittelmäßig und ich bin wegen der 
SD-Karte momentan überfordert und verzweifelt.
Wäre echt schön, wenn mir jemand das Vorgehen kurz schildern könnte oder 
sogar mit Beispielen erklären könnte.

von Falk B. (falk)


Lesenswert?

Lucas W. schrieb:
> Hallo zusammen,
>
> ich möchte für ein Projekt mit einem MSP430-FR2355 Daten auf einer
> SD-Karte speichern und an einem PC auslesen können. Ich weiß, dass ich
> hierzu ein Fat-Dateisystem brauche und es Filesystem-Module wie FatFS
> oder Petit Fat gibt die mir Arbeit abnehmen. Außerdem gibt es von TI für
> den F5529 ein Beipiel (M2_SDCardReader) der FatFS beinhaltet.

Na wenn DAS kein gute Ausgangspunkt ist, weiß ich auch nicht.

> Ich habe zwar schon UART und SPI Schnittstellen mit dem MSP430
> konfiguriert weiß aber nicht wie ich es schaffe die SD-Karte in mein
> System zu integrieren.

Indem man das Beispielprojekt mit so wenig Änderungen wie möglich zum 
Laufen bekommt. Ich vermute mal, daß der F5529 deinem FR2355 sehr 
ähnlich ist und damit die Umstellung einfach sein sollte. Wenn nicht, 
kann man auch erstmal das Projekt ohne jegliche Änderung auf der 
Originalhardware laufen lassen, um ein Gefühl für das Projekt zu 
bekommen und ein erstes Erfolgserlebnis zu haben. Dann kann man in 
kleinen Schritten die Änderung vornehmen.

> Mein C Kenntnisse sind eher so mittelmäßig und ich bin wegen der
> SD-Karte momentan überfordert und verzweifelt.

Scheint so.

> Wäre echt schön, wenn mir jemand das Vorgehen kurz schildern könnte oder
> sogar mit Beispielen erklären könnte.

Schrittweise. Und zwar in mögklichst kleinen, überschaubaren Schritten. 
Siehe oben. Wenn das Projekt auf der Originalhardware läuft, kann man 
auch erstmal dort ein paar Gehversuche machen. Dateien öffnen und 
schreiben, Debugausgaben per UART etc.

von Lucas W. (lucas_wolf)


Lesenswert?

Danke für die Rückmeldung,

das Problem ist Beispiel Projekt auf meinem µC zum laufen zu bekommen.
Zwar steh in der main des Beispiels:
1
/*
2
 * NOTE: Modify hal.h to select a specific evaluation board and customize for
3
 * your own board.
4
 */
5
#include "hal.h"

Und dann in diesem Header:
1
/*
2
 * ======== hal.h ========
3
 *
4
 * Device and board specific pins need to be configured here
5
 *
6
 */
7
8
/*----------------------------------------------------------------------------
9
 * The following function names are deprecated.  These were updated to new 
10
 * names to follow OneMCU naming convention.
11
 +---------------------------------------------------------------------------*/
12
13
#ifndef DEPRECATED
14
#define   initPorts       USBHAL_initPorts
15
#define   initClocks      USBHAL_initClocks
16
#endif
17
18
#define _MSC_HARDWARE_
19
 
20
void USBHAL_initPorts(void);
21
void USBHAL_initClocks(uint32_t mclkFreq);
22
//Released_Version_5_20_06_02

Jedoch kann ich damit wenig anfangen.
Die PINS für SPI und deren Konfiguration ist mir bekannt jedoch weiß ich 
nicht wo ich diese dort angeben muss und auch nicht wie ich die Funktion 
teste.

von Falk B. (falk)


Lesenswert?

Lad mal das gesamte Projekt als ZIP-Archiv hier hoch, dann kann man was 
machen.

von Lucas W. (lucas_wolf)


Angehängte Dateien:

Lesenswert?

hier bitte

von Falk B. (falk)


Lesenswert?

Warum doppelt? Egal.

von wv (Gast)


Lesenswert?

Hallo Lucas,
hast Du schonmal versucht, bei dem Beispielprojekt in den 
Projekteinstellungen einfach das Device auf MSP430-FR2355 zu ändern, und 
dann see wat happens....
Gruß wv

von Falk B. (falk)


Lesenswert?

Du hast dein Projekt doppelt verschachtelt, der Ordner M2_SDCardReader 
ist nochmal vollständig in sich selbst enthalten. Das ist schlecht, denn 
es stiftet Verwirrung. Also aufräumen.

Das Beispielprojekt ist schon recht komplex, denn es benutzt einen 
Zufgiff über USB auf die SD-Karte. Du willst ja nur ein einfaches 
Programm ohne USB, welches Daten auf die SD-Karte schreibt. Also muss 
man das Programm sachte abspecken. Mit welcher IDE arbeitst du? Mein 
Code Composer Studio 6 mag das Projekt nicht. Die Pins sind in 
HAL_SDCard.c definiert, eigentlich gehört sowas in eine Headerdatei (.h)
1
#/* 
2
 * ======== HAL_SDCard.c ========
3
 */
4
5
/***************************************************************************//**
6
 * @file       HAL_SDCard.c
7
 * @addtogroup HAL_SDCard
8
 * @{
9
 ******************************************************************************/
10
#include "msp430.h"
11
#include "HAL_SDCard.h"
12
13
//Pins from MSP430 connected to the SD Card
14
#define SPI_SIMO        BIT1
15
#define SPI_SOMI        BIT2
16
#define SPI_CLK         BIT3
17
#define SD_CS           BIT7
18
19
//Ports
20
#define SPI_SEL         P4SEL
21
#define SPI_DIR         P4DIR
22
#define SD_CS_SEL       P3SEL
23
#define SD_CS_OUT       P3OUT
24
#define SD_CS_DIR       P3DIR
25
26
//KLQ
27
#define SPI_REN         P4REN
28
#define SPI_OUT         P4OUT
29
//KLQ

von Lucas W. (lucas_wolf)


Lesenswert?

Falk B. schrieb:
> Du hast dein Projekt doppelt verschachtelt, der Ordner M2_SDCardReader
> ist nochmal vollständig in sich selbst enthalten. Das ist schlecht, denn
> es stiftet Verwirrung. Also aufräumen.

Ja ist durch das Exportieren entstanden.

>
> Das Beispielprojekt ist schon recht komplex, denn es benutzt einen
> Zufgiff über USB auf die SD-Karte. Du willst ja nur ein einfaches
> Programm ohne USB, welches Daten auf die SD-Karte schreibt. Also muss
> man das Programm sachte abspecken. Mit welcher IDE arbeitst du? Mein
> Code Composer Studio 6 mag das Projekt nicht. Die Pins sind in
> HAL_SDCard.c definiert, eigentlich gehört sowas in eine Headerdatei (.h)

Nutze CCS 10. Ja die Komplexität ist mein Problem finde mich im Projekt 
nicht zurecht,habe jedoch keinen besseren Startpunkt gefunden.
Auf HAL_SDCard.c bin ich auch gerade gestoßen, nachdem ich wie wv 
gemeint hat das Projekt auf den FR2355 umgestellt habe und die Errors 
durchgegangen bin.
Werde jetzt erstmal alles Konfigurieren und versuchen das Beispiel zum 
Laufen zu bringen.

Danke schonmal

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]
  • [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.

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