
Flipper Zero 펌웨어 소스 코드
우리의 주요 목표는 Flipper를 중심으로 건강하고 지속 가능한 커뮤니티를 구축하는 것이므로, 새로운 아이디어와 기여를 환영합니다. 또한 여기에는 몇 가지 규칙과 금기 사항이 있으므로 이 페이지와 행동 강령을 주의 깊게 읽어 주시기 바랍니다.
답변을 찾을 수 있는 가장 좋은 곳은 사용자 문서입니다. 거기서 답을 찾지 못한 경우 Discord 서버를 확인해 보세요. 펌웨어 개발에 기여하거나 자신의 필요에 맞게 수정하려면 개발자 문서도 확인할 수 있습니다.
문제를 발견하여 보고하려면 Issues 페이지를 확인해 주세요. 설명에 사용 중인 펌웨어 버전, 플랫폼, 문제를 재현하는 단계에 대한 명확한 설명이 포함되어 있는지 확인하세요.
기능 요청이 있거나 기존 요청에 투표하려면 Discussions를 사용하고 토론 지침을 따라 주세요.
PR을 열기 전에 변경 사항이 펌웨어에 포함되어야 하는지 확인해 주세요. 많은 아이디어는 외부 애플리케이션으로 쉽게 구현하여 Flipper 애플리케이션 카탈로그에 게시할 수 있습니다. 확실하지 않은 경우 Discord 서버나 Issues 페이지로 문의해 주세요. 여러분의 코드가 들어갈 적절한 위치를 찾는 데 도움을 드리겠습니다.
또한 기여 가이드와 코딩 스타일을 읽고, 코드가 프로젝트 라이선스와 호환되는지 확인해 주세요.
마지막으로 Pull Request를 열고 CI/CD 상태가 모두 통과인지 확인하세요.
Flipper Zero 펌웨어는 C로 작성되었으며, 일부 부분은 C++ 및 armv7m 어셈블리 언어로 작성되었습니다. 편안한 프로그래밍을 위해 중급 수준의 C 지식이 권장됩니다. Flipper 애플리케이션은 C, C++ 및 armv7m 어셈블리 언어를 지원합니다.
지원되는 개발 플랫폼:
지원되는 인서킷 디버거(선택 사항이지만 적극 권장):
Flipper 빌드 시스템이 다른 모든 종속성을 처리합니다.
충분한 공간이 있는지 확인하고 소스 코드를 클론하세요:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Flipper 빌드 도구를 사용하여 펌웨어를 빌드하세요:
./fbt
인서킷 디버거를 Flipper에 연결하고 Flipper 빌드 도구를 사용하여 펌웨어를 플래싱하세요:
./fbt flash
Flipper가 켜져 있고 펌웨어가 정상 작동하는지 확인하세요. USB 케이블로 Flipper를 연결하고 Flipper 빌드 도구를 사용하여 펌웨어를 플래싱하세요:
./fbt flash_usb
applications - 펌웨어에서 사용되는 애플리케이션 및 서비스applications_users - 추가 애플리케이션 및 서비스를 위한 공간assets - 애플리케이션 및 서비스에서 사용되는 에셋documentation - 문서 생성 시스템 구성 및 입력 파일furi - Furi Core: OS 수준 기본 요소 및 헬퍼lib - 자체 및 서드파티 라이브러리, 드라이버, 도구 등site_scons - 빌드 시스템 구성 및 모듈scripts - 보조 스크립트 및 다양한 Python 라이브러리targets - 펌웨어 타깃: 플랫폼별 코드또한 자세한 내용은 해당 디렉터리 안의 ReadMe.md 파일을 참조하세요.