Toolchains na nuvem e CubeMX
As ferramentas que normalmente precisam de uma workstation potente e de um emaranhado de licenças rodam no backend da Subaya. Você as controla pela CLI e paga apenas pelos segundos de computação que usa.
Ferramentas hospedadas na nuvem
Seção intitulada “Ferramentas hospedadas na nuvem”Ferramentas pesadas rodam no backend da Subaya, não no seu notebook:
- Quartus — síntese FPGA Intel/Altera.
- RyuSim — o simulador SystemVerilog da Subaya.
- Renode — emulação de sistemas embarcados.
- BitCrucible — ponte de validação de hardware.
- CubeMX headless — o mecanismo autoritativo de validação e geração de código por trás da superfície de planejamento de pinos embarcado da Subaya.
Você nunca instala isso localmente — o backend é o ambiente autoritativo. Veja Faturamento e uso para saber como funciona a computação medida.
Planejamento de pinos embarcado com suya arch
Seção intitulada “Planejamento de pinos embarcado com suya arch”Para projetos embarcados (ex.: STM32), a Subaya expõe uma superfície de planejamento de pinos apoiada
pelo mecanismo CubeMX headless. Um pin-plan captura o MCU/placa, as atribuições de
pinos, as configurações de periféricos e a intenção da árvore de clock, e gera um arquivo de projeto
.ioc do CubeMX.
Para um exemplo completo passo a passo, veja Primeiros passos com STM32.
Crie um pin-plan
Seção intitulada “Crie um pin-plan”Inicie um plano a partir de uma placa de desenvolvimento suportada (o contrato da placa dá a você os pinos de LED, botão e porta COM virtual de graça) ou a partir de uma peça de MCU isolada:
# From a supported dev boardsuya arch pin-plan create --board NUCLEO-L433RC-P
# …or from a bare MCU partsuya arch pin-plan create --mcu STM32F407VGTxListe e inspecione planos:
suya arch pin-plan listsuya arch pin-plan show --plan <plan-id>Defina pinos
Seção intitulada “Defina pinos”Atribua um sinal a um pino físico:
suya arch pin set --plan <plan-id> --pin PA5 --signal GPIO_Output --label LEDConfigure periféricos
Seção intitulada “Configure periféricos”Defina o modo e os parâmetros de um periférico:
suya arch peripheral configure --plan <plan-id> --peripheral USART2 --mode AsynchronousDefina a intenção de clock
Seção intitulada “Defina a intenção de clock”Expresse a intenção dos nós da árvore de clock:
suya arch clock set --plan <plan-id> ...Remover intenção
Seção intitulada “Remover intenção”Toda atribuição tem sua inversa, para quando um pino muda de lugar ou foi digitado errado:
suya arch pin rm --plan <plan-id> --pin PA5suya arch peripheral rm --plan <plan-id> --peripheral USART2suya arch clock rm --plan <plan-id> --node SYSCLKsuya arch pin-plan rm --plan <plan-id> # delete the whole planExecute uma validação estrutural. O mecanismo CubeMX headless no backend é a verificação autoritativa:
suya arch validate --plan <plan-id>Gere e faça commit do .ioc
Seção intitulada “Gere e faça commit do .ioc”Gere o .ioc a partir do plano e depois faça commit dele no repositório conectado:
suya arch generate --plan <plan-id> --wait # run headless CubeMX, print the resolved .iocsuya arch generate-status --run <run-id> # poll a run started without --waitsuya arch ioc commit # generate + commit the .ioc to the connected repoSem --wait, o generate enfileira a execução e devolve um id de run para
consultar com generate-status. Verifique o status antes de confiar no resultado:
resolved significa que o motor headless do CubeMX realmente rodou; unresolved
significa que não — o .ioc é a sua intenção, não um artefato validado pelo
motor — e reason diz o porquê, quase sempre que ainda não há imagem do CubeMX
compilada para essa família de MCU.
O .ioc chega ao seu repositório no GitHub, pronto para abrir no STM32CubeMX ou para conduzir
mais geração de código.
Próximos passos
Seção intitulada “Próximos passos”- Primeiros passos com STM32 — o exemplo completo passo a passo.
- CLI: arch — a referência completa de
suya arch.