Pero yo lo haría con un sólo proyecto nada más, que tuviese todos los archivos compartidos.
Puedes mantener un nucleo de funciones comunes convertidos en librería (ahora no tengo claro cómo hacerlo con el compilador del pic, pero todos los compiladores de c tienen la instrucción lib para eso).
Por último puede que te sea util manejar los proyectos con un sistema de control de revisiones. Yo estoy aprendiendo ahora Git y es una maravilla para gestionar versiones, modificaciones, proyectos en paralelo como el tuyo y muchas más funciones. Es un poco difícil al principio, pero merece la pena.
Un solo proyecto no puedo crear para dos PICs diferentes, ya que MPLAB y PICKIT necesitan saber que micro estas usando. Y no puedes seleccionar mas de 1 PIC (creo).
No encuentro nada de instruccion "lib" en CCS, ni se muy bien a que te refieres. Puedo incluir librerias con #include, te refieres a eso?Si. El include puede incluir una librería del compilador o una librería hecha por tí mismo.
Yo tambien estuve mirando unos cuantos videos sobre GIT, pero no consigo entender bien el funcionamiento ni la implementacion. Especialmente me parece engorroso que hay que hacerlo por linea de comandos... en serio!!?? en 2017 linea de comandos???!!!
He creado varias librerias bastante interesantes y me gustaria ponerlas en Github, para que las puedan usar otros, a la vez que mejorar y corregir si hace falta. Pero todavia no pude :(
Si el MPLAB no permite seleccionar más de un PIC entonces la mejor alternativa es usar Make, es mucho más flexible
Por otro lado, con git puedes trabajar con submódulos.
https://github.com/blog/2104-working-with-submodules
Además no necesariamente tienes que hacer todo por línea de comandos, también existen GUIs para usar GIT, y, aunque no creas, todavía en 2017 se sigue usando la línea de comandos ya que para ciertas actividades es mucho más eficiente.
Cada vez que cambias de micro en el proyecto, el código lo detecta y cambia, como tu ejemplo de antes.
Si. El include puede incluir una librería del compilador o una librería hecha por tí mismo.
https://gustavovelascoh.wordpress.com/2015/07/28/creating-a-c-library-in-ccs-code-composer-studio/
Yo utilizo Git Extensions para Windows. Hay muchos más GUIs que facilitan la tarea. No es fácil, pero hay mucha documentación y aquí te pueden ayudar. En un par de días aprendes lo básico.
Lo más importante es entender todos los estados de los ficheros (el flujo de trabajo) y las palabras clave de las acciones que se pueden hacer (commit, branch, etc).
En cuanto a la línea de comandos, es programación. Es lo que tú mismo haces con el pic. ¿Te imagínas programar el pic a base de ratón? (sigo echando en falta el emoticono de ahorcarse)
En el siguiente enlace puedes encontrar lo que buscas: MPLAB X IDE User's Guide - Microchip
http://ww1.microchip.com/downloads/en/DeviceDoc/50002027C.pdf (http://ww1.microchip.com/downloads/en/DeviceDoc/50002027C.pdf)
Sección:
6.4 WORK WITH MULTIPLE CONFIGURATIONS
(para trabajar con distintos pics y configuraciones)
5.19 CONTROL SOURCE CODE
(para trabajar con repositorios y hacer control de versiones).
Con respecto a la linea de comandos, estoy de acuerdo que es mas eficiente para ciertas cosas, pero me refiero a GIT en particular. No habra una manera mas "user friendly" de hacerlo? Dropbox te permite mantener un historial de revisiones de un archivo, y lo hace de manera automatica y transparente. Se que con Git no es exactamente lo mismo, pero estoy seguro que tiene que haber algo mas facil...
MPLAB X IDE User's Guide - Microchip
http://ww1.microchip.com/downloads/en/DeviceDoc/50002027C.pdf (http://ww1.microchip.com/downloads/en/DeviceDoc/50002027C.pdf)
Sección:
6.4 WORK WITH MULTIPLE CONFIGURATIONS
(para trabajar con distintos pics y configuraciones)
El metetodo de varios proyectos en uno, de la manera "nativa" de MPLAB me sirve para lo que quiero hacer.Precisamente, las configuraciones en MPLAB X son para ese tipo de cuestiones, puedes revisar por ejemplo las Microchip Libraries for Applications (MLA): http://www.microchip.com/mplab/microchip-libraries-for-applications
Pero como digo, GIT creo que es imprescindible que lo termine de aprender. Solo me falta tiempo, pero tarde o temprando lo dominare.Git es para otra cosa, es un sistema de control de versiones, permite administrar de manera eficiente y confiable los cambios a todos los archivos del proyecto, te permite identificar fácilmente "puntos" en la historia de las modificaciones (versiones), probar cosas nuevas o modificaciones que no estás seguro en un principio de que serán definitivas (branches), comparar y revisar los cambios hechos, además de permitir mucha mayor flexibilidad cuando se trata de trabajar en equipo. Y si, muy recomendable aprender a usarlo (o cualquier otro software de control de versiones).