TODOPIC
Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: Lager. en 23 de Diciembre de 2004, 23:24:00
-
Hola ,e visto a muchos panas que quieren simular el codigo del compilador , se que muchos ya saben esto, pero va dirijido a los que aun no lo saben. Una forma FACIL y RAPIDA es usando el Proteus(las versiones mas recientes) y asi pueden ver simulado su codigo PASO A PASO por cada linea.
Sea el compilador que sea que usen, lo unico que tienen que hacer es CREAR su proyecto a simular de ISIS con su extension DSN(de proteus) en lugar de cargar el archivo HEX en el pic ,cargen DIRECTAMENTE el archivo BAS(proton,pbpro,etc) o el archivpo COF (en ccs, verificar en c18,hi-tech,etc) ,{Gracias por la verificacion y correcion de que ande tambien para c pana nocturno66
}

y eso es todo, ahora cada ves que opriman RUN y acontinuacion PAUSA aparecera el PIC CPU Source Code con el cual abriran su archivo BAS y cargara TODO su codigo, con los iconos que aparecen en la barra de al lado de esa misma ventana se desplazan paso a paso . Para evitar rutas largas y demas a la hora de seleccionar el archivo(en el PIC CPU Source code) , PONGAN TODOS LOS ARCHIVOS JUNTOS, es decir, el archivo BAS o COF(segun compilador), EL HEX, etc.. y por supuesto el DSN asi sera facil seleccionarlo a la hora de la simulacion(si pueden en una carpeta para no revolver con otros proyectos).
Algo mas y muy importante ,entrando al Menu de ISIS, DEBUG, con la simulacion paso a paso corriendo (en pausa ) pueden ademas seleccionar el PIC CPU Registers ,PIC CPU variables y obviamente el PIC CPU source code(por defaul) para ver que sucede en cada comando.. y otros ventanas mas(eeprom,memory,stack) . En la misma ventana PIC CPU Source Code, al seleccionar el click derecho del mouse pueden habilitar ver la linea , el opcode y lo mejor el DESENSAMBLADO del codigo. Para que no tengan que oprimir Run y despues pausa cada ves que inicien la simulacion pao a paso, usen el boton al lado de RUN que es evidentemente la simulacion paso a paso y asi inicia directamente desde la primer linea. esto funciona para ASM,BASIC,C, etc.. siempre que este el archivo HEX(compilado) del mismo.
Ya no hay pretexto para no saber el tiempo que demora cada rutina o comando 


NOTA IMPORTANTE PARA USUARIOS DE PBPRO: Este compilador no es soportado para ser debugeado en proteus, pero hay una forma de debugearlo en modalidad ASM, que acontinuacion detallo:
Primero hay que modificar la configuracion del Microcode Studio, se va a el menu View,se elije options, se elige assambler y acontinuacion la casilla de MPASM , despues la casilla de Listing File, con INHX8M seleccionado.
Despues de haber configurado el microcode, COMPILAR su archivo o sus archivos comunmente. A continuacion Abrir el diseño previamente hecho en ISIS e ir al menu
SOURCE y seleccionar Add/Remove Source Files, Dar click en NEW y seleccionar el
archivo ASM que se haya generado de la compilacion previa de nuestro codigo,.por
ultimo seleccionar en Code Generation Tool, MPASM , dar OK . dar BUILD ALL del menu source de la barra de herramientas, esperar a que compile todo completamente, y DEBUGEARLO como se indico anteriormente(play pausa,etc..)
El codigo ASM aparecera completamente.
Lista de compiladores aceptados por Proteus:
°Proton Development Suite
°Microchip MPLAB 6
°IAR Embedded Workbench
°Keil uVision 2
°Bytecraft MPC
°CCS Inc "C"
°HiTech PICC
°GNU "C" for AVR
°Imagecraft ICCAVR
°Codevision AVR
LINK: http://www.labcenter.co.uk/index.html?/products/compilers.htm
Un abrazo panas
-
Lager, no tenía ni idea que Proteus pudiera simular en modo paso a paso y debuggear los programas, pero me parece alucinante.
De todas formas, he intentado hacerlo con programas en C y no furula.
Supongo que tendré que configurar Proteus para que reconozca los programas en C, los compile y los simule, pero no sé cómo hacerlo.
He visto una opción que es Define Code Generation Tools, pero no sé parametrizarla para CCS. ¿Alguien sabe configurarlo?
-
Contesto yo mismo. Ya decía una amiga mía que no me gana nadie con el Google, así que he buscado hasta encontrar la solución.
No hace falta definir nada en la opción que mencionaba. Sólo hay que cargar el micro con el fichero COF que genera el compilador y ya está, simulando paso a paso.
Gran descubrimiento.
Muchas gracias Lager.
-
Pana Nocturno, antes que nada te pido una disculpa, solo lo habia probado para asm y basic, y cometi el error de suponer que para c seria igual(grave error), voy a corregirlo en el primer post .
Me alegra que ya lo hayas hecho andar pana, y sí! para darte una idea mas precisa de que hace cada comando es de gran utilidad. De hecho lo postee por que el pana RALF2 no podia usar el que venia con el microcode studio y pbpro y me di cuenta que algunos panas del foro aun no sabian esta otra ventaja de proteus, me alegra poder aydudarles y motivarlos a sacarle provecho a todas las herramientas que hay actualmente y por favor no me des las gracias que he aprendido mas de todos ustedes panas de lo que se imaginan, y descubrimiento???,jajajajaja ya quisiera
,
Un abrazo pana y Feliz navidad a todos!!!!!!!
-
Muy buenas a todos,
Para empezar pido disculpas por anticipado, ya q seguramente mi pregunta sera de lo mas tonta e ingenua, asi que vamos a ella:
Puedo hacer funcionar un PIC o un microcontrolador como el 80c515 (creo que es este), escribiendo directamente codigo sobre el?
No se si me explicado, yo utilizo el Keil uVision para programar el 80c515 y no me acaba de gustar y estaba pensando en que podria utilizar y cambiar de microcontrolador y pasarme al PIc 16XXXX.
Y mirando este foro me he liado con el tema, asi que mi pregunta es esa.
¿Se puede o no se puede escribir codigo directamente?
Muchisimas gracias y perdonar mi falta de respeto o lo que sea que os haya hecho molestar.
Mil perdones
-
Que onda Vitervi,
Segun su pagina SI! se puede hacer funcionar con tu compilador
http://www.labcenter.co.uk/index.html?/products/compilers.htm
lo que acepta es lo siguiente:
1)8051
2)High-Level Stepping1
3) Variables Display2
De hecho el compialdor mejor soportado es el: IAR Embedded Workbench (reviza el link que dejo)
Ahora seria cuestionde que trataese de correr tu codigo (previamente compilado) y ver si corre con el archivo,elhex,etc.. ya ves que en ccs se corre con el COF, y en PROTON si corre con el BAS. solo es cuestion de que exoerimentes y al final nos cuentes, para que el que tenga el mismo compilador sepa como hacerlo.
Salu2 pana
-
Buenas,
Creo que me explique mal ayer, pero antes muchaas gracias por lo que me has dejado me lo mirare ya que puede servir.
Intentare explicarme.
Con el uVision escribimos el codigo en el mismo programa, luego lo compilamos, arreglamos los errores y por fin simulamos.
El problema esta que no se ve como actua el micro, solo vemos el resultado y como mucho el paso a paso, y las salidas.
Ahora mi pregunta es: (intentare explicarme)
¿Puedo escribir codigo en el proteus, luego compilarlo, y luego ver el resultado?
Gracias y espero poder explicarme correctamente.
Muchas gracias
-
Vamos por partes:
Para compilar tienes que dar de alta el compilador.
En la pagina de Luis Frino:http://www.frino.com.ar/proteus.htm
,encontrras como se hace para pbpro, lo de editarlo en linea no lo se, pero puedes probar dando de alta el editor que usas(como en pbpro el micocode).
Salu2
-
No sé si será esto a lo que se refiere:
En PROTEUS tienes un sin fin de componentes y aparatos visualizadores para comprobar el correcto funcionamiento del circuito con el PIC (o otro micro) como si de un montaje real se tratara. Incluso puedes meter varios PICs en la misma pantalla asociandoles a cada uno su correspondiente .hex
Un saludo
-
Muy buenas a todos,
Si pero no es eso. Yo me refiero que si puedo escribir los comandos en el Proteus directamente, luego compilarlos, y por fin ver como me da error .
Es escribir a mano, como se hace en el Mplab (o algo asi)
Gracias y ya me direis
Buen año a todos
-
Muy buena explicación Lager, exelente información, yo tampoco sabía que se pudiera depurar y simular.
Felicitaciones y gracias por la info.
Saludos y Feliz Año Nuevo
-
Vale, a ver si es esto:
Para escribir un programa necesitas un editor de textos. Le dás la ruta del Editor al PROTEUS, yo uso el Ultraedit (el que lleva por defecto es bastante pobre).
Desde PROTEUS abres el archivo que quieres compilar, se te abrirá el Editor seleccionado. Yo desde el Editor compilo, corrijo los errores y una vez que el compilador no te dá error en ninguna línea, automáticamente se generan varios ficheros, entre ellos el .hex.
Minimizas el Editor y te sale la pantalla de PROTEUS con tu circuito, le pasas el .hex al PIC y ya está.
Yo compilo desde el Ultraedit, también se puede compilar desde PROTEUS directamente.
Un saludo
-
Gracias c3poa,
pero la informacion ya la habia dado a conocer el pana Luis Frino, en su pagina, solo adapte un poco mas de info para proton,basic(este no soportado con comandos directos en basic, solo en asm"mejor no?
" y ccs;aqui pongo su pagina ya que tiene cosas e informacion muy selectivas http://frino.com.ar/
Como le explique al pana vitervi, yo no e probado lo de la edicion directa,(solo compilacion con build all), la verdad seria cosa de probarlo, el editor por defaul como dice el pana pocher es pesimo, jeje, y de la forma en que indica Luis Frino en su pagina para agregar el editor trabaja ,mas no la e probado , lo que es un hecho es que (solo es una hipotesis) que si llegase a funcionar tendria FORZOZAMENTE que detener el programa ,hacerse el cambio y al correrlo(habiendo elegido autocompilar del source/define code generation tool/ aLWAYS BUILD, entonces volver a usar el depurador paso a paso.. y asi sucesivamente.
Yo nada mas uso el paso a paso para ver como trabaja, tiempos(desensamblado) y depuracion de codigo.
Si ustedes lo hacen andar(lo de edicion en linea) por favor no duden en postearlo ya que yo tambien desconosco su funcionamiento.
Un abrazo panas
-
Yo utilizo el compilador de C de Hi-tech y aunque cargo el archivo COF en el pic, cuando utilizo la simulación no me aparece en "PIC CPU Source Code" el código fuente para poder simular paso paso.
¿Alguien sabe que hago incorrectamente? ¿O existe otra forma para el Hi-Tech?
Saludos, Ank.
-
Que onda ANk,
Si estas cargando el COF(common objet file) generado y oprimes el boton de correr paso a paso:

"Es el que esta entre Pausa y Play"
Si no te aparece AUTOMATICAMENTE , en ese estado y sin poner pausa o stop (corriendo tu codigo paso a paso) entra a el menu Debug de la barra de Herramientas de ISIS, y hasta abajo te tiene que aparecer PIC CPU source code y otras opciones, elijelas si no estan seleccionadas...
Pero de que funciona, funciona pana,yo asi lo uso. si compilas generando el COD(bytcraft) tienes tambien la emulacion pero solo en asm con encabezados en c ansi,logicamente que para cargar el COD tienes que nombrarlo, ya que el explorador de ISIS no ve este archivo, solo los hex,bas,cof.
Salu2
-
Buenas Lager,
Estoy haciendo exactamente lo que dices todo el tiempo, o sea:
1º. Abro documento en blanco y creo mi esquema.
2º. Cargo el archivo COF en el Pic.
3º. Dio al boton de simular comenzando en pausa. No soy tan cazurro, sé donde está ...
4º. Me voy al menu Debug y a la opción "PIC CPU Source Code".
5º. Me aparece la ventana pero con el mensaje de que no tengo código fuente.
Más claro agua ...
Por otro lado, si intento cargar el archivo COD en el pic, la simulación me dice que nanay del paraguay y peta directamente.
Por cierto, estoy utilizando la version 6.5 SP5 del Proteus (no sea que al final sea por culpa de la versión del programa).
Saludos, Ank.
-
Que onda Ank,
Mira si cargas directamente el COD(en asm), , corre, eso ya lo probe, y si cargas el COF tambien corre pero ahora si en c, ambos probados con chips 18FXXX,
Tengo la misma version que tu, lo unico que se me ocurre es que no tengas todos los archivos(de simulacion,y de compilacion) en la misma carpeta.
Otra cosa:
"Support for these tools is provided through a loader for the COFF format which has also been adopted by Microchip as the standard for MP LAB 6.
Please note that you must have the PICC compiler version 8.01 PL 3 or later with the additional patches for COFF support. You should then compile your code with the -MPLAB option"
LINK: http://www.labcenter.co.uk/index.html?/products/compilers.htm
Salu2
-
Bueno ya está resueto ... estaba haciendo todo el rato lo correcto, el problema era que el archivo COF sólo contenia información sobre ejecución del programa y nada sobre el código fuente del mismo. Se ha resulto añadiendo un comando de linea al compilador de C.
Muchas gracias Lager por la ayuda!!!
Saludos, Ank.
-
No hay nada que agradecer pana, ademas tu lo resolviste solo!!!

Salu2 pana
-
En el menú Options del compilador en el submenu File formats, asegurate de uq está seleccionada la opción COFF file como archivo de debug.
Un saludo.
-
Hola Oshow, he probado a hacer lo que me dices pero en el menu file formats/debug file,no me sale la opcion COF ,tambien he probado la opcion ultima
que no tiene nombre pero nada.
¿Puede ser un problema de versiones? la que tengo me pone lo siguiente:
IDE Version 3.28
PCB Version 3.150
PCM Version 3.150
PCH Version 3.150


-
Hummm, puede, puede que sea un problema de versión, yo te lo he dicho desde una 3.206
Un saludo.
-
Que onda paymer, como dice el pana oshow, puede ser la version el problema(yo tampoco se con serteza ..) ya que la version que tienes ya es un poco vieja ,pero si te produce el COD, este logicamente al abrir el explorador no se ve el archivo COD, por eso explique en un post anterior CARGAR DIRECTO el archivo COD, esto es (todos los archivos incluyendo el compilado y el DSN del circuito a simular deben estar en un mismo lugar) poniendo TU MISMO: ARCHIVO.COD Y dar aceptar... de esta forma (si es que la version no vuelve a jugarnos mal) correra en modo desensamblado con IDS en C.
Por otro ladola version pcwh 3.180 si te lo permite(las anteriores daban problemas y demas) , esta si te permite escoger entre 4 diferentes formatos de debugeo:
el estandar .COD, ATD .MAP, formato expandido .COD y COFF. Esto se puede hacer entrando en opciones y propiedades del compilador.Pero creo que tu tienes una version aun menos reciente
. La version la version 3.163 tambien te permite generar el COF pero e sabido que ambos (cof y cod al igual que versiones anteriores no funcionan con proteus)
Salu2 pana
-
Con versiones "antiguas" del compilador se conseguía la simulación paso a paso a partir del fichero .sdi, el cual era generado por el programa CODDDX.EXE
Se hacía así.
PASOS:
1º Source - Define Code Generation Tools:
Tool: CODDDX.EXE
Source Extn: COD Obj Extn: SDI
Command Line: %1
2º Source - Add/Remove Source files:
Code Generation Tool: CODDDX
Source Code Filename: archivo.cod
3º Source - Build All: se genera el archivo .sdi para simulación paso a paso
4º Para que simule paso a paso hay que darle al 2º botón por la izquierda de los 4 que hay abajo
Si podeis agenciaros una versión más reciente mejor que mejor, ya que no hay que hacer los pasos anteriores, solo compilar desde CCS, comprobar que te ha generado el .COFF y incluir este en el PIC en lugar del .HEX
Un saludo
-
Asi es pocher, pero ya estariamos recompilando el codigo,
, el mismo problema se resolvio con pbpro recompilando el codigo asm y obteniendo el COD claro que la desventaja de este fue que solo era asm y no basic(el que quiere la mayoria) la simulacion. Sigo viendo mas eficiente actualizar la version del compilador, ya que si se es registrado se tiene libre acceso a la registracion y si no pedirlo a los reyes magos que vienen en !!burro!!!!, jajajaja
aunque ya paso reyes
.
SAlu2
-
Hola, alguien ha probado esta funcion en la version 6.7 Sp3...por que a mi no me muestra el codigo fuente utilizando debug...
-
Que codigo fuente pana?.... usas c o bas..... en caso de bas de proton asegurate de poner todo junto en una carpeta y en caso de un error con el dll loader, puedes hacer dos cosas:
1) compilarlo con una version mas reciente.
2) adicionar la linea al final de tu codigo bas "F1_EOF:" y compilarlo y correra sin el error del dll.
Salu2 pana
-
Escrito originalmente por Lager.
Que codigo fuente pana?.... usas c o bas..... en caso de bas de proton asegurate de poner todo junto en una carpeta y en caso de un error con el dll loader, puedes hacer dos cosas:
1) compilarlo con una version mas reciente.
2) adicionar la linea al final de tu codigo bas "F1_EOF:" y compilarlo y correra sin el error del dll.
Salu2 pana
En ASM, ya que en Bas no programo aun...ademas sabes como puedo pasarlo a BAS si fuese el caso?
gracias
-
Saludos a todos,
Escrito originalmente por Lager.
Que codigo fuente pana?.... usas c o bas..... en caso de bas de proton asegurate de poner todo junto en una carpeta y en caso de un error con el dll loader, puedes hacer dos cosas:
1) compilarlo con una version mas reciente.
2) adicionar la linea al final de tu codigo bas "F1_EOF:" y compilarlo y correra sin el error del dll.
Lager,
Yo uso el proton+ 2.1.3 y proteus 6.3 sp1, cuando intento simular un pequeño programa para un PIC16F876 (este programa funciona actualmente en un PIC real) el proteus me arroja el mensaje: PROSPICE - Internal Exception: access violation in module "LOADERS.DLL"., es este el error al que te refieres ???
Asumiendo que si es èste el error, adicione la linea que mencionas a mi archivo .bas y recompile, pero el error persiste.
Ahora bien "F1_EOF:" me suena como a una etiqueta de un salto, es correcto ?
La debo colocar como una etiqueta o "label"?
Y siguiendo tu primer consejo, donde pudiera conseguir una version mas reciente del proton+ ? (Que no sea la V3.)
Gracias de antemano,
Rich !
-
Que onda RichReef,
El "F1_EOF:" como tu bien cometas es una etiqueta, y esto funciona en proteus 6.7 sp3... no lo e probado en versiones anteriores... ya que la version 6.5 no es necesario esta etiqueta y debugea en BASIC sin ningun problema... Esta etiqueta "solo es necesaria en versiones 6.7 sp3".... en version 6.5 simula y debugea sin ningun problema... creo que por ahi oi que la version 6.3 necesitaba un parche que la misma labcenter te daba .. no recuerdo bien...
La segunda opcion(usar un compilador mas reciente como el demo..) funciona ya que tambien lo probe y funcionaba.
Salu2
-
arschleben,
Para debugear an asm solo tendrias que debugear el HEX que te bota el MPASM, o el compilador que uses... creo que tambien te generan el COF.. si es asi usa este..... solo es cuestion de probar, ya que en este momento no cuento con un compilador asm para darte una respuesta mas certera... pero con el hex se debe de poder..
Un fuerte abrazo
-
Escrito originalmente por Lager.
Que onda RichReef,
El "F1_EOF:" como tu bien cometas es una etiqueta, y esto funciona en proteus 6.7 sp3... no lo e probado en versiones anteriores...
Salu2 
Excelente Lager,
Migre a la version 6.7sp3 y al colocar la etiqueta pues funciona de maravillas ....!
De verdad un millon de gracias !!!!!
Sin animo de convertir este mensaje en un "off-topic", como demonios llegastes a conocer que al colocar esta etiqueta resuelves el problema del "loadders.dll"
Rich !
-
Lager: Puedo usar cualquier PIC18F con el PICBASIC PRO en el Proteus?? Qué versión soporta esto?
-
Hola:
Tanto tiempo, y recien se bien como hacer esto, muy útil, gracias pana Lager, donde sea que estes :D :D
-
hola.llevo 2 semanas intentando hacer que funcione lo que se comenta al principio del tema.poder ejecutar paso a paso el circuito.y ya estava loco perdido.
ahora no se como tocando tocando he podido hacer que funcione.y puedo simular el circuito siguiendo el programa asm.
que ya me parecia imposible.yo estoy realizandolo con el MPLAB y creo que el fallo estaba en el archivo final ya compilado.ya que el mplab lo guardaba en un directorio y el isis lo cojia de otro.
queria decir que es mas sencillo de lo que parecia.cuidado con los directorios.no hace falta que el archivo final este en ninguna carpeta de la raiz del MPLAB ni del ISIS .pero seleccionarlas bien. :)
-
para los novatos como yo en proteus,quiero ir poniendo mis avances aqui por si le pueden servir a alguien.
mientras voy usando el isis,voy dandome cuenta de su funcionamiento y de los errores que he estado cometiendo.asi que ire comentando cosas que pueden ser muy obias para muchos.pero desconocidas para otros.
cosas a tener en cuenta:
si estais trabajando con el MPLAB,cuado compileis y querais provar el programa en el ISIS.aseguraos de ir a Surce->Build All.
si no.no tendreis actualizado el asm y os ejecutara el anterior asm que teniais cargado en el ISIS.
____________________________________________________________________________
si os sale el mensage: [PIC16]Program property not specifield
ir a Add/Remove Source Code y en Source Code Filename,poner la direccion del archivo.asm
donde esten los archivos ya compilados por el Mplab si es el compilador que estamos usando.
____________________________________________________________________________
tener presente de poner en Add/Remove Source Code ->Code Generation Tool.la herramienta que queramos usar para compilar
el asm.yo uso MPASM.si no lo haceis,y poneis NONE.el programa funcionara,pero las lineas de codigo en asm que vamos viendo en el simulador
no se habran actualizado con el asm modificado.y veremos cosas raras,como ejecuciones de linea que no tienen nada que ver con el asm.
____________________________________________________________________________
una buena practica es ir al menu:Lybrary-> Verify Packaging.aunque no necesariamente el programa va a dejar de funcionar por un error.
es conveniente ver si hay algun componente que no esta realizando su funcion.
-
Yo el HEX lo genero en CCS. Pero cuando se lo cargo al pic de Proteus. Este no responde. Nunca atiende a lo que escribo de nuevo en el codigo y si borro algo del codigo, proteus sige ejecutandolo aunque ya no exista , me ocurre tambien con los proyectos de los demas. Es la segunda vec que me pasa (no se lo que ocurrio para que volviese a funcionar). Siempre que abro Proteus aparece el siguiente mensaje en Ingles:
Schematic Capture
No se puede localizar el predeterminado de archivo de plantilla predeterminado DTF por favor, Compruebe la configuración de ruta.
Aunque no estoy seguro que tenga algo que ver siempre a salido y a pesar de ello todo funcionaba bien estos ultimos 15 dias.