Autor Tema: Portar proyecto de Arduino a Eclipse.  (Leído 5779 veces)

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

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Portar proyecto de Arduino a Eclipse.
« Respuesta #30 en: 21 de Mayo de 2017, 09:45:45 »
Es más sencillo de lo que parece.

Todos los archivos necesarios están en el directorio:
C:\ARDUINO\hardware\teensy\avr\cores\teensy3\

Dentro de ese directorio, el archivo principal es main.cpp
Es el que contiene la función main() y la aplicación de usuario.

Las librerías de Arduino hay que añadirlas como otra librería cualquiera. Simplemente la incluyes en la ruta de compilación (-I) y la enlazas en tu aplicación main.cpp añadiendo los ficheros de cabecera correspondientes. No hay que hacer nada más.

El archivo C:\ARDUINO\hardware\teensy\avr\boards.txt es para que el IDE de Arduino tenga las diferentes opciones de compilación. A tí no te hace falta. Con poner tus opciones de compilación en tu proyecto de Atmel Studio es suficiente.

Modificar kinetis.h y core_pins.h es más complicado. Hay que definir todas las direcciones y números de cada puerto, interrupción, etc.
Puedes partir del Arduino Due que tiene un Atmel Cortex-M3, probablemente más parecido al tuyo que el Teensy.

Las librerías de Teensy serán genéricas, pero tendrán necesariamente alguna configuración dependiente del nucleo. Esa configuración suele venir precedida del nombre del nucleo:
#if defined(__MK64FX512__) || defined(__MK66FX1M0__)

Tienes que añadir ahí tu nuevo núcleo con su código personalizado.

Saludos.
« Última modificación: 21 de Mayo de 2017, 09:48:56 por Picuino »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Portar proyecto de Arduino a Eclipse.
« Respuesta #31 en: 21 de Mayo de 2017, 10:24:42 »
Cita de: Picuino link=topic=47613.msg397774#msg397774
Modificar kinetis.h y core_pins.h es más complicado. Hay que definir todas las direcciones y números de cada puerto, interrupción, etc.
Puedes partir del Arduino Due que tiene un Atmel Cortex-M3, probablemente más parecido al tuyo que el Teensy.

Solo ahí está la complicación, core_pins.h tiene 2000 lineas, y kinetis.h nada menos que 5700 lineas.

Ya vi e instale el SAM Due, y la forma de definir el core no se parece en nada. Lo tengo que estudiar con tranquilidad, porque no parece que haya un patrón definido para crear los cores que enganchen el micro a Arduino.


Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Portar proyecto de Arduino a Eclipse.
« Respuesta #32 en: 21 de Mayo de 2017, 11:09:15 »
Lo que cuenta es que todos los fuentes de la carpeta C:\ARDUINO\hardware\teensy\avr\cores\teensy3\ sean consecuentes entre sí y que respondan a las constantes del sistema (por ejemplo A0 para la primera entrada analógica)
En este caso, si quieres aprovechar librerías Teensy, deberías mantener el mayor parecido posible con el código Teensy.

Si quieres te ayudo a convertir la documentación PDF en código C con una macro Python.

Saludos.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Portar proyecto de Arduino a Eclipse.
« Respuesta #33 en: 21 de Mayo de 2017, 11:51:58 »
.

Eso es lo que trato de hacer, pero no parece que sean iguales en todos los cores, o faltan puertos. Además se definen otras cosas, algunos cores son super extensos, como el de Kinetis y otros todo lo contrario. Lo miraré con tranquilidad.

No entiendo lo de la documentación PDF a código C.


Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Portar proyecto de Arduino a Eclipse.
« Respuesta #35 en: 22 de Mayo de 2017, 02:53:17 »
.

¿ Que hay que hacer con el datasheet del S70 para generar código C que configure los registros ?, no entiendo muy bien la utilidad de tu macro.

Mirando en Arduino algunos cores, entiendo parte, pero no se si los nombres de los puertos son siempre los mismos, también aparecen otras cosas que no son asignar un nombre a una dirección de memoria. Me llama mucho la atención que en Teensy el fichero kinetis.h tenga 5700 lineas.

Está claro que meter cualquier micro en Arduino, pasa por crear el core, pero la falta de un patrón y documentación técnica para poder hacerlo, es lo que lo complica bastante. En mi caso conocer los detalles de un core, me puede permitir sacar el aplicativo de Arduino, que es lo que realmente quiero hacer, para trabajarlo de manera nativa con Atmel Studio.