Closed Karosuo closed 1 year ago
Guia para agregar un nuevo framework a PlatformIO https://community.platformio.org/t/adding-a-new-framework-to-platformio/297/2
Hasta ahora parece que el instrumento
de framework
para PlatformIO está bastante asociado a la plataforma donde va a ser usado, al menos en la documentación.
Pero, su independencia viene de que es tratado como un package
y administrado por el gestor de dependencias de PlatformIO.
Por lo tanto agrego dos referencias a
Continuando con el comentario anterior
Para tener un framework custom disponible en el PlatformIO registry (el lugar donde se suben y administran los packages
para que sean públicamente accesibles através de PlatformIO, relacionado con #20 ), es necesario crear un package
.
Sin embargo, hay 2 maneras de usarlo.
lib_deps
en platformio.json
, que significaria incluirlo manualmente en cada proyecto.platform
custom que ayude a pre instalarlo (y otras dependencias) cada que se seleccione dicho platform
en un proyecto nuevo, a través de una board
(lo cual significa que también necesita una board custom)Nota: Es importante saber el platform
y la board
custom que se mencionan arriba, pueden ser copy/paste de uno existente, por ejemplo atmelmegaavr
y AVR128DA48.json
respectivamente, solo cambiando las configuraciones pertinentes para que incluyan el nuevo framework
Qué pasa si queremos agregar un toolchain custom?, bueno, es bastante confuso pero parece que es configuración entre el framework
el platform
y los package
s que correspondan.
https://community.platformio.org/t/distributing-custom-toolchain-platform/24534/2
Aún no llego a esa parte, así que faltan preguntas por resolver.
Al parecer me brinqué una documentación importante para entender la configuración de contextos de PlatformIO
https://docs.platformio.org/en/latest/scripting/construction_environments.html#scripting-envs
También sugieren la documentación de advanced scripting
, pero no creo que sea estrictamente necesario para esta parte aún (aunque quizá me equivoque porque para crear los scripts de build para el platform
custom, probablemente sí se vaya a requerir)
También es importante mencionar que parece que Platformio ya tiene una forma de cómo organizar packages que son dependientes de código de HAL https://docs.platformio.org/en/latest/manifests/library-json/fields/build/extrascript.html
EDIT
Esta forma indica la manera de agregar un código HAL que viviría en el arbol de directorios del proyecto, según me parece, no está usando un package externo, no lo está incluyendo en platformio.ini, ni en lib_deps
?
Hasta ahora, parece que para lograr dicho objetivo es necesario cumplir con lo siguientes elementos:
Nota: Es posible que por ende, otros issues que originalmente estaban separados, se vean resueltos implicitamente, hay que tener precaución de hacer la nota y la referencia en ellos de que fueron cubiertos por este