Autor Tema: Consejos para versionar nuestros firmwares  (Leído 4525 veces)

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

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Consejos para versionar nuestros firmwares
« en: 07 de Mayo de 2012, 06:58:00 »
Hola, de seguro esto también les ha pasado a alguno de ustedes, y sino es asi...  :oops: OK... a mi me esta pasando.

Resulta que muchas veces cuando desarrollamos nuestros firmwares para nuestros proyectos, nos vemos en la necesidad de hacerle una mejora, o una corrección o modificación para que trabaje con un nuevo circuito. Es en estos casos donde empieza a producirse una especie de embrollo, necesitando en algún momento regresar a un punto anterior a esa modificación, y si no se sigue un orden, pues uno se pierde.

Para esto yo idee un sistema propio, donde versiono a mis firmwares siguiendo simples criterios. Pero, resulta que a veces aparecen casos en los que mi sistema se cae o no es lo suficientemente ideoneo para resolverlo. Por eso acudo a escuchar algunos consejos de personas que de seguro puedan orientarme con esto. Sé que esto va por el lado mas personal de uno, pero nunca esta de mas escuchar los sabios consejos de la experiencia.

Saludos.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Consejos para versionar nuestros firmwares
« Respuesta #1 en: 07 de Mayo de 2012, 09:35:32 »
Hola, yo trabajo agregandole un número al final, y de manera creciente, colocando todos los agregados ,mejoras o correcciones en los REM del encabezado. Pero siempre trabajo en el que no tiene ningún número en el final...  por lo cual, éste, siempre es mi ultima versión....

Supongo que hay otras opciones...  :mrgreen:
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Consejos para versionar nuestros firmwares
« Respuesta #2 en: 07 de Mayo de 2012, 11:10:25 »
Hola

Yo uso x.y.z

x es la versión principal
y es la mejora importante que he agregado a tal versión
z es un cambio menor que he hecho

Siempre empiezo en la 0.1.0 y de ahí para arriba.

Si hago una copia de una versión que no sirve, le llamo broken y la dejo guardada por si hace falta en el futuro.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Consejos para versionar nuestros firmwares
« Respuesta #3 en: 07 de Mayo de 2012, 13:18:00 »
En el software profesional se utilizan cuatro números. Los tres primeros son los que ha definido migsantiago y el cuarto es el número de compilaciones (este número se incrementa de forma automática cada vez que lanzamos la compilación), puede que debido a pequeños bugs no sea necesario cambiar el núemro de versión del firmware y sería suficiente con los cambios en el número de compilación. Por ejemplo mi antivirus (Kaspersky es 6.0.4.1424).

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Consejos para versionar nuestros firmwares
« Respuesta #4 en: 07 de Mayo de 2012, 13:57:35 »
Hola y muchas gracias por sus consejos.

Yo también documento todo en el encabezado como lo hace TODOPIC, pero aplicando el sistema de X.Y de migsantiago (sin la Z claro, pero creo que voy a tener que implementarla); y aún asi he tenido complicaciones.

Por ejemplo: una vez estaba desarrollando un firmware que controlaba unos 4 reles y un LCD. Yo estaba agregando un número por cada función que añadia. Ya estaba por la  V.1.6 y todo iba bien... hasta que el cliente me pide que ya no sean 4, sino solo 1 rele. Entonces yo dije: sera la V.1.7 (no altere ni la PCB ni la versión por que considere que el cambio era mínimo) y segui avanzando. Luego me pide un nuevo cambio, pero esta vez del menu del LCD. Esto me puso en la necesidad de alterar mi orden  asi que yo dije... sera la V.1.71. Pero todo se complicó cuando me dijo que ahora quiere los 4 con ese menu, y yo... :shock:... no sabía si regresar a la V.1.6 y continuar renombrandolo; o cambiar a la V.1.8

Creo que esto se solucionaria, analizándolo bien, si usara desde un comienzo el método V.X.Y.Z; pero que pasara cuando el cambio al firmware requiera una mezcla de la versión Y con la versión Z ???

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Consejos para versionar nuestros firmwares
« Respuesta #5 en: 07 de Mayo de 2012, 14:04:41 »
Te recomendaría que usaras, además de escribir en algún lugar el changelog, un sistema de control de fuentes.

Yo lo tengo instalado (uso Subversion) y en su repositorio van a parar todas las versiones desde la 1.0.0.0, y cuando hago un release le aplico un TAG, luego si voy a hacer un retrabajo abro un branch y el head queda intacto, luego el sistema me permite hacer el merge.

saludos.

P.D.: Puedes leer sobre subversion en la wiki
http://en.wikipedia.org/wiki/Apache_Subversion

Está disponible para linux y window$
« Última modificación: 07 de Mayo de 2012, 14:25:26 por Felixls »

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Consejos para versionar nuestros firmwares
« Respuesta #6 en: 09 de Mayo de 2012, 15:26:34 »
Ok Felixls; me parció interesante tu propuesta (aunque al comienzo no la entendi mucho) y me puse a investigar sobre ello. La cara que puse cuando por fin encontre utilidad a esa opcion del menu del mplab.

Veo que esta parece ser la solución a mi problema, asi que me decidi a probarlo. Pero, estoy en duda sobre cual de estas 2 posibilades usar: CVS o SVN (subversion). Lamentablemente toda la información que encontre sigue siendo referente a softwares, asi que si no es mucha molestia, te pediría por favor una recomendación de cual de los 2 usar, o porque usas SVN y no CVS... saludos.

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Consejos para versionar nuestros firmwares
« Respuesta #7 en: 09 de Mayo de 2012, 16:26:48 »
CVS es anterior a SVN, este último soporta transacciones y son atómicas, está pensado para usarse en conecciones http por webdav, su rápida base de datos relacional de los fuentes (FSFS) y motor fue reescrito y mejorado en varios años de desarrollo, etc.

En resumen, te recomiendo SVN.

saludos.

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Consejos para versionar nuestros firmwares
« Respuesta #8 en: 09 de Mayo de 2012, 16:33:24 »
Muchas gracias por la info felixls, seguire tu recomendación. Solo una últiima cosa más: es realmente necesario usar un servidor para los repositorios?, por que mi intención es usarlo solamente en mi maquina y únicamente por mi, y la verdad todas las paginas que encuentro solo dan guias de como instalar con servidor apache, con servidor dropbox, etc etc.

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Consejos para versionar nuestros firmwares
« Respuesta #9 en: 09 de Mayo de 2012, 16:36:22 »
Lo puedes instalar de manera local, usa VisualSVN server por ejemplo


http://www.visualsvn.com/server/

(Es gratis en un contexto de workstation)

Desconectado JBQ

  • PIC16
  • ***
  • Mensajes: 118
Re: Consejos para versionar nuestros firmwares
« Respuesta #10 en: 09 de Mayo de 2012, 16:59:33 »
mmm ya veo. Muchas gracias por el dato felixls... saludos.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Consejos para versionar nuestros firmwares
« Respuesta #11 en: 09 de Mayo de 2012, 18:31:21 »
Cual me serviria para trabajar con PICC ??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Consejos para versionar nuestros firmwares
« Respuesta #12 en: 09 de Mayo de 2012, 19:06:27 »
Que sería PICC?

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Consejos para versionar nuestros firmwares
« Respuesta #13 en: 09 de Mayo de 2012, 21:33:47 »
El compilador C de CCS. :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Felixls

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 300
Re: Consejos para versionar nuestros firmwares
« Respuesta #14 en: 09 de Mayo de 2012, 21:38:59 »
Si el IDE de CCS no tiene soporte de SVN lo que se puede hacer es usarlo integrado al Windows Explorer con TortoiseSVN

http://tortoisesvn.net/