TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Edson en 11 de Mayo de 2017, 20:01:36

Título: PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 11 de Mayo de 2017, 20:01:36
Buenas tardes.

Les comento que estoy desarrollando un compilador libre y de código abierto en Pascal, para la gama media de PIC, la 16F. De momento solo soporta datos simples (byte, char, word, boolean, bits), pero está avanzando rápidamente.
Este compilador tiene un nivel de optimización muy bueno, y es multiplataforma. He compilado una versión para Linux y otra para Windows.
Espero que les sea útil.
https://github.com/t-edson/PicPas

Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 26 de Mayo de 2017, 17:14:20
Avanzando con mi compilador para microcontroladroes PIC, PicPas, ahora ya en la versión 0.6.5. Las nuevas mejoras incluyen a la generación de código, a las estructuras del lenguaje, a la optimización, la traducción al español y a los bloques ASM. https://github.com/t-edson/PicPas
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: juaperser1 en 26 de Mayo de 2017, 17:36:38
Impresionante ((:-)) ((:-)) El ide tambien lo has hecho tu?

Un saludo
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 27 de Mayo de 2017, 00:44:15
Impresionante ((:-)) ((:-)) El ide tambien lo has hecho tu?

Gracias. Sí, de hecho, la IDE, especialmente el editor, fue lo primero que hice. Tuve que crear varias librerías para ello: Resaltador de sintaxis, autocompletado,  y utilidades de edición. Hay aún varias cosas que agregar, como el autocompletado de nombres de variables, constantes y procedimientos, pero lo iré avanzando poco a poco.
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: juaperser1 en 27 de Mayo de 2017, 07:22:25
Lo vuelvo a decir... impresionante ((:-)) ((:-))
tienes hasta el uso de memoria
 
Que has utilizado para la parte grafica del IDE, yo uso el C# para mis proyectos pero hace tiempo que quiero migrarme a otra cosa mas portable y estaba pensando el el QT

un saludo
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 27 de Mayo de 2017, 12:46:38
Uso la combinación:
Lazarus (IDE) - Free Pascal (Compilador) - Object Pascal (Lenguaje)

Que es multiplataforma.
En ese entorno es que tengo varias librerías desarrolladas, que ayudan en la creación de compiladores e IDE.

He usado antes QT, pero no lo usaría de nuevo. A mi parecer C++ no es apropiado para este tipo de proyectos. QT tiene muchas dependencias y realiza una "desnaturalización" del lengauje C++. Sin contar que compilar en C++, es un proceso masoquista.
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 22 de Junio de 2017, 19:04:31
PicPas, el único compilador Pascal libre, multiplataforma, para microcontroladore PIC, ha sido actualizado a la versión 0.7.0.
Ahora llega con la interfaz completamente mejorada y personalizable. La IDE soporta los idiomas inglés, alemán y español. Se puede descargar para Windows y Ubuntu: https://github.com/t-edson/PicPas
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: fandiño en 24 de Junio de 2017, 22:41:41
se ve muy bueno el compilador. espero que lo puedas terminar pronto
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 01 de Julio de 2017, 20:19:43
El compilador está lejos de estar terminado pero ya es bastante funcional y se puede hacer casi cualquier aplicación, ya que, aunque no tiene librerias especializadas, se tiene un buen soporte para ensamblador, además de que el código generado es bastante compacto.

Por cierto, acaba de salir la versión 0.7.1, que tiene detección de errores, casi en tiempo real, mientras se digita el programa. Algo que no lo tiene ni CCS, Ni MikroPascal, ni ningún otro compilador para PIC que yo conozca.

Si sumamos eso, a las características adicionales de la IDE, como la personalización, edición en modo columna, múltiples cursores, autocompletado inteligente, y herramientas de navegación.  Bien se podría decir que la IDE de PicPas es, la mejor IDE que existe entre las que incluyen los compiladores para PIC.
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 07 de Agosto de 2017, 13:39:06
Después de un breve descanso PicPas, el único compilador Pascal mutliplataforma para PIC, vuelve a aparecer, ahora en su versión 0.7.3. Entre las novedades, se tienen:
- Implementación de las directivas $CONFIG, $INCLUDE, $DEFINE e $IFDEF
- Mejora en la ubicación de errores en bloques ASM y DIRECTIVAS
- Definición de macros y compilación condicional (experimental).
- Configuración de Herramientas externas desde la IDE.
https://github.com/t-edson/PicPas
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 04 de Noviembre de 2017, 01:58:31
PicPas el compilador libre de Pascal para la gama media de PIC, avanza rápido. Ahora ya en su versión 0.8.0, aparece con notables mejoras, como el uso de temas (skins), resaltado de errores, mejor procesamiento de directivas, nuevas optimizaciones y la inclusión de un depurador/ simulador experimental para instrucciones.
https://github.com/t-edson/PicPas

Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 01 de Junio de 2018, 20:31:33
PicPas ahora en su versión 0.8.7 incluye, entre otras mejoras, soporte para los PIC con isntrucciones de 12 bits: PIC10F200 PIC10F200 PIC10F202 PIC10F204 PIC10F206 PIC10F220 PIC10F222 PIC12F508 PIC12F509 PIC12F510 PIC12F519 PIC16F505 PIC16F506 PIC16F526 PIC16F527 PIC16F54 PIC16F57 PIC16F59.
https://github.com/t-edson/PicPas
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: emiro99 en 02 de Abril de 2019, 00:31:24
Interesante compilador,no lo conocía  ((:-))
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: elreypic2 en 02 de Abril de 2019, 10:46:05
Muy interesante proyecto.
Solo le faltaría el manejo de variables tipo flotante (Real, single) y estaría perfecto. Ya ha avanzado muchísimo con la nueva versión.
Ojalá que no la abandonen.

Saludos,

elreypic.
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: colo-des en 14 de Junio de 2019, 15:26:44
Ante todo felicitaciones por este gran foro, hace mucho vengo leyéndolo pero no me suscribía.

Respecto a este compilador de pascal, que acabo de darle una prueba, primero tuve que instalar fpc y lazarus para poder compilar PicPas, pero al final ha ido todo muy bien.

Les dejo los pasos para clonar desde git, y lanzar lazarus con configuración en el home de usuario.
En mi caso gentoo, asi pues que emerge, para otras distros será su respectivo manejador de paquetes del sistema.

# emerge -av dev-lang/lazarus
esto instala por dependencia al compilador free pascal compiler "dev-lang/fpc"

Para ejecutar el IDE de lazarus usando la configuración en el home y no en /etc/ ya que necesita permisos de root
se crea la carpeta oculta en el home y se lanza lazarus con el parámetro --pcp=~.lazarus

$ mkdir .lazarus
$ startlazarus --pcp=~.lazarus

Clonamos el git de los fuentes de PicPas

$ mkdir Paquetes
$ cd Paquetes
$ git clone https://github.com/t-edson/PicPas.git
Clonando en 'PicPas'...
remote: Enumerating objects: 6966, done.
remote: Total 6966 (delta 0), reused 0 (delta 0), pack-reused 6966
Recibiendo objetos: 100% (6966/6966), 167.04 MiB | 115.00 KiB/s, listo.
Resolviendo deltas: 100% (5199/5199), listo.

Y ya en lazarus se abre el proyecto PicPas y se lo compila, el archivo del proyecto de PicPas es ./PicPas/Source/PicPas.lpi
Al final si la compilación ha ido bien, se genera el ejecutable PicPas-linux, que tendremos que darle permisos de ejecución para
el usuario.

$ chmod u+x PicPas-linux

Ahora ejecutamos PicPas-linux desde la carpeta donde fue compilado, con:

$ ./PicPas-linux

Felicitaciones a Edson es un tremendo trabajo el que ha hecho y se que queda mucho por hacer pero me saco el sombrero.
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 27 de Junio de 2019, 15:25:34
Gracias a todos por el interés.
Primeramente quería aclarar que PicPas no es solo compilador, sino que incluye también una IDE y un depurador/simulador gráfico en tiempo real. Además el compilador tiene soporte completo para programar en ensamblador dentro del código Pascal. Y lo mejor es que es completamente gratuito.

De momento no he sacado versiones nuevas  porque estoy experimentando nuevas características en otro compilador (como el manejo de punteros y arreglos) que luego se migrarán a PicPas. Esto se verá reflejado a partir de la versión 0.9. El proyecto está en desarrollo y a pesar de los muchos avances, aún falta mucho por hcaer para tener un compilador completo. Todas las colaboraciones son bienvenidas.
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: colo-des en 28 de Junio de 2019, 02:31:10
Hola Edson ¿Tito?

Estoy probando con SDCC 3.9.1 y con PicPas 0.8.8, portando un proyecto terminado en ensamblador, para probar que generan ambos y comparar.
Para SDCC uso el IDE CodeBlocks 17.12 y como ensamblador y enlazador gputils 1.5.1
PicPas va ganando por goleada y recién empieza el partido...
Siceramente lo que veo engorroso en C es el manejo de librerias, para mi es mas simple copiar y pegar código que incluir librerias
y estar peleándome horas para hacer andar algo porque no hay información de como se usa, termino mirando el código de las mismas
para poder entender como usarlas...asi que, como que no sirve.
En pascal con sus units casi que es la forma de trabajar, uno mismo se crea las units para el proyecto y luego las usa en otros proyectos.
No se, a lo mejor es que no le tome la mano a como se manejan en C o estoy muy acostumbrado a ensamblador que es en lo que siempre he desarrollado.
PicPas le veo futuro, estuve simulando y leyendo los manuales y tiene muy buena pinta, además vi el vídeo en youtube donde explicas muchos detalles.

Saludos
Título: Re:PicPas, Nuevo compilador libre en Pascal para PIC
Publicado por: Edson en 30 de Junio de 2019, 19:02:08
Hola Edson ¿Tito?

Estoy probando con SDCC 3.9.1 y con PicPas 0.8.8, portando un proyecto terminado en ensamblador, para probar que generan ambos y comparar.
Para SDCC uso el IDE CodeBlocks 17.12 y como ensamblador y enlazador gputils 1.5.1
PicPas va ganando por goleada y recién empieza el partido...
Siceramente lo que veo engorroso en C es el manejo de librerias, para mi es mas simple copiar y pegar código que incluir librerias
y estar peleándome horas para hacer andar algo porque no hay información de como se usa, termino mirando el código de las mismas
para poder entender como usarlas...asi que, como que no sirve.
En pascal con sus units casi que es la forma de trabajar, uno mismo se crea las units para el proyecto y luego las usa en otros proyectos.
No se, a lo mejor es que no le tome la mano a como se manejan en C o estoy muy acostumbrado a ensamblador que es en lo que siempre he desarrollado.
PicPas le veo futuro, estuve simulando y leyendo los manuales y tiene muy buena pinta, además vi el vídeo en youtube donde explicas muchos detalles.

Saludos

Hola @colo-des.
Por lo que he leído, el SDCC está todavía muy flojo en cuanto a desarrollo con PIC. Además, para usarlo depende de herramientas adicionales. PicPas es un compilador/ensamblador/enlazador/IDE/depurador/simulador, todo en uno.

PicPas es, probablemente, el compilador más optimo en cuanto a tamaño de código generado y el SDCC es probablemente el peor (De acuerdo a una de las últimas comparaciones que se hizo en Facebook).

Una de las limitaciones actuales de PicPas es que no compila bien cuando se maneja código en varias páginas. Ese es un tema pendiente que no he querido tocar  hasta solucionar unos problemas referido con la evaluación de expresiones en el generador de código.

La ventaja de SDCC es que compila para varios CPU, además de los PIC. PicPas solo se especializa en PIC. Pero actualmente estoy trabajando en un compilador para 6502 (P65Pas) hermano del PicPas, y probablemente esté incluyendo luego al Z80 o a AVR.