SiFli-SDK¶
SiFli-SDK는 SF32 펌웨어 개발을 위한 SiFli 공식 SDK입니다. RT-Thread 기반 개발 환경을 제공하며, 지원되는 타깃에서는 No-OS 예제도 제공합니다. 또한 Bluetooth, 그래픽, 오디오, 전력 관리, 스토리지, 양산 워크플로 등의 영역에 대해 SiFli가 관리하는 보드 지원과 미들웨어를 포함합니다. 제공 여부는 칩, 보드, SDK 릴리스에 따라 다릅니다.
SiFli-Solution
SiFli-Solution은 별도의 SiFli 소프트웨어 패키지이며 이 페이지의 범위에 포함되지 않습니다. 이 페이지와 연결된 개발 관련 자료는 SiFli-SDK만 다룹니다. SiFli-Solution의 범위, 지원 디바이스, 이용 요건은 공식 SiFli Solution Documentation을 참조하고 SiFli에 직접 문의하십시오.
처음 설치하고 hello_world를 실행하려면 SiFli-SDK 시작하기 페이지를 참조하십시오. 이 페이지는 툴체인이 이미 동작하는 상태에서 SDK를 어떻게 이해하고 활용할지 설명합니다.
주요 참고 자료:
SiFli-SDK를 사용해야 하는 경우¶
다음이 필요하다면 SiFli-SDK를 선택하십시오.
- 대상 칩과 SDK 릴리스에 대해 SiFli가 관리하는 보드 지원과 예제를 갖춘, 문서화된 개발 경로.
- 선택한 타깃과 릴리스에서 지원되는 범위의 Bluetooth, 디스플레이, 오디오, 전력, 스토리지, USB, OTA용 예제와 미들웨어.
- RT-Thread 통합과 셸 툴링.
sf32lb52-lcd_n16r8과 같은 SDK 보드 이름을 통한 보드 수준 구성.- SiFli 고유의 미들웨어, 도구, 파티션 레이아웃, 양산 플로우 사용.
개발 모델¶
SiFli-SDK 시작하기 페이지에서 툴체인과 hello_world 기준 구성을 마련합니다. 이후에는 SDK 리비전, 선택한 보드, 예제/프로젝트 디렉터리, 구성, 해당 빌드 및 다운로드 산출물을 재현 가능한 빌드 기록과 함께 보관하십시오. 보드 이름에 코어 접미사가 없으면 HCPU 출력은 일반적으로 build_<board_name>_hcpu/ 형식입니다. 예를 들어 sf32lb52-lcd_n16r8을 지정하면 build_sf32lb52-lcd_n16r8_hcpu/가 생성됩니다. 디렉터리 이름을 직접 조합하지 말고 실제 빌드에서 선택된 보드와 코어에 대해 생성된 디렉터리를 사용하십시오.
재현 가능한 개발을 위해 SDK 브랜치를 고정하고 보드 이름을 기록하십시오. 로컬 보드 변경 사항은 벤더 파일과 분리해 관리하고, 구성 변경은 검토하기 쉬운 작은 단계로 진행하십시오. 빌드, 펌웨어 기록, 모니터링의 상세 절차는 빌드, 플래싱, 모니터링을 참조하십시오.
보드 이름¶
SiFli-SDK 보드 이름은 SDK 전용 명칭이며 Zephyr 보드 이름, Arduino FQBN, 제품 마케팅 이름과 다를 수 있습니다. 보드 이름은 SDK 지원 보드 목록이나 예제 문서에서 그대로 복사하십시오.
SF32LB52 DevKit LCD 보드에서 빠른 시작 예제가 사용하는 대표적인 SDK 보드 이름은 다음과 같습니다.
프로젝트 구조¶
대부분의 SDK 예제는 다음 패턴을 따릅니다.
예를 들면 다음과 같습니다.
제품 펌웨어를 빌드할 때는 요구 사항과 가장 비슷하고 동작이 확인된 SDK 예제에서 시작하십시오. 한 번에 하나의 서브시스템만 변경하면 보드 구성, 미들웨어 의존성, 파티션 관련 전제, 드라이버 설정을 추적하기 쉽습니다.
구성¶
예제 프로젝트에서 선택한 보드의 기능 구성을 변경하려면 SDK의 menuconfig 명령을 사용하십시오.
구성 화면에 들어가는 일반적인 이유는 다음과 같습니다.
- 미들웨어 활성화 또는 비활성화.
- Bluetooth 역할 또는 프로파일 변경.
- 디스플레이, 파일 시스템, 오디오 지원 조정.
- 전력 관리 튜닝.
- 로깅 또는 셸 설정 선택.
양산 준비 점검 질문¶
제품 브랜치에서 SiFli-SDK를 채택하기 전에 다음 질문에 답하십시오.
- 제품용으로 고정하는 SDK 릴리스 브랜치는 무엇입니까?
- 어떤 보드 지원 파일을 제품에서 관리하고, 어떤 파일을 벤더에서 관리합니까?
- 핵심 기능을 입증하는 예제는 무엇입니까?
- 양산과 OTA에 사용하는 파티션 테이블은 무엇입니까?
- 양산 공정의 플래싱에 승인된 도구는 무엇입니까?
- 릴리스 빌드에서 활성화하는 로그는 무엇입니까?
- 실험실용으로 보관하는 복구 이미지는 무엇입니까?
다음 단계¶
- 빌드, 플래싱, 모니터링
- 보드 설정
- 컴포넌트와
sf-pkg - 예제 — 서브시스템을 변경하기 전에 요구 사항과 가장 비슷하고 동작이 확인된 기준 구성을 선택하십시오.
- CodeKit — 필요할 때 VS Code 워크플로를 사용하되, SDK 보드 이름과 빌드 기록은 프로젝트의 나머지 부분과 일관되게 유지하십시오.
- SDK 애플리케이션 노트
- 파티션 테이블
- 디버깅 및 진단
최종 업데이트: