Mejor una macro Python que realice las sustituciones:
data = re.sub("Definición1 de kinetis", "Definición1 de mi nuevo micro", data)
data = re.sub("Definición2 de kinetis", "Definición2 de mi nuevo micro", data)
Luego lo guardas con otro nombre. Así, si te equivocas es más sencillo cambiarlo.
Esta macro anterior se puede escribir más sencilla para grandes cantidades de datos:
definitions = [
['Definición1 de kinetis', 'Definición1 de mi nuevo micro SAM'],
['Definición2 de kinetis', 'Definición2 de mi nuevo micro SAM'],
]
for kinetis_def, sam_def in definitions:
data = re.sub(kinetis_def, sam_def, data)
Incluso las definiciones se pueden guardar fácilmente en un archivo YAML externo a la macro:
- - Definición1 de kinetis
- Definición1 de mi nuevo micro SAM
- - Definición2 de kinetis
- Definición2 de mi nuevo micro SAM
Estoy pensando en hacer algo así, pero la idea sería buscar todas las definiciones de los ficheros
core_pins.h y
kinetis.h, en todos los fuentes de la aplicación, y que la macro guarde en otro fichero, por ejemplo
resultados.txt, una linea por expresión encontrada, que indique fichero fuente en el que ha encontrado la expresión y la expresión.
Los ficheros core_pins.h y kinetis.h, no los puedo usar directamente, porque las lineas tienen comentarios. Crearía un fichero a mano metiendo las expresiones que tiene que buscar, que serían practicamente las de esos dos archivos, pero sin los comentarios, y en el caso de las definiciones de multiplexado, les tendría que quitar el "x" que luego en el fuente se reemplaza por un número.
¿ Es muy complicado hacer esto ?, no tengo ni idea de Python.
Otra opción que barajo es instalarme el entorno para ejecutar PHP en el ordenador, y crearme el programita en este lenguaje. Con PHP si que tengo mucha experiencia, por haberlo usado durante años para hacer páginas web.
Y una tercera opción sería hacerlo en C, con Visual Studio, creando una aplicación de consola, o a pelo escribiendo el fuente en cualquier editor de texto que identifique C, como Geany, y compilando a mano con Mingw para hacer una aplicación de consola para el PC.
Entiendo una cosa, ambos micros son ARM, aunque uno es Cortex M4 y el otro Cortex M7. El compilador es siempre el mismo, GCC, luego el código fuente del programa sería exactamente el mismo, solo habría que cambiar las direcciones de memoria a las que apuntan las expresiones en el fichero kinetis.h, para que apunten a las direcciones de memoria del SAM S70 que aparecen en su Datasheet.
Tendría que cambiar la parametrización de la llamada al compilador para indicarle que es un Cortex M7, y reemplazar el Linker Script para que el enlazador sepa tamaño y ubicación de la Flash y la Ram, aparte de otras cosas que se indican en el Linker Script.
Y finalmente tendría que cambiar la parte del fuente en el que se indica la velocidad del oscilador de reloj del micro, que pasaría de 180Mhz a 300Mhz. Creo que no hay nada más, salvo que de M4 a M7 hayan diferencias importantes que desconozco a la hora de hacer el fuente en C.
Tema Interrupciones, DMA, SPI y USB es lo que tendría que revisar en profundidad, por si en el SAM S70 se tratan de otra forma.