FlipperZero 앱 개발 - 환경설정

biluv·2023년 12월 30일
1

FlipperZeroAppDev

목록 보기
1/6

서론

Flipper Zero is a portable multi-tool for pentesters and geeks in a toy-like body.

플리퍼 제로는 ARM 기반의 휴대용 멀티툴로, NFC, RFID, Sub-GHz, BLE, IR, iButton, GPIO 등 다양한 기능을 탑재하고 있습니다. 게다가 아름다운 디자인이 함께..!

사실 디자인만 보고 예뻐서 샀다가 쓸데가 없어서 방 어딘가에서 굴러다니길래 마침 시간이 좀 나서 앱 개발을 해보게 되었습니다.

uFBT 설치

uFBT is a cross-platform tool for building applications for Flipper Zero.

https://github.com/flipperdevices/flipperzero-ufbt

uFBT는 플리퍼제로 앱 개발을 위한 도구로, 빌드, 실행, SDK 관리 등의 기능을 제공해줍니다.

위 깃헙의 있는 내용에 따라 uFBT를 설치해주면 됩니다.

sdk 설치

ufbt update --channel=dev

ufbt를 정상적으로 설치했다면 위의 명령어를 통해서 sdk를 간편하게 설치할 수 있습니다. furi_assert, heap trace(본 글에서는 사용하지 않음)를 이용하기 위해서는 dev 채널의 sdk를 설치해야 합니다.

펌웨어와 sdk는 같아야 하니 qFlipper를 통해 플리퍼 제로도 dev 채널의 펌웨어를 설치해야 합니다.

프로젝트 생성

프로젝트 폴더를 생성하고 아래 명령어를 실행하면 프로젝트를 생성할 수 있습니다.

ufbt create APPID=my_first_app

주의!!
현재 작업 디렉토리에 바로 파일들이 생성됩니다.
APPID는 알파벳, 숫자, _만 이용하는 것을 권장합니다.

VSC 연동

먼저 vsc에 c/c++ 익스텐션 설치가 되어있지 않았다면 설치를 해야 합니다.
그리고 아래 명령어를 통해 vsc에 플리퍼제로 sdk 헤더 파일을 읽을 수 있게 해줍니다.

ufbt vscode_dist

마지막으로 아래 명령어를 통해 자동완성에 필요한 일부 파일을 생성해줍니다.

ufbt

빌드

ufbt

VSC 연동 과정에서 썼던 명령어는 사실 빌드 명령어였습니다 (?!)
compile_commands.json을 빌드 과정에서 생성해서 연동에서 써줬던..

아무튼 빌드를 하려면 위의 명령어를 입력해주면 됩니다.

실행

ufbt launch

위의 명령어를 실행하면 빌드 & 업로드 & 실행을 한 번에 할 수 있습니다.

로그 보기

실행을 해도 반응이 없다구요? 아직 기본 코드라서 로그만 출력되고 GUI나 다른 기능이 없습니다.

로그를 보려면 ufbt cli를 통해 플리퍼 제로의 터미널을 열고 log를 입력해주면 됩니다.

log 창을 띄운 상태에서 플리퍼제로에 Apps -> examples -> (앱)을 실행해봅시다.

아주 잘 뜨는걸 볼 수 있습니다!

참조

https://instantiator.dev/post/flipper-zero-app-tutorial-01

0개의 댓글