jump to navigation

Propuesta para congelar la versión 1.4 19 septiembre, 2011

Posted by pjmicrocontroladores in Información general, Lanzamiento de versión.
2 comments

En los últimos meses se ha avanzado de forma bastante lenta en el proyecto, pero creo que ha llegado el momento de congelar lo que sería la versión 1.4 del código. Pese a no haber cambios importantes, si se han realizado modificaciones para situaciones no contempladas en el código, así como arreglos en características no probadas hasta ahora. En especial he reescrito la implementación de la salvaguarda del entorno en interrupciones así como dado soporte para compilación de flotantes. Éstos últimos, sin embargo, son impracticables, por la gran cantidad de código que demandan, pero están a la espera de ser optimizados.

Abró por lo tanto una ventana de tiempo antes de congelar la versión 1.4. Todas las sugerencias y reporte de fallos o mejoras simples son ahora más que nunca bienvenidas. No obstante recordar que estoy siempre abierto a las mismas.

Saludos

Pedro José Ramírez Gutiérrez.

Offtopic 12 julio, 2010

Posted by pjmicrocontroladores in Sin catalogar.
6 comments

Buenas. Primero de todo informar que el proyecto no ha muerto ni ha sido abandonado. Simplemente trabajo en otra linea paralela para dar mayor soporte a futuras nuevas características. Compaginar el nuevo desarrollo con el poco tiempo libre que tengo, implica un avance más lento, pero a la vez más firme. Solo recordar que la última versión disponible siempre esta en la forja.

Lo segundo y verdadero nucleo de ésta entrada, ¡España ha ganado el mundial!. Enhorabuena a todos los equipos que han participado por su buen futbol. Obviamente ésto no incluye a Holanda, que ha mostrado el juego más sucio de todo el mundial. Y en especial al equipo español, enhorabuena chicos.

Saludos

Pedro José Ramírez Gutiérrez.

Congelada versión 1.2 17 enero, 2009

Posted by pjmicrocontroladores in 1.
3 comments

Durante las últimas semanas han aparecido errores, cosas que no funcionaban como se esperaba o partes de código mejorables. Pasado el tiempo necesario de reparación y mejora tengo el placer de anunciar el lanzamiento de la versión 1.2 del porting de GCC a PIC16F. Los errores correguidos y las mejoras pueden consultarse en el log del svn.

Como novedades:

- Se incluyen dos wrappers para gpasm y gputils con lo que se mejora la integración de llamadas GCC-GPUTILS.

- He lanzado una versión binaria para Windows que incluye las GPUTILS. Es una versión descompirmir y funcionar. Como única instalación necesita que el directorio bin dentro de la carpeta de descompresión se incluya en la variable PATH del sistema. Caso contrario habrá que llamar al compilador de C, ensamblador y enlazador uno por uno. A partir de ahora, la distribución de los binarios de Windows será la tónica general en los lanzamientos. Si hay interes popular usaré algún instalador para automatizar el proceso.

- En unos días subiré una versión binaria para Linux. Por ahora podéis usar la versión que se encuentra en http://pic-linux.foroactivo.net/pic-gcc-f22/como-empezar-a-utilizar-pic-gcc-t81.htm#176 de la página del foro PIC-Linux creada por Santiago. Se encuentra actualizada practicamente a la última versión (solo le faltan los wrappers). De paso os invito a echar una mirada a éste foro que se muestra bastante interesante del amigo Santiago.

- Soporte para la compilación de la versión 1.1.10 de la PIC-GCC-Library (https://sourceforge.net/projects/pic-gcc-library/). La biblioteca de C para PIC-GCC desarrollada por Fernando Pujaico. Hace pocos días que lanza esta versión bastante avanzada. A Fernando le debo agradecer, no solo que amplie la utilidad de PIC-GCC con las bibliotecas de C sino que se ha convertido en el betatester número 1 de PIC-GCC, descubridor de bastantes fallos corregidos en esta versión.

Los próximos pasos serán:

- Lanzamiento de un plugin para el entorno Eclipse que integrará pic-gcc en el mismo. Hasta hace poquito la única opción de compilar con pic-gcc era por linea de comandos. Sin embargo junto a PIC-GCC-Library, Fernando ha lanzado GTKPicGccAll. Un IDE muy ligero para programar PIC con PIC-GCC. En la misma página que las bibliotecas tienen versiónes compiladas para Windows además del código fuente listo para Linux. En poco lanzaré un versión inicial del plugin de Eclipse, pero el final integrará la programación de fuses, junto a varias herramientas de manejo del código generado. Con ésta futura versión, se tendrán dos IDEs alternativas, Eclipse bastante bueno pero se necesita una máquina potente para programar con comodidad y GTKPicGccAll que funciona en cualquier ordenador que arranque un entorno gráfico de Linux.

- Comprobar la compilación de C++. El compilador de C++ ya es un echo y se puede generar sin tocar el código fuente de PIC-GCC. Falta comprobar que el soporte del lenguaje esté completo, pero para los aventureros os invito a probarlo y reportar fallos. No se dará soporte para creación de objetos (new y delete), pero la idea es permitir utilizar las mejoras del lenguaje C++. Realmente la implementación de la asignación dinámica en un PIC de 386 bytes de memoria no es algo que me quite el sueño.

- Como acción inmediata, de aquí a unos días explicaré el nuevo proceso de compilación de PIC-GCC ya que ha variado un poco. De todas formas creo que ha sido para mejor. No obstante el que lo necesite puede preguntarme usando la lista de distribución de la forja.

Solo me resta dar las gracias a todas las personas que han reportado bugs del compilador. En especial a Fernando y a Santiago que no solo han reportado bugs sino que han creado comunidad a partir del proyecto, creando desde distribuciones binarias hasta IDEs para el Porting. Gracias amigos.

Eso es todo, saludos

Pedro José Ramírez Gutiérrez.

Nueva actualización. 13 octubre, 2008

Posted by pjmicrocontroladores in Información general, Parches.
3 comments

Buenas

He subido una nueva revisión al control de versiones. Por un lado arregla un fallo con las llamadas sobre punteros a funciones (gracias a Fernando Pujaico por el aviso). Por otro lado cambia la forma de compilar PIC-GCC.

Ahora, para configurar GCC una vez aplicado el parche se debe usar:

../<fuentes_GCC_parcheadas>/configure   -target=pic -enable-languages=c -with-as=/usr/local/bin/gpasm -with-ld=/usr/local/bin/gplink

donde -with-as y -with-ld deben ser las rutas absolutas de gpasm y gplink respectivamente instaladas en el sistema. Así, se acaba con la ambiguedad de la ruta de las GPutils a usar en el código fuente, la ruta por defecto de instalación del paquete o la ruta si se contruyen a partir de las fuentes.

Saludos

Pedro José Ramírez Gutiérrez.

Noticias buenas y otras no tanto. 29 mayo, 2008

Posted by pjmicrocontroladores in Información general.
add a comment

Primero las relativamente malas. He borrado todos los foros de la forja. El motivo es que no he recibido ningún mensaje que no fuera anunciando pornografía y productos para hacer crecer el pene. Ante el aumento incontrolado de este tipo de mensajes y la imposibilidad de filtrarlos de manera cómoda, he cerrado el foro. Seguis teniendo los comentarios del blog abiertos para cualquier tema.

Las noticias buenas. Fernando Pujaico Rivera ha decidido comenzar a desarrollar bibliotecas de dispositivos para PIC-GCC. Empieza de forma bastante fuerte y en pocas semanas lanzará las primeras betas del código. Por el momento, ya ha abierto un nuevo proyecto en sourceforge para empezar a subir las primeras alphas. Lo tenéis aqui. También podéis echar un vistazo a su página web donde ya publico una biblioteca multiplataforma para acceso al puerto serie entre otras.

Por último, como Fernando me ha dado un poco de envidia, os subo una pequeñisima biblioteca para generar retrasos de milisegundos. Os lo cuelgo en los documentos de la forja, dado que no puedo hoy subir ficheros (ya lo arreglarán). Aquí delayms.

Saludos

Pedro José Ramírez Gutiérrez

Novedades. (Re-actualizado) 11 mayo, 2008

Posted by pjmicrocontroladores in Lanzamiento de versión.
add a comment

Se ha publicado una nueva versión 1.1.0 que contiene dos correciones de distinta gravedad junto con los últimos cambios del control de versiones.

- [importante] Se han corregido varios errores en las rutinas de multplicación para 16 y 32 bits para 32 registros. Los errores las hacian inoperables.

- [Menor] Se ha reparado un error en la inicialización de variables en la rutina initializate. En la carga de las variables inicializadas la dirección de lectura no era calculada de forma correcta si el incremento sobrepasaba el rango de un byte.

Además, a partir de ahora, el código fuente se distribuirá en forma de parche. Ya está disponible en los ficheros de la forja (aquí) pero aconsejo conseguirlo siempre desde el control de versiones de la forja.

Se continuará con la versión de GCC 4.0.2 por el momento pero estoy comenzando la adaptación a la versión 4.3.0. En su momento se compararán ambas versiones y se eligirá la que produzca código más óptimo dado que por el momento las reparaciones publicadas por la GNU no afectan los microcontroladores PIC.

Por otro lado la versión para Windows será lanzada próximamente sobre el entorno cygwin.

Saludos

Pedro José Ramírez Gutiérrez

Actualizado: Añadida versión 1.1.1 del parche en la que se arreglan errores en las rutinas de multiplicacion sin signo de 16 bits. Descargas aquí .

Reactualizado: Y para rematar lanzo la versión 1.1.2 del parche que contiene la correción completa de la multiplicación. A la versión 1.1.1 le faltaban unos arreglos que olvide actualizar. Parche aquí.

Actualización 15 octubre, 2007

Posted by pjmicrocontroladores in Información general, Lanzamiento de versión.
9 comments

He subido al control de versiones de la forja una nueva actualización que establece un total de 129 modelos de microcontrolador soportados. Con esto se puede compilar código para la inmensa mayoría de microcontroladores del rango medio de Microchip. Los modelos soportados a nivel de compilación son:

Faltaría por escribir los archivos de cabecera, pero todavía se debe establecer un formato más conveniente que el actual antes de ampliarlo a todos los nuevos microcontroladores.

A partir de ahora el Bloq se convierte en Porting de GCC a PIC16, dado que el 98% de los PIC16 están portados. 

Saludos
Pedro José Ramírez Gutiérrez

II Concurso Universitario de Software Libre (actualizado) 9 agosto, 2007

Posted by pjmicrocontroladores in Información general.
1 comment so far

A partir del 15 de Septiembre estará abierto el plazo para la inscripción en la segunda edición del Concurso Universitario de Software Libre. Desde éste blog recomiendo que todo aquel ingeniero universitario que esté pensando en comenzar su proyecto de fin de carrera participe en el concurso por tres razones. Primero conseguiréis publicidad solo con participar, tanto del proyecto como de vuestra forma de trabajar. Segundo, os impulsará a avanzar en la creación del proyecto ayudando a no dejarlo incompleto. Y tercero, podíes ganar dinero, pero lo que es seguro es que no lo perderéis :) .

Solo resta dejar el enlace. 

http://concurso-softwarelibre.us.es/index.html

Animo.

 PD: Gracias a Fitopaldi por la corrección. Eso me pasa por leer demasiado rápido.

PD 2: El plazo ya abierto finaliza el 31 de Octubre.

Concurso Software Libre. 28 mayo, 2007

Posted by pjmicrocontroladores in Información general.
add a comment

Tras ocuparme de varios asuntos de importancia puedo, con más de dos semanas de retraso, anunciar que finalmente gane el primer premio en la categoría de sistemas. Poco puedo decir que no hayan dicho ya los compañeros del concurso, pero me apetece resaltar el buen ambiente vivido durante los días de estancia en Sevilla. Desde un primer momento no existieron competidores sino aficionados del software libre lo que unido al excelente trato por parte de los organizadores del concurso hicieron que más de uno deseara alargar la fase final del concurso. Espero verlos a todos en próximos eventos.

Solo me resta comentar que en unas semanas daré un fuerte empujón al proyecto y posiblemente podré anunciar el nacimiento de otro bastante relacionado. Hasta entonces saludos.

Congelada versión 1.0.0 5 mayo, 2007

Posted by pjmicrocontroladores in Lanzamiento de versión.
17 comments

Hoy lanzo la versión estable del porting de GCC a PIC16F877. Durante un mes he realizado profundas pruebas del compilador y le he usado en proyectos reales con el 16F877. Tras observar los resultados y no encontrar ningún tipo de fallo en el código de la versión 0.9.2 usado durante todo éste tiempo, he decidido congelar ésta como la versión 1.0.0. Realmente bastante antes se mostraba un código resultante robusto y fiable, pero no solo tenía que suponerlo sino comprobarlo con mis propios ojos.

El trabajo de desarrollar un compilador de C para PIC16F877 está completado, pero como ya he comentado otras veces, el objetivo desde mediados del proceso de desarrollo es un compilador, no solo para éste microcontrolador, sino para toda la familia 16F. Pese a que también he probado el microcontrolador PIC16F73 con idénticos y excelentes resultados, debo realizar pruebas más profundas con este último. Llegará un punto en el que tenga que presuponer que ciertos microcontroladores son soportados por el compilador, pero siempre me ha gustado andar con pies de plomo.

Lamentablemente es imposible que adquiera todos los modelos del 16F para comprobar los resultados por lo que pido ayuda para que todo aquel que desee programar en C otros modelos PIC16F, lo pruebe y me comente los resultados. La adaptación del compilador a otro modelo únicamente supone introducir una línea de código, por lo que no se exigen conocimientos avanzados para poder ampliar el compilador. No obstante estoy preparando, siempre que el trabajo me deje un poco de tiempo, un documento para realizar paso a paso la modificación.

Hasta entonces, saludos a todos.

PD: El proyecto ha sido elegido como finalista del I concurso universitario de software libre. Pese a que siento un gran honor de formar parte de los 7 finalistas, creo que es digno reconocer que todos los proyectos que han trabajado se merecen una enorme ovación. Enhorabuena a todos.

Seguir

Get every new post delivered to your Inbox.