PetitFS von ELM-Chan Was ist mit forward gemeint?

OP #2616562
Lesenswert?
• ▲
▼
Hallo zusammen...

Ich versuche mich derzeit gerade an dem PetitFS von ELM-Chan

Doch etwas kleines irritiert mich noch...

Ich habe hier den Generic Code angepass damit es auf meine Hardware 
passt.
Bei der Funktion diskReadp gibt es folgenden Abschnitt:
1
    /* Receive a part of the sector */
2
      if (buff) {  /* Store data to the memory */
3
        do
4
          *buff++ = rcvr_mmc();
5
        while (--cnt);
6
      } else {  /* Forward data to the outgoing stream */
7
        do {
8
          d = rcvr_mmc();
9
        ---->>>  FORWARD(d);
10
        } while (--cnt);
11
      }
12

13
      /* Skip trailing bytes and CRC */
14
      skip_mmc(bc);
15

16
      res = RES_OK;

Wie muss ich den hier die Funktion FORWARD implementieren?
Was hat diese zu tun?


ByTheWay.... Wenn ich alles deaktiviere bis auf Read
1
#define  _USE_READ  1  /* 1:Enable pf_read() */
2

3
#define  _USE_DIR  0  /* 1:Enable pf_opendir() and pf_readdir() */
4

5
#define  _USE_LSEEK  0  /* 1:Enable pf_lseek() */
6

7
#define  _USE_WRITE  0  /* 1:Enable pf_write() */
8

9
#define _FS_FAT12  1  /* 1:Enable FAT12 support */
10
#define _FS_FAT32  0  /* 1:Enable FAT32 support */

Dann erzeugt es mir immernoch 4.5Kb Code
Auf der Webseite steht jedoch, 2-4kb
Was mache ich also falsch?
Wie kann ich das PetitFS mit 2Kb compilieren?

Ich habe einen Atmega48

Grüsse und danke schonmal
Gast #2616685
Lesenswert?
• ▲
▼
ich würde auf ein Makro tippen da alles groß geschrieben ist. Setzt 
wahrscheinlich den Lese/Schreib-Pointer auf d. Hast du vielleicht 
vergessen einen Header zu laden?

habe mal FatFS auf den ARM laufen lassen und kann mich nicht erinnern so 
"tief" im Quellcode irgend was anpassen zu müssen. Hat sich nur auf paar 
SPI Funktionen beschränkt und was da welche Funktion machen sollte stand 
in einer Datei beschrieben.
Gast #2616884
Lesenswert?
• ▲
▼
>Was mache ich also falsch?

Der Controller ist zu klein;)

>Wie kann ich das PetitFS mit 2Kb compilieren?
>Ich habe einen Atmega48

Dann nimm einen Atmega168 oder noch besser Atmega328.
Dann bleibt neben dem PetitFS vieleicht auch noch
Flash und RAM für ein Programm über.
Moderator Persönliche Seite #2617871
Lesenswert?
• ▲
▼
"Forward" wird nur gebraucht, wenn man den RAM-Speicherplatz für den 
Puffer zur Zwischenspeicherung der gelesenen Daten einsparen will oder 
muss. Welche Frage lässt der Test "If a NULL is given to the Buffer, the 
read bytes will be forwarded to the outgoing stream instead of the 
memory. The streaming function will be typically built-in the low level 
disk read function." aus der Anleitung von ChaN offen?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.