Ir al contenido

Inicio rápido con STM32

Esta es la contraparte embebida del Inicio rápido: un ejemplo completo y resuelto que lleva un proyecto embebido nuevo a un STM32 .ioc generado (el archivo de proyecto de CubeMX) confirmado en tu repositorio. Utiliza la superficie de planificación de pines de Subaya (suya arch), respaldada por un motor de CubeMX sin interfaz gráfica en la nube.

No necesitas tener CubeMX instalado localmente: la validación autoritativa y la generación de código se ejecutan en el backend de Subaya.

Terminal window
suya project create --name blinky --workspace <workspace-id> --type embedded
suya repo create --installation <installation-id> # back it with Git

Un plan de pines captura el MCU/placa, las asignaciones de pines, las configuraciones de periféricos y la intención del árbol de relojes. Inícialo desde una placa de desarrollo (el contrato de la placa te da los pines del LED, el botón y el puerto COM virtual sin esfuerzo) o desde una pieza MCU básica:

Terminal window
# From a supported dev board
suya arch pin-plan create --board NUCLEO-L433RC-P
# …or from a bare MCU part
suya arch pin-plan create --mcu STM32F407VGTx

Enumera e inspecciona los planes:

Terminal window
suya arch pin-plan list
suya arch pin-plan show --plan <plan-id>
Terminal window
# Pin a signal to a physical pin
suya arch pin set --plan <plan-id> --pin PA5 --signal GPIO_Output --label LED
# Configure a peripheral (mode + params)
suya arch peripheral configure --plan <plan-id> --peripheral USART2 --mode Asynchronous
# Express clock-tree intent
suya arch clock set --plan <plan-id> ...
# Every assignment has an inverse — use it when a pin moves or was mistyped
suya arch pin rm --plan <plan-id> --pin PA5
suya arch peripheral rm --plan <plan-id> --peripheral USART2
suya arch clock rm --plan <plan-id> --node SYSCLK
suya arch pin-plan rm --plan <plan-id> # delete the whole plan
Terminal window
suya arch validate --plan <plan-id>

Esto ejecuta una validación estructural; el motor de CubeMX sin interfaz gráfica en el backend es la comprobación autoritativa.

Terminal window
suya arch generate --plan <plan-id> --wait # run headless CubeMX, print the resolved .ioc
suya arch generate-status --run <run-id> # poll a run started without --wait
suya arch ioc commit # generate + commit the .ioc to the connected repo

Sin --wait, generate encola la ejecución y devuelve un id de run para consultar con generate-status. Comprueba status antes de fiarte del resultado: resolved significa que el motor headless de CubeMX se ejecutó de verdad; unresolved significa que no — el .ioc es tu intención, no un artefacto validado por el motor — y reason explica por qué, casi siempre que aún no hay una imagen de CubeMX compilada para esa familia de MCU.

El .ioc aterriza en tu repositorio de GitHub, listo para abrirse en STM32CubeMX o impulsar más generación de código.

Renderiza el plan en un documento de revisión y pásalo por una revisión como cualquier otro artefacto de diseño:

Terminal window
suya arch pin-plan review-doc --plan <plan-id>
suya review create <document-id>