콘텐츠로 이동

STM32 시작하기

이것은 빠른 시작의 임베디드 짝입니다: 새 embedded 프로젝트에서 출발하여 저장소에 커밋된 생성된 STM32 .ioc(CubeMX 프로젝트 파일)까지 진행하는 완전한 실습 예제입니다. 클라우드의 헤드리스 CubeMX 엔진으로 뒷받침되는 Subaya의 핀 계획 영역(suya arch)을 사용합니다.

로컬에 CubeMX를 설치할 필요가 없습니다 — 권위 있는 검증과 코드 생성은 Subaya의 백엔드에서 실행됩니다.

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

핀 계획은 MCU/보드, 핀 할당, 주변장치 설정, 그리고 클록 트리 의도를 담습니다. 개발 보드에서 시작하거나(보드 계약이 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>

3. 핀 할당 및 주변장치 설정하기

섹션 제목: “3. 핀 할당 및 주변장치 설정하기”
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>

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

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에서 열거나 추가 코드 생성을 구동할 준비가 됩니다.

계획을 검토 문서로 렌더링하고 다른 설계 아티팩트와 마찬가지로 검토를 거치게 하십시오:

Terminal window
suya arch pin-plan review-doc --plan <plan-id>
suya review create <document-id>
  • 도구 및 CubeMX — 클라우드 툴체인과 CubeMX가 어떻게 연결되는지.
  • CLI: arch — 전체 suya arch 레퍼런스.