Spartan 3e mit SPI Flash: Booten verhindern

OP #1421496
Lesenswert?
• ▲
▼
Gibt es einen Standard-Weg, das Laden des FPGA aus dem SPI Flash (Master 
SPI Mode) zu verhindern? Hintergrund ist ein Design so zu gestalten, 
dass Boundary Scan Test möglich ist. Das geht aber nur richtig, wenn man 
per Jumper das Booten verhindert. Bisher haben wir den Platform Flash 
eingesetzt, da ging das einfach, indem mal Init_B auf Low zieht. Reicht 
es, wenn ich am Atmel DataFlash das Reset auf Low halte? Dann müsste der 
Spartan ja erfolglos versuchen zu booten, oder? Oder kann ich das Init_B 
auch im Maser Serial Mode benutzen, um per Low von außen das Booten zu 
verhindern?
Gast #1422601
Lesenswert?
• ▲
▼
Warum willst Du das booten verhindern? Auch bei
Master SPI : 001
ist das FPGA ueber JTAG ansprechbar. damit ist doch auch Boundary Scan 
moeglich. Und ueber JPROGRAM solltest Du, wenn alle Stricke reissen, 
auch die vorhandene Konfiguration loeschen koennen, dann den 
gewuenschten Boundary Scan ohne eine Beintraechtingung durch eine 
vorhandene Konfiguration machen koennen,  und ueber Reset und JPROGRAM 
dann den Baustein wieder aus dem SPI Flash konfigurieren. Also etwa wie 
hier

 idata[0] = JPROGRAM;
  jtag.shiftIR(idata);
  idata[0] = CFG_IN;
  do
    jtag.shiftIR(idata, odata);
  while (! (odata[0] & 0x10)); /* wait until configuration cleared */

 <boundary scan>

  /* Release JTAG control over configuration (AR 16829)*/
  io->tapTestLogicReset();
  idata[0] = JPROGRAM;
  jtag.shiftIR(idata);
  /* Now device will reconfigure from standard configuration source */
  idata[0] = BYPASS;
  fprintf(stderr, "Will wait up to 10 seconds for device to 
reconfigure.");
  fflush(stderr);
  do
    {
      jtag.Usleep(1000);
      jtag.shiftIR(idata, odata);
      if(i%250 == 249)
        {
          fprintf(stderr, ".");
          fflush(stderr);
        }
      i++;
    }
  while ((( odata[0] & 0x23) != 0x21) && (i <10000));
OP #1422656
Lesenswert?
• ▲
▼
Ich hab aber beim Boundary Scan keinen manuellen Einfluss auf den TAP 
Controller. Das macht ja alles das Cascon System von Göpel Electronic. 
Ich hab aber im Config User Guide jetzt gefunden, dass man das Prog_B 
auf Low lassen soll, wenn man nach dem Clear anhalten will. Das sollte 
ja genau das sein, was wir brauchen.

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