콘텐츠로 이동

클라우드 툴체인 및 CubeMX

보통 강력한 워크스테이션과 복잡하게 얽힌 라이선스를 필요로 하는 도구들이 대신 Subaya의 백엔드에서 실행됩니다. CLI를 통해 이를 구동하며, 사용한 컴퓨트 초 단위에 대해서만 비용을 지불합니다.

무거운 도구는 노트북이 아니라 Subaya의 백엔드에서 실행됩니다.

  • Quartus — Intel/Altera FPGA 합성.
  • RyuSim — Subaya의 SystemVerilog 시뮬레이터.
  • Renode — 임베디드 시스템 에뮬레이션.
  • BitCrucible — 하드웨어 검증 브리지.
  • headless CubeMX — Subaya의 임베디드 핀 플래닝 표면 뒤에 있는 권위 있는 검증 및 코드 생성 엔진.

이것들을 로컬에 설치하지 않습니다 — 백엔드가 권위 있는 환경입니다. 미터링된 컴퓨트가 작동하는 방식은 Billing & usage를 참조하십시오.

임베디드(예: STM32) 프로젝트의 경우, Subaya는 headless CubeMX 엔진으로 뒷받침되는 핀 플래닝 표면을 노출합니다. 핀 플랜은 MCU/보드, 핀 할당, 주변장치 구성, 클록 트리 의도를 담아내며, CubeMX .ioc 프로젝트 파일을 생성합니다.

전체 작업 예시는 STM32 getting started를 참조하십시오.

지원되는 개발 보드(보드 계약이 LED, 버튼, 가상 COM 포트 핀을 무료로 제공)에서 또는 순수 MCU 부품에서 플랜을 시작합니다.

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

플랜을 나열하고 검사합니다.

Terminal window
suya arch pin-plan list
suya arch pin-plan show --plan <plan-id>

신호를 물리적 핀에 할당합니다.

Terminal window
suya arch pin set --plan <plan-id> --pin PA5 --signal GPIO_Output --label LED

주변장치의 모드와 파라미터를 설정합니다.

Terminal window
suya arch peripheral configure --plan <plan-id> --peripheral USART2 --mode Asynchronous

클록 트리 노드 의도를 표현합니다.

Terminal window
suya arch clock set --plan <plan-id> ...

모든 할당에는 역연산이 있습니다. 핀을 옮기거나 잘못 입력했을 때 사용하세요:

Terminal window
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

구조적 검증을 실행합니다. 백엔드의 headless CubeMX 엔진이 권위 있는 검사입니다.

Terminal window
suya arch validate --plan <plan-id>

플랜에서 .ioc를 생성한 다음, 연결된 레포에 커밋합니다.

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

--wait 없이 실행하면 generate는 작업을 큐에 넣고 generate-status로 폴링할 run id를 반환합니다. 결과를 신뢰하기 전에 status를 확인하세요. resolved는 헤드리스 CubeMX 엔진이 실제로 실행되었다는 뜻이고, unresolved는 실행되지 않았다는 뜻입니다 — 이때 .ioc는 엔진이 검증한 산출물이 아니라 의도입니다 — 그리고 reason이 이유를 알려줍니다. 대개 해당 MCU 제품군용 CubeMX 이미지가 아직 빌드되지 않은 경우입니다.

.ioc는 GitHub 레포에 안착하며, STM32CubeMX에서 열거나 추가적인 코드 생성을 구동할 준비가 됩니다.