본문 바로가기

ESP32

PlatformIO란 무엇인가요?

반응형

 

 

개발자와 팀이 진정한 자유를 누릴 수 있는 곳! 더 이상 벤더에 종속되지 않습니다! 

 

PlatformIO는 임베디드 시스템 엔지니어와 임베디드 제품용 애플리케이션을 작성하는 소프트웨어 개발자를 위한 크로스 플랫폼, 크로스 아키텍처, 다중 프레임워크, 전문 도구입니다.

 

수상 내역

 

PlatformIO는 2015/16 IoT Awards에서 올해의 최고 소프트웨어 및 도구로 지명되었습니다.

 

Microsoft PlatformIO IDE 확장 기능 VSCode 편집기용 PlatformIO IDE는 전체 Microsoft Marketplace에서 2,500개 이상의 5성 리뷰를 받은 가장 많은 평가/리뷰를 받은 확장 기능입니다. 또한 전 세계 3,000,000명 이상의 고유한 개발자가 설치했습니다.

 

철학

 

임베디드 시장에서 PlatformIO의 고유한 철학은 개발자에게 크로스 플랫폼에서 작동하고 다양한 소프트웨어 개발 키트(SDK) 또는 프레임워크를 지원하며 정교한 디버깅(디버깅), 단위 테스트(단위 테스트), 자동화된 코드 분석(정적 코드 분석) 및 원격 관리(원격 개발)를 포함하는 최신 통합 개발 환경(클라우드 및 데스크톱 IDE)을 제공합니다. 개발자가 그래픽 또는 명령줄 편집기(PlatformIO Core(CLI)) 또는 둘 다를 사용할 수 있는 유연성과 선택권을 극대화하도록 설계되었습니다.

 

PlatformIO는 여러 특정 플랫폼에서 솔루션을 개발하는 전문 임베디드 시스템 엔지니어에게 꼭 필요한 도구입니다. 또한 분산 아키텍처를 통해 PlatformIO는 신규 및 기존 개발자에게 상용 제품을 개발하기 위한 빠른 통합 경로를 제공하고 전체 출시 시간을 단축합니다.

 

그리고 선호하는 최신 운영 체제(macOS, MS Windows, Linux, FreeBSD)에서 실행됩니다.

 

기술

 

PlatformIO는 최신 확장 가능하고 유연한 소프트웨어 기술을 임베디드 시장에 적용합니다. 이 분야는 전통적으로 숙련된 하드웨어 엔지니어가 시간이 지남에 따라(종종 고통스럽게) 배운 복잡한 소프트웨어 도구가 담당했습니다. 대신 PlatformIO를 사용하면 사용자는 취미인이든 전문가이든 될 수 있습니다. 사용자는 고전적인 Arduino "Blink" 스케치를 가져오거나 상용 제품을 위한 정교한 저수준 임베디드 C 프로그램을 개발할 수 있습니다. 지원되는 모든 프레임워크의 예제 코드를 몇 분 안에 컴파일하여 대상 플랫폼에 업로드할 수 있습니다.

 

빌드 시스템 구조는 소프트웨어 종속성을 자동으로 태그 지정하고 일반적인 복잡성과 고통을 없애는 모듈식 계층 구조를 사용하여 적용합니다. 개발자는 더 이상 특정 대상에 대한 애플리케이션을 개발하기 위해 툴체인, 컴파일러 및 라이브러리 종속성의 환경을 수동으로 찾아서 조립할 필요가 없습니다. PlatformIO를 사용하면 컴파일 버튼을 클릭하면 모든 필수 종속성이 자동으로 가져옵니다. 가구 디자이너이고 CAD 프로그램에 로봇이 모든 필수 부품과 패스너를 가져와 올바르게 조립하도록 하는 "빌드" 버튼이 있는 것과 유사합니다.

 

PlatformIO Core(CLI)는 개발자가 특정 SDK 또는 예제 임베디드 애플리케이션의 경계를 넘어갈 때 마주치는 소프트웨어 통합, 패키징 및 라이브러리 종속성의 일반적인 고통을 제거하는 고유한 처음부터 개발된 빌드 시스템입니다. 다양한 코드 개발 환경에서 사용할 수 있으며 수많은 클라우드 플랫폼 및 웹 서비스 피드와 쉽게 통합할 수 있습니다. 사용자는 라이선스 비용이나 법적 계약 없이 빠르게 시작하는 데 아무런 장벽이 없습니다. 사용자는 도구가 오픈 소스이고 허용 라이선스(수정에 대한 허가가 필요 없고 변경 사항을 공유할 필요 없음)이기 때문에 빌드 환경의 완전한 유연성을 유지합니다.

 

문제가 있음

 

사람들이 임베디드 세계에서 멀어지는 주요 문제는 특정 MCU/보드에 대한 개발 소프트웨어를 설정하는 복잡한 프로세스입니다. 툴체인, 독점 공급업체의 IDE(때로는 무료가 아님) 및 그 소프트웨어가 지원되는 OS가 있는 컴퓨터를 구하는 것입니다.

 

여러 하드웨어 플랫폼(MCU, 보드)에는 서로 다른 툴체인, IDE 등이 필요하며, 각각 새로운 개발 환경을 배우는 데 시간을 할애합니다.

 

인기 있는 센서, 액추에이터 등을 사용하는 방법을 보여주는 적절한 라이브러리와 코드 샘플을 찾습니다.

 

팀원들이 선호하는 운영 체제와 관계없이 임베디드 프로젝트를 공유합니다.

 

어떻게 작동합니까?

 

PlatformIO 구현 세부 사항을 너무 깊이 파고들지 않고 PlatformIO를 사용하여 개발된 프로젝트의 작업 주기는 다음과 같습니다.

 

사용자는 "platformio.ini"(프로젝트 구성 파일)에 관심이 있는 보드를 선택합니다.

 

이 보드 목록을 기반으로 PlatformIO는 필요한 툴체인을 다운로드하여 자동으로 설치합니다.

 

사용자는 코드를 개발하고 PlatformIO는 해당 코드가 컴파일되고 준비되고 관심 있는 모든 보드에 업로드되도록 합니다. 

 

Boards

 

가장 널리 사용되는 임베디드 보드 및 IDE용 프로젝트 생성기가 내장되어 있어 PlatformIO로 몇 단계만으로 임베디드 개발, 지속 및 IDE를 신속하게 통합할 수 있습니다. 

 

 

참고 문서

 

What is PlatformIO? 

 

 

PlatformIO IDE for VSCode

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^