Raspberry Pi - SPI Kernel Module - SD Karte voll

OP #3264837
Lesenswert?
• ▲
▼
Hi alle zusammen,
folgende Funktion wird bei mir zu SPI Übertragen in meinem 
SPI_Treiber-Modul zyklisch aufgerufen. Das Problem ist dass sich die 
SD-Karte von meinem Raspberry Pi dadurch füllt, heißt nach längerer 
Laufzeit des Moduls ist sie voll, nach einer Stunde sind etwa 3 GB 
gefüllt! Hat jemand eine Idee woran das liegen könnte?
1
USIGN32 TPS1_SendReceiveData(u8* transmit, unsigned short length, u8* receive)
2
{
3
  
4
  int ret = 0;
5
  int i;
6

7
  for(i = 0; i < length; i++){
8

9
    struct spi_transfer t = {
10
                .tx_buf = transmit +i,
11
                .rx_buf = receive  +i,
12
                .len = 1,
13
     .speed_hz = MAX_SPI_CLOCK,
14
        };
15

16
    struct spi_message msg;
17
           spi_message_init(&msg);
18
           spi_message_add_tail(&t, &msg);
19

20
    gpio_set_value(HOST_SFRN, 1);
21
    gpio_set_value(HOST_SFRN, 0);
22

23
           ret = spi_sync(tps->spi, &msg);
24

25
    if(i == 0 && (*(transmit) & 0x80) != 0 )
26
      gpio_set_value(HOST_SFRN, 1);
27

28
           if (ret){
29
                   printk( "SPI transmission failed: ret = %d\n", ret);
30
      break;
31
    }
32
  }
33

34
  return TPS_ACTION_OK;
35
}
OP #3265770
Lesenswert?
• ▲
▼
jo Danke.

Das Problem sind die Dateien: debug, kernlog und syslog in var/log.
Die Dateien enthalten sind alle (im Moment noch) 1.5 GB groß und 
enthalten bestimmt 30 Billionen mal die Zeile:
x00000002
Aug  2 09:59:51 raspberrypi kernel: [  127.526158] spi_example spi0.2: 
setup: want 1000000 Hz; bus_hz=250000000 / cdiv=256 == 976562 Hz; mode 
0: cs 0x00000002
Wie kann ich die Ausgabe abstellen? In der Kernelconfig vll SPI Debug 
deaktivieren, oder gehts auch ohne neu-Kompilierung?
OP #3268799
Lesenswert?
• ▲
▼
philenotfound schrieb:
>Ist nur ein Verdacht: kann es sein, dass du sehr oft spi_setup() aufrufst?

Es wird zyklisch nur die Methode aufgerufen die ich gepostet habe, und 
am Anmelden des Moduls kann es nicht liegen da sich die log-dateien 
während der Laufzeit füllen und nicht beim vielen ein/ausladen des 
Moduls.
OP #3277011
Lesenswert?
• ▲
▼
Jonas Biensack schrieb:

>Vielleicht ist die Abweichung zwischen Soll und Ist-Freuquenz zu groß
>und das meckert er an (976562/100000)?

Jep daran lag es. Ich habe die Frequenz nur im spi_message struct 
eingestellt. Richtiger ist es, die Frequenz über 
spi_device->max_speed_hz einzustellen(in der probe-Funktion). 25 MHz war 
wohl ein Standartwert.

Danke

Gruß Markus

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