¿Será que está rota la placa?

¿Será que está rota la placa?

de Gabriel Bibbo Frau -
Número de respuestas: 29

Buenas. En mi grupo tenemos dos computadoras (una con Windows 7 y la otra con el 8) en las que instalamos la placa DE0. En ambos casos nos salta el mismo mensaje de error.

Nosotros conectamos la placa DE0, abrimos en el Notepad++ el archivo  lab_input.cdf y entramos en Macro->Grabar sistema en FPGA. Supuestamente, en 5 segundos, debería configurarse la placa, y en la consola debería aparecer un mensaje de éxito en letras verde tras varios mensajes de "Info:....". El caso es que nos aparece una sola línea que dice: ""C:\altera\90\quartus\bin\quartus_pgm" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable." en la máquina que corre Windows 7, y en la otra aparece un mensaje practicamente idéntico: "C:\Program" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable."

¿Alguien tiene idea dónde puede estar el problema?

En respuesta a Gabriel Bibbo Frau

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Gabriel,

El mensaje te dice que Notepad++ no está encontrando el programa "quartus_pgm", que se usa para bajar la configuración del hardware a la placa DE0.
quartus_pgm forma parte del Quartus. Instalaron el Quartus, no?

Saludos,
Leonardo.


En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

La segunda máquina donde se instaló el programa fue en mi laptop y allí solo aparece C:\Program como referencia. Parece ser el mismo problema sin referirse al Quartus.

En cuanto a tu pregunta, si, instalamos el quartus en ambas y el usb blaster también.

En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
OK! Prueben lo siguiente:

1. Verifiquen que el archivo quartus_pgm exista en el directorio de instalación de Quartus.

2. Abran una consola de Windows (Ejecutar -> cmd.exe) y pongan el comando

  cmd /C "c:\altera\90\quartus\bin\quartus_pgm"

y vean si les da ese mismo mensaje de error u otro. (El comando anterior es lo que el Notepad++ está haciendo bajo el capó)

Cuenten como les fue y vemos como seguimos.

Saludos,
Leonardo.
En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
>> La segunda máquina donde se instaló el programa fue en mi laptop y allí solo aparece C:\Program como referencia

En esta segunda máquina el Quartus también se instaló en c:\altera o terminó en algún directorio bajo "c:\program files"?
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

En mi laptop quedó instalada esta ruta C:\altera  , dentro una carpeta así C:\altera\90 que contiene varias mas.

En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
OK, bien.

Mi pregunta venía para saber si en el caso de la segunda máquina quartus había quedado instalado en "C:\Program Files\altera\90\quartus" y la invocación desde notepad++ estaba fallando en el mismo punto que en tu laptop.  (El espacio en la ruta podría estar truncando "c:\program files\altera\90\quartus\bin\quartus_pgm" a "c:\program")
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

Ya nos habían recomendado buscar ese tipo de problemas, pero en este caso quedara instalado directamente en c, por lo que ninguna carpeta está compuesta por dos palabras que pudieran tener espacio. Por eso es que no sabemos que hacer.

En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
OK, prueben ejecutar quartus_pgm manualmente como sugerí en el mensaje anterior https://eva.fing.edu.uy/mod/forum/discuss.php?d=44364#p127691 así obtenemos más información sobre que es lo que está funcionando mal.

En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Gabriel Bibbo Frau -

En la carpeta "C:\altera\90\quartus\bin\" existe un archivo que se llama quartus_pgmw, no existe uno que sea quartus_pgm. Cuando ejecuto el comando cmd /C "c:\altera\90\quartus\bin\quartus_pgm" la consola dice:C:\altera\90\quartus\bin\quartus_pgm" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable."

En respuesta a Gabriel Bibbo Frau

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
OK, acá tenemos diferencias entre la instalación de Federico y la de Gabriel.

Federico,

Claramente tenes quartus_pgm. En vez de ejecutarlo directamente como lo hiciste, probá hacerlo con:

cmd /C c:\altera\90\quartus\bin\quartus_pgm


Gabriel,

quartus_pgm debería existir. Reinstala el Quartus desde el dvd y verifica que quartus_pgm está ahi luego de reinstalar.

En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Julio Perez -

Ojo que creo que a la máquina de Gabriel Bibbo fue necesario instalarle la versión nueva del programador para que funcionara el driver del usbblaster. En esa máquina, además de la versión 9.0 de todo el quartus está instalado el programador para la versión actual de Quartus.

julio

 

En respuesta a Julio Perez

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Ah, bien Julio, buen aporte!

Gabriel, si fue así, cuál versión del programador instalaron? La del Quartus 13.1?

De todos modos, viendo que tienen una instalación que no parece ser la usual, les recomiendo se den una vuelta con la máquina por el IIE y lo vemos.

Voy a estar en el IIE desde las 8:00 en el prácitco, hasta las 17hs. Confirmen por mail si tienen interés en ver eso mañana.

Saludos,
Leonardo.

En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Gabriel Bibbo Frau -

Bueno, ahí estaré nuevamente con la torre bajo el brazo. A las 3pm paso por el IIE, está bien?

En respuesta a Gabriel Bibbo Frau

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Bien, te espero a las 3pm entonces.

Mientras tanto si querés probá instalar el Quartus nuevamente a ver si te aparece el archivo quartus_pgm y probá programar la placa de nuevo. A ver si te salvas de andar acarreando la torre.

Saludos,
Leonardo.
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Juan Andres Pons Vuolo -

Hola, yo tengo el mismo problema que Federico, y probe escribir lo que le aconsejastes ("cmd /C c:\altera\90\quartus\bin\quartus_pgm") pero me aprece este error en la consola de Notepadd++: "Error: Programming hardware cable not detected". Yo sospecho que es el USB-Blaster que no quedó bien instalado me parece, pero no se que hacer. Tengo windows 7 64 bits. Saludos!

En respuesta a Juan Andres Pons Vuolo

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Juan Andrés,

Dado que tenes Windows 7 *64 bits*, probá instalar esta versión del programador que tiene drivers de USB-Blaster más nuevos:

http://download.altera.com/software/acds/12.0sp2/263/standalone/12.0sp2_263_programmer_windows.exe

No cambies nada de lo que tenes instalado actualmente, Quartus, scripts de notepad++, etc.
Solo instala esa version del programador encima de lo que ya tenes.

Luego intenta programar la placa de nuevo.

Contanos como te va,

Saludos,
Leonardo
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

Copio esa línea directamente al cmd o en la ventana de "ejecutar..."? xq lo probé en ambas y en ejecutar el cmd se cierra y en el cmd me da el mismo resultado que lo anterior

En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Federico,

Correcto, la idea era copiar esa línea en el cmd.exe; y es coherente que la salida sea la misma que cuando lo ejecutaste directamente como mostraste en la captura de pantalla anterior.

Con la placa encendida y conectada, probá ahora ejecutar
    "c:\altera\90\quartus\bin\quartus_pgm -l"
en una consola cmd.exe.

Debería listarte el USB-Blaster.

Saludos,
Leonardo.
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -
En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Federico,

Excelente. Así que tu PC está "viendo" el USB-Blaster y por tanto la placa.
Volvé al Notepad++, abrí el .cdf y programa la placa. Luego copia toda la transcripción de la consola del Notepad++ y pegala acá.

Saludos,
Leonardo.
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

"C:\Program" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
================ READY ================

En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Postea toda esta información:

1. contenido del archivo npes_saved.txt que está usando Notepad++
2. ruta completa al archivo .cdf que tenes abierto y con el cual estás intentando programar la placa.

Saludos,
Leonardo
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

npes_saved.txt:

::Init
//**************************************************************************
// Macro para configurar los directorios donde estan las herramientas
// del curso
//**************************************************************************

// Directorios de Herramientas
SET Z80TOOLS_DIR = C:\z80-tools
SET QUARTUS_PATH = C:\altera\90\quartus

SET BINUTILS_DIR = $(Z80TOOLS_DIR)\binutils-z80
SET QEMU_DIR = $(Z80TOOLS_DIR)\qemu-z80
SET GDB_DIR = $(Z80TOOLS_DIR)\gdb-z80
SET JTAG_DIR = $(Z80TOOLS_DIR)\jtagcon
SET SREC_DIR = $(Z80TOOLS_DIR)\srecord
SET SCRIPT_DIR = $(Z80TOOLS_DIR)\scripts

ENV_SET PATH = $(QUARTUS_PATH)\bin\cygwin\bin;$(sys.PATH)

// Limpio la pantalla
CLS

// Oculto la consola
NPP_CONSOLE 0

::Build
//**************************************************************************
// Macro para ensamblar usando las herramientas del curso
//**************************************************************************

// Voy al directorio actual
CD $(CURRENT_DIRECTORY)

// Limpio la pantalla
CLS

// Salvo el archivo actual
NPP_SAVE

// Borro los anteriores
CMD /C del $(NAME_PART) && del $(NAME_PART).o

// Voy al directorio donde estan las herramientas y compilo
$(BINUTILS_DIR)\z80-coff-as -z80 -g -as -gstabs+ -o $(NAME_PART).o $(NAME_PART).s
$(BINUTILS_DIR)\z80-coff-ld --oformat coff-z80 -e 0xB000 -Ttext 0xB000 -o $(NAME_PART) $(NAME_PART).o
$(BINUTILS_DIR)\z80-coff-objdump -j .text -j .data -t $(NAME_PART)

::Qemu+Gdb
//**************************************************************************
// Macro para depurar usando qemu y gdb
//**************************************************************************

// Voy al directorio actual
CD $(CURRENT_DIRECTORY)

// Limpio la pantalla
CLS

//Pregunto por el archivo a cargar
INPUTBOX "Archivo a Cargar:" : $(NAME_PART)

//Arranco el QEMU
NPP_RUN $(QEMU_DIR)\qemu-system-z80.exe -io-output-file out.txt -io-input-file in.txt -monitor file:temp -io-output-log-file output.log -nographic -serial null -S -gdb tcp:127.0.0.1:8010

//Ejecuto el GDB en una ventana nueva
NPP_RUN $(GDB_DIR)\gdb -ex "set prompt (qemu-gdb)" -ex "target extended-remote localhost:8010" -ex "file $(INPUT)" -ex "load"

::Jtagcon+Gdb
//**************************************************************************
// Macro para depurar con el monitor cargado en la placa y gdb
//**************************************************************************

// Voy al directorio actual
CD $(CURRENT_DIRECTORY)

// Limpio la pantalla
CLS

//Pregunto por el archivo a cargar
INPUTBOX "Archivo a Cargar:" : $(NAME_PART)

// Ejecuto JTAGCON
NPP_RUN $(JTAG_DIR)\jtagcon.exe

//Ejecuto el GDB en una ventana nueva
NPP_RUN $(GDB_DIR)\gdb -ex "target extended-remote localhost:8000" -ex "file $(INPUT)" -ex "load"

::Quartus_pgm
//**************************************************************************
// Macro para programar el fpga
//**************************************************************************

// Limpio la pantalla
CLS

// Programo la placa
CMD /C "$(QUARTUS_PATH)\bin\quartus_pgm" -c1 $(FULL_CURRENT_PATH)

::Compilar_ROM
//**************************************************************************
// Macro para compilar un .s para la ROM
//**************************************************************************

// Voy al directorio actual
CD $(CURRENT_DIRECTORY)

// Limpio la pantalla
CLS

// Salvo el archivo actual
NPP_SAVE

CMD /C del $(NAME_PART) && del $(NAME_PART).o && del $(NAME_PART).srec && del $(NAME_PART).hex
$(BINUTILS_DIR)\z80-coff-as -z80 -g -as -gstabs+ -o $(NAME_PART).o $(NAME_PART).s
$(BINUTILS_DIR)\z80-coff-ld --oformat coff-z80 -e 0x0000 -Ttext 0x0000 -Tdata 0xB000 -o $(NAME_PART) $(NAME_PART).o
$(BINUTILS_DIR)\z80-coff-objdump -j .text -j .data -t $(NAME_PART)
$(BINUTILS_DIR)\z80-coff-objcopy.exe -j .text -O srec $(NAME_PART) $(NAME_PART).srec
$(SREC_DIR)\srec_cat $(NAME_PART).srec -data-only -o $(NAME_PART).hex -intel -obs=1 -address-length=2 -enable=footer

::Cargar_ROM
//**************************************************************************
// Macro para cargar un .hex en la ROM
//**************************************************************************

// Voy al directorio actual
CD $(CURRENT_DIRECTORY)

// Limpio la pantalla
CLS

// Salvo el archivo actual
NPP_SAVE

// Cargo el .hex en la ROM
CMD /C "$(QUARTUS_PATH)\bin\quartus_stp" -t $(SCRIPT_DIR)\update_in_system_memory.tcl $(NAME_PART).hex

lab-intup.cdf:

/* Quartus II Version 9.1 Build 350 03/24/2010 Service Pack 2 SJ Full Version */
JedecChain;
FileRevision(JESD32A);
DefaultMfr(6E);

P ActionCode(Cfg)
Device PartName(EP3C16F484) Path("") File("lab-intup.sof") MfrSpec(OpMask(1));

ChainEnd;

AlteraBegin;
ChainType(JTAG);
AlteraEnd;

 

Ruta completa al archivo .cdf: 

C:\Users\usuario\Desktop\Micro\z80-tools\lab-intup-de0

En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Federico,

Bien! Todo parece estar en órden. Aún no logro entender de donde viene esa referencia a C:\Program" ya que no parece haber ninguna en los archivos involucrados.

Hagamos la siguiente prueba, vamos a saltearnos el Notepad++ y así ver si el problema está en la configuración del Notepad++.

Abrí una consola cmd.exe y ejecutá el comando:

  c:\altera\90\quartus\bin\quartus_pgm -c1 "C:\Users\usuario\Desktop\Micro\z80-tools\lab-intup-de0\lab-intup.cdf"

Eso debería programar la placa.

En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -
En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Federico,

Bien! Ahí programaste la placa. Así que el problema está en la configuración del Notepad++ o en su interacción con tu sistema operativo.

Por las dudas, qué versión de Windows tenes?

(Por hoy abandono que en un rato tengo que dar la clase de práctico.)

Saludos,
Leonardo.
En respuesta a Leonardo Etcheverry

Re: ¿Será que está rota la placa?

de Federico Maximiliano Diaz Marcora -

Tengo windows 8.1 Single Lenguage.

Cuando ejecuté en el Notepad el Jtag me apareció esto:

Adjunto aggad.jpg
En respuesta a Federico Maximiliano Diaz Marcora

Re: ¿Será que está rota la placa?

de Leonardo Etcheverry -
Solo para cerrar este tema, Federico pasó por el IIE y solucionamos.

El problema era que la ruta QUARTUS_PATH en npes_saved.txt estaba apuntando a "C:\Program Files\altera\90\quartus" en vez de "C:\altera\90\quartus".