콘텐츠로 이동

개발 개요

개발 섹션에서는 동작하는 SF32 보드에서 유지보수 가능한 제품 펌웨어를 만드는 과정을 다룹니다. 첫 hello_world 실행에 성공한 뒤 보드 구성을 선택하고, 빌드와 플래싱을 재현 가능하게 수행하고, 가장 가까운 예제를 적용하고, 제품 기능을 통합하고, 오류를 진단하고, 업데이트와 복구를 계획할 때 활용하십시오.

첫 보드 실행은 시작하기를, 디바이스와 개발 보드 선택은 SF32 제품을, 회로도와 양산 하드웨어는 하드웨어를, 아키텍처 배경은 학습을 참조하십시오. 엔지니어링 워크플로와 작업별 구현 지침이 필요할 때 이 섹션을 활용하십시오.

SiFli-Solution

SiFli-Solution은 별도의 SiFli 소프트웨어 패키지이며 μForge.io는 현재 이를 문서화하지 않습니다. 여기서의 안내는 SiFli-SDK와 아래에 나열한 커뮤니티 경로로 한정됩니다. 제품에 더 완성도 높은 디스플레이 솔루션이 필요하다면 공식 SiFli Solution 문서를 참조하고 SiFli와 직접 협의하십시오. 이 경로를 사용하는 복잡한 제품에는 SiFli의 직접적인 심층 지원이 필요할 수 있습니다.

SiFli-SDK 기준 구성 확립

SiFli-SDK는 RT-Thread 기반의 SiFli 공식 소프트웨어 패키지이자 SF32 펌웨어의 레퍼런스 개발 경로입니다. 다른 생태계를 평가해야 할 분명한 이유가 없다면 여기서 시작하십시오. 보드 지원, Bluetooth, 그래픽, 오디오, 스토리지, 전원 관리, 양산 작업을 폭넓게 다루는 문서화된 기준 구성입니다.

제품 기능을 만들기 전에, 재현 가능한 기준 구성 하나를 확립하고 기록하십시오.

  1. 보드 설정에서 정확한 SDK 보드 구성을 선택합니다.
  2. 빌드, 플래시, 모니터에 설명된 흐름을 성공적으로 실행합니다.
  3. SDK 릴리스 또는 커밋, 보드 이름, 빌드 명령, 플래시 명령, 시리얼 설정, 부팅 로그를 저장합니다.
  4. 가장 가까운 예제에서 시작합니다. 특히 제품에서 가장 어려운 서브시스템을 이미 다루는 예제가 좋습니다.

이렇게 만들어진 기록은 이후의 애플리케이션 변경, 보드 포팅, 테스트 실패, 현장 복구의 기준점이 됩니다.

작업별 안내 찾기

표: SF32 개발 작업
작업 시작 위치 이어서 사용할 문서
펌웨어 빌드 및 플래시, 시리얼 출력 확인 빌드, 플래시, 모니터 스크립트 기반 플래싱, 트레이스, 크래시 유틸리티는 도구.
펌웨어를 개발 보드, 모듈 또는 맞춤형 하드웨어에 맞추기 보드 설정 관련 하드웨어 가이드와 가장 가까운 보드별 예제.
프로젝트 간에 드라이버나 미들웨어 계층 재사용 컴포넌트와 sf_pkg 최소 예제와 문서화된 구성 경계.
구체적인 주변 장치 또는 서브시스템 구현 SDK 애플리케이션 노트 정확한 API, 구성 심볼, 명령은 연결된 공식 SDK 사용 가이드.
이미 동작하는 코드에서 제품 작업 시작 예제 일치하는 보드 구성을 사용하고, 변경할 때마다 테스트합니다.
오류 진단 또는 제품 근거 수집 디버깅 및 진단 로깅 및 크래시 분석.
부트 레이아웃, 스토리지, 업데이트, USB 또는 전원 동작 변경 펌웨어 주제 코드를 변경하기 전에 관련 파티션, 업데이트, USB, 전원 또는 로깅 주제.

SiFli-SDK 애플리케이션 노트

애플리케이션 노트 모음은 SDK 카탈로그 순서가 아니라 통합 작업별로 구성되어 있습니다. 당면한 서브시스템부터 시작하십시오. 구성이나 명령을 적용하기 전에 명시된 칩 제품군 범위, 보드 구성, SDK 릴리스, 하드웨어 전제 조건을 확인하십시오.

표: SiFli-SDK 애플리케이션 노트 경로
엔지니어링 영역 애플리케이션 노트 시작점
아날로그와 센서 GPADC로 샘플링 · 센서 통합 및 읽기
스토리지와 그래픽 에셋 외부 플래시 사용 · EZIP으로 그래픽 에셋 압축
신뢰성, 전원, 디버깅 워치독 설정 · 저전력 구성 및 측정 · 로그 캡처와 크래시 분석
RF 및 Bluetooth 검증 SiFli-SDK RF 테스트 실행 · Bluetooth 시그널링 테스트 실행 · Bluetooth 개별 RF 테스트 실행
표: 개발 섹션 맵
영역 목적
SiFli-SDK 지원되는 레퍼런스 워크플로(구성, 빌드, 플래싱, 재사용 가능한 컴포넌트, 진단)를 확립합니다.
SDK 애플리케이션 노트 ADC, 센서, 외부 플래시, 저전력, 진단, RF, Bluetooth 테스트 같은 특정 작업에 SDK를 적용합니다.
예제 정확한 보드와 제품에서 가장 어려운 서브시스템에 맞는 동작 구현을 선택하고 적용합니다.
도구 워크플로에 맞는 플래싱, 모니터, 트레이스, 크래시, 에셋, 양산 도구를 선택합니다.
펌웨어 주제 파티션, OTA/DFU, USB, 전원 관리, 진단 근거에 관한 여러 영역에 걸친 제품 결정을 내립니다.
실험적 / 커뮤니티 각 페이지에 명시된 범위와 성숙도 한계를 고려하여 Zephyr, Arduino, MicroPython 또는 Rust를 평가합니다.

커뮤니티 경로는 신중하게 평가하기

실험적 / 커뮤니티 그룹은 레퍼런스 SDK 경로를 벗어나 작업해야 할 이유가 있는 팀을 위한 것입니다. 동등한 양산 지원을 의미하지는 않습니다.

표: 커뮤니티 경로 적합성
경로 고려할 때 간주할 대상
Zephyr Zephyr API, devicetree, Kconfig 또는 다운스트림 보드 작업이 필요한 경우. 다운스트림의 보드별 평가 경로.
Arduino 지원되는 보드에서 스케치나 빠른 주변 장치 프로토타입이 필요한 경우. 베타 단계의 보드 한정 경로.
MicroPython 향후의 스크립팅 지원을 평가하는 경우. 재현 가능한 공개 포트가 생길 때까지는 상태 페이지.
Rust HAL/PAC 작업을 평가하고 업스트림에 수정 사항을 기여할 수 있는 경우. 커뮤니티가 개발 중인 경로.

제품을 이러한 경로 중 하나에 확정하기 전에, 필요한 모든 주변 장치, 플래시 레이아웃, 디버그 방법, 복구 절차를 정확한 보드에서 검증하십시오. 테스트한 리비전, 구성, 명령, 결과는 제품 소스와 함께 보관하십시오.

제품화 준비가 된 개발 근거

펌웨어 경로를 제품화 준비가 된 것으로 간주하기 전에, 다음 질문에 답할 수 있는지 확인하십시오.

  • 어떤 칩, 보드 또는 맞춤형 하드웨어 리비전, 구성을 테스트했습니까?
  • 어떤 SDK, 패키지, 브랜치 또는 커밋으로 펌웨어를 만들었습니까?
  • 어떤 빌드, 플래시, 모니터링, 전체 복구 명령이 동작합니까?
  • 필요한 각 주변 장치와 제품 서브시스템을 어떤 예제나 테스트가 입증합니까?
  • 어떤 파티션 레이아웃, 업데이트 동작, 전력 목표, 크래시 디코딩 경로를 검증했습니까?

답이 없는 항목이 있다면 그 작업은 유용한 프로토타입일 수는 있지만, 아직 반복 가능한 제품 기준 구성은 아닙니다.

최종 업데이트: