Autor Tema: Simular flujo de datos en MPLAB  (Leído 2701 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Shardik

  • PIC10
  • *
  • Mensajes: 28
Simular flujo de datos en MPLAB
« en: 22 de Noviembre de 2006, 17:47:22 »
Alguien sabe como simular una "inyeccion" de datos por un PIN, o directamente en un registro, en MPLAB?

Necesito meter los datos de un paquete TCP/IP por el bus SPI y trabajar con ellos, pero antes necesito simularlo todo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Simular flujo de datos en MPLAB
« Respuesta #1 en: 22 de Noviembre de 2006, 20:01:43 »
Hola. Si, es posible.
Primero debes activar el simulador en el MPLAB.
Vete al menú Debugger->Select Tool->MPLAB SIM.
Esto activará el simulador y aparecerá una nueva barra de herramientas para la simulación.

Es muy útil declarar BreakPoints en los lugares en los que quieres que el simulador se detenga. Esto acelera mucho el análisis de la simulación.

Luego de activar el simulador ensambla el archivo ASM(puedes hacerlo antes de activar el simulador también).

Luego, dependiendo la versión de MPLAB que tengas, la inyección de valores a registros o pines está ubicada en distintos lugares por lo que veo. En mi versión 7.50 ambos se encuentran dentro del menú Debugger->Stimulus.

Haciendo click en New WorkBook accedes a un conjunto de solapas que permiten simular muchas cosas. Como inyección de registros(solapa Register Injection), cambiar el estado lógico de un pin I/O(solapa PIN/Register Actions y/o Advanced Pin/Register).

También verás que hay muchas cosas más. Todas son útiles pero pueden requerir de cierta paciencia y prueba y error hasta encontrarle la mano a cómo funcionan.

También hay otras herramientas muy útiles como el Debugger->StopWatch que muestra cantidad de lineas simuladas hasta el momento, que puedes usar para medir tiempos.

Para ver el valor de ciertos registros(sean SFR o GPR) tienes una herramienta fácil en View->Watch. Allí ingresas o bien el nombre de la variable en Symbol Name o la dirección de memoria en Address.

Otra que utilizo yo es la View-> Hardware Stack. Que muestra la PILA del PIC. La uso especialmente para ver cuántos niveles de anidación máxima poseen algunos programas extensos.

En fin, posee además ventanas que grafican el estado de los pines que definas, seguimiento de las líneas ejecutadas por el simulador, etc...
Son demasiadas como para explicarlas todas, pero todas son muy útiles.

Saludos.








"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Shardik

  • PIC10
  • *
  • Mensajes: 28
Re: Simular flujo de datos en MPLAB
« Respuesta #2 en: 22 de Noviembre de 2006, 20:47:33 »
Citar
Haciendo click en New WorkBook accedes a un conjunto de solapas que permiten simular muchas cosas. Como inyección de registros(solapa Register Injection), cambiar el estado lógico de un pin I/O(solapa PIN/Register Actions y/o Advanced Pin/Register).

He llegado hasta ese punto, y he conseguido manejar el PIN/REGISTER, que pone un valor en un registro en el momento que le digas, he conseguido por ej. que meta a X segundos, un valor por ej. 01010101 en el registro SSPBUF (Donde se guardan los datos que recibes por SPI). Pero lo que yo necesito es meter una inyeccion de datos que tengo en un .txt , que supongo que es con Register Injection, pero no se manejar este ultimo



« Última modificación: 22 de Noviembre de 2006, 20:50:56 por Shardik »

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Simular flujo de datos en MPLAB
« Respuesta #3 en: 22 de Noviembre de 2006, 21:51:16 »
Bueno, pero el MPLAB solo permite ciertos formatos de archivo para insertarlos como Workbooks.

Podrias "engañar" al MPLAB, creando un pequeño archivo .sbs en la primer solapa, y fijandote con el bloc de notas el contenido. A partir de alli modificarlo debidamente(destaco que el archivo dice: DO NOT EDIT! :D) pero he probado insertarle unos datos desde el bloc de notas, y el MPLAB se lo ha digerido bien.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.