Renesas RA 제품 계열을 사용하여 오픈 소프트웨어 시작

작성자: Jacob Beningo

DigiKey 북미 편집자 제공

개발팀은 개발 비용, 시스템 복잡성 증가, 짧아진 개발 주기, 소프트웨어 종속 등 여러 문제에 직면하고 있습니다. 적은 노력으로 더 많은 일을 해야 하는 압박은 내장형 산업 전반의 공통 테마로, 더 이상 설계를 처음부터 시작할 시간이 없음을 의미합니다. 오픈 소스 소프트웨어는 매우 유용하기도 하고 통합, 버그 및 프로젝트 타임라인 관점에서는 위험할 수도 있지만 상황은 변하고 있습니다.

개발팀이 이러한 문제를 해결하는 데 활용할 수 있는 유일한 솔루션은 부상하고 있는 오픈 소스 소프트웨어 플랫폼을 사용하는 것입니다. 이 플랫폼은 위험을 제거하기 위해 종종 통합 및 테스트되며, 기반이 되는 마이크로 컨트롤러 제품군에서 작동하도록 설계됩니다.

이 기사에서는 오픈 소스 소프트웨어의 개념을 소개하고 플랫폼에서 위험을 낮추는 방법을 설명합니다. 그런 다음 RA 계열 마이크로 컨트롤러에서 Renesas FSP(Flexible Software Package)를 사용하여 오픈 소스 플랫폼을 시작하는 방법을 보여 줍니다.

오픈 소스 소프트웨어의 장단점

오픈 소스 소프트웨어는 소스 코드가 제공되는 소프트웨어로, 누구나 소프트웨어 라이선스 모델로 설정된 한도 내에서 검사, 수정 및 개선할 수 있습니다1 . 오픈 소스 소프트웨어가 개발팀에 중요한 자산이 된 이유는 재사용을 장려하고 이미 존재하는 소프트웨어 모듈에 액세스할 수 있게 하며 비용이 거의 들지 않기 때문입니다. 예를 들어 RTOS를 처음부터 작성하려면 많은 시간과 예산이 필요하고 수년간 유지 관리하기 위해 상당한 시간과 리소스를 투자해야 합니다. 대신 개발자는 여러 오픈 소스 RTOS를 활용할 수 있습니다. 그러면 기본 OS를 유지 관리하는 데 시간을 소비하는 대신 애플리케이션 코드의 차별화에 더 집중할 수 있습니다.

일정과 예산의 지속적인 압박을 받는 개발 주기에서 오픈 소스 소프트웨어는 개발팀이 이미 존재하는 것을 활용하고 애플리케이션 코드에 집중할 수 있는 메커니즘을 제공합니다. 오픈 소스 소프트웨어는 시간과 비용 절약 외에도 여러 이점을 제공합니다. 컴파일된 이진 파일에 비해 코드의 투명성이 높다는 이점도 있고, 같은 생각을 가진 전 세계 개발자 커뮤니티에 액세스할 수 있는 점도 있습니다.

그렇긴 하지만 오픈 소스 소프트웨어와 관련된 위험이 있으므로 개발자가 오픈 소스 소프트웨어로 작업할지 여부를 결정할 때 고려할 몇 가지 중요한 사항이 있습니다.

첫째, 일부 오픈 소스 소프트웨어는 전 세계에서 지원되지 않을 수 있습니다. 누군가 지하실이나 차고에서 재미 삼아 만든 소프트웨어도 많습니다. 이런 개발자는 코드를 짧은 기간만 지원하고 흥미를 끄는 다른 프로젝트로 넘어갈 수 있으므로 사용자가 혼자 힘으로 꾸려나가야 할 수 있습니다.

둘째, 오픈 소스 소프트웨어는 여러 라이선스 모델 중 하나로 제공될 수 있습니다. 라이선스에 따라 소프트웨어의 상업적 사용이나 모든 용도를 허용하기도 하지만 관련 코드나 변경 사항을 커뮤니티에서 공개적으로 공유해야 할 수도 있습니다. 처음에는 상당히 공정하다고 보일 수 있지만, 책임 위험을 안게 될 수 있고 회사가 소스 코드를 공개해야 할 수도 있습니다.

마지막으로 오픈 소스 소프트웨어의 경우 품질을 예측하기 어려울 수 있습니다. 개발자는 무엇을 만들고자 하는지 구체적인 아이디어를 가지고 있는 경우가 많고 종종 기능 위주의 소프트웨어를 만듭니다. 하지만 기능이 뛰어나다고 견고하거나 버그가 없거나 다른 소프트웨어 패키지 또는 코드 베이스에 쉽게 통합된다고는 볼 수는 없습니다. 품질은 오픈 소스 소프트웨어를 사용할 때 큰 걸림돌이 될 수 있으므로 주의해야 합니다.

Renesas FSP를 사용하여 오픈 소스의 위험 제거

오픈 소스의 위험은 최소화하고 이점은 극대화하기 위해 개발자는 평판이 좋은 공급자가 이미 통합, 테스트 및 지원한 소프트웨어를 활용할 수 있습니다. 이것이 Renesas RA 계열 FSP가 추구하는 목적입니다.

Renesas RA 계열은 하드웨어 외에도 플랫폼에서 오픈 소스 소프트웨어를 FSP 형태로 제공한다는 점에서 흥미롭습니다(그림 1). FSP는 BSP(기판 지원 패키지), HAL(하드웨어 추상화 계층) 및 여러 미들웨어 스택을 비롯해 마이크로 컨트롤러를 실행하는 데 필요한 모든 소프트웨어를 제공합니다. FSP에는 개발자 사이에서 인기 있는 오픈 소스 RTOS인 FreeRTOS도 포함되어 있습니다. 또한 소프트웨어가 통합 및 테스트되었으므로 개발자가 애플리케이션 코드 작성을 즉시 시작할 수 있고 하위 수준 하드웨어를 고려하는 시간을 최소화할 수 있습니다.

즉시 사용할 수 있는 통합 소프트웨어 스택의 구성도그림 1 : FSP는 즉시 작동하고 쉽게 구성할 수 있는 통합 소프트웨어 스택을 제공합니다. (이미지 출처: Renesas)

FSP는 Renesas RA 계열 마이크로 컨트롤러에서만 작동하도록 설계되었습니다. 플랫폼을 쉽게 시작할 수 있지만 개발자는 먼저 개발 기판을 선택해야 합니다.

Renesas RA 계열 개발 기판 선택

Renesas RA 계열은 RA2, RA4, RA6 및 RA8 계열을 포함하는 4개의 주요 프로세서 제품군 그룹으로 나뉩니다. 각 프로세서 제품군은 약간 다른 성능 그룹에 맞게 조정되어 있으며 Arm® Cortex®-M23, Cortex-M33 또는 Cortex-M4 프로세서를 제공합니다(그림 2). 사용 가능한 플래시 및 기능은 RA2에서 RA8 계열로 갈수록 늘어나며 전력 소비도 따라서 증가합니다.

Renesas RA 계열 마이크로컨트롤러의 구성도그림 2 : Renesas RA 계열 마이크로 컨트롤러는 4가지 일반 제품군으로 나뉘며, 여러 Arm Cortex-M 프로세서 코어를 통해 다양한 성능 범위를 제공합니다. (이미지 출처: Renesas)

사용할 개발 기판을 결정할 때는 먼저 최종 응용 분야를 파악하면 도움이 될 수 있습니다. 예를 들어 의료, 사무실 또는 측정 장비의 저전력 제어 또는 인터페이스 응용 분야의 경우 RTK7EKA2A1S00001BU(EK-RA2A1)가 적합합니다(그림 3). 여기에는 256KB 플래시와 32KB RAM으로 지원되는 저전력 RA2A1 48MHz Arm Cortex-M23 프로세서가 탑재되어 있습니다. 또한 개발 기판은 외부 센서 또는 액추에이터 인터페이스에 적합한 몇몇 확장 커넥터를 제외하고는 대부분 무실장 상태입니다. 기판에는 온보드 디버거, 푸시 버튼, 전위차계 및 정전 용량 방식 터치 버튼이 포함됩니다.

Renesas의 EK-RA2A1 개발 기판 이미지그림 3 : EK-RA2A1은 다양한 확장 커넥터를 포함하고 있으므로 제어 응용 분야와 외부 센서 인터페이스에 적합합니다. (이미지 출처: Renesas)

IoT, 산업, 가전 또는 계량기 제품과 같은 고급 응용 분야의 경우 개발자는 EK-RA4M1(RTK7EKA4M1S00001BU) 개발 기판을 더 높게 평가할 수 있습니다. EK-RA4M1는 역시 48MHz로 실행되는 RA4M1 Arm Cortex-M4 프로세서로 구동되며, 마찬가지로 256KB 플래시와 32KB RAM으로 지원됩니다. 이 기판도 저전력 용용 분야를 위해 설계되었습니다.

고성능, LCD, 인터넷 연결, 고급 보안 및 기타 고급 기능이 필요한 응용 분야의 경우 개발자는 RTK7EKA6M2S00001BU(EK-A6M2) 또는 RTK7EKA6M3S00001BU(EK-A6M3) 개발 기판을 고려할 수 있습니다. EK-A6M2는 120MHz로 실행되는 Arm Cortex-M4 프로세서인 RA6M2를 기반으로 하며 최대 1024KB의 플래시와 384KB의 RAM으로 지원됩니다.

EK-A6M2 개발 기판도 헤더, 전위차계 및 버튼과 같은 기본 기능만 제공하며, 개발자가 개발 환경 및 소프트웨어를 사용을 시작하고 하드웨어를 이해할 수 있도록 하는 유용한 저가형 기판입니다.

EK-A6M3 개발 기판은 더 흥미롭게 활용할 수 있습니다(그림 4). 이 기판은 역시 120MHz로 실행되는 RA6M3 Arm Cortex-M4 프로세서를 기반으로 하지만 최대 2,048KB의 플래시와 640KB의 RAM으로 지원됩니다.

RA6M3 프로세스용 Renesas EK-A6M3 개발 기판의 이미지그림 4 : RA6M3 프로세서용 EK-A6M3 개발 기판은 그래픽 가속기 및 터치 기능으로 작동하는 그래픽 확장 기판을 지원하기 위한 그래픽 애플리케이션 데이터용 32MB 외부 QSPI 플래시를 탑재하고 있습니다. (이미지 출처: Renesas)

EK-A6M3은 개발자가 그래픽 가속기 및 터치 기능을 작업할 수 있도록 그래픽 확장 기판이 함께 제공됩니다. 이더넷 잭, PMOD 확장 및 마이크로 버스 커넥터도 기판에 함께 제공됩니다. 또한 개발 기판에는 그래픽 애플리케이션 데이터를 위한 32MB 외부 QSPI 플래시도 함께 제공됩니다. 개발자는 정전 용량 방식 터치 오버레이를 사용하여 480x272 해상도의 4.3인치 TFT 컬러 LCD에 액세스할 수도 있습니다.

FSP로 최초 애플리케이션 작성

개발자가 최초 FSP 애플리케이션을 시작하기 위해 따라야 하는 몇 가지 단계가 있습니다.

  1. 이전 섹션에서 애플리케이션 요구 사항에 가장 적합한 개발 기판 중 하나를 선택합니다.
  2. e2 Studio IDE를 다운로드하여 설치합니다. 개발자는 e2 Studio를 사용하여 프로젝트를 생성하고 소프트웨어 구성 요소를 관리하고 애플리케이션 코드를 작성할 수 있습니다. 또한 개발자는 디버그 세션을 실행하고 개발 기판을 조작할 수도 있습니다.
  3. FSP를 다운로드하여 설치합니다.

이어 개발자는 다음 단계에 따라 e2 Studio를 열고 새 프로젝트를 만들 수 있습니다.

  1. File -> New -> RA C/C++ Project.
  2. Renesas RA C Executable Project 선택 -> Next(그림 5).

    Renesas RA C Executable Project 템플릿을 활용하여 만든 FSP 프로젝트의 이미지그림 5 : Renesas RA C Executable Project 템플릿을 활용하여 FSP 프로젝트를 만듭니다. (이미지 출처: Beningo Embedded Group)

  3. 그런 다음 개발자는 프로젝트 이름을 지정하고 다음과 같은 중요한 프로젝트 파라미터를 선택합니다(그림 6).
    1. 사용할 FSP 버전
    2. 개발 기판 모델
    3. 마이크로 컨트롤러 장치
    4. 사용할 RTOS(사용할 경우)

장치 및 소프트웨어 파라미터의 이미지그림 6 : 개발자는 프로젝트를 만들 때 중요한 장치 및 소프트웨어 파라미터를 선택합니다. (이미지 출처: Beningo Embedded Group)

프로젝트를 만든 후 개발자는 IDE를 사용하여 애플리케이션 코드를 개발하고 e2 Studio 스택 구성 도구를 사용하여 통합된 드라이버, 프레임워크 및 오픈 소스 소프트웨어를 프로젝트 내에 구성할 수 있습니다.

오픈 소스 소프트웨어 작업을 위한 유용한 정보

오픈 소스 소프트웨어 활용은 개발팀이 개발을 가속화하고 비용을 적절한 수준으로 유지할 수 있도록 하는 데 중요해졌습니다. 오픈 소스 소프트웨어를 제대로 활용하기 위해 개발팀은 다음의 몇 가지 "유용한 정보"를 고려해야 합니다.

  • GitHub 또는 유사한 서비스의 일회용 예제가 아니라 활발한 커뮤니티를 제공하는 소프트웨어를 선택합니다.
  • 소프트웨어 감사와 오픈 소스 소프트웨어 코드 베이스의 품질 분석을 수행합니다.
  • 변호사를 통해 소프트웨어 라이선스를 검토하여 제대로 이해해야 합니다.
  • 추상화 계층을 사용하여 종속성을 제거합니다. 이렇게 하면 나중에 필요에 따라 해당 소프트웨어 패키지를 쉽게 제거할 수 있습니다.
  • 가능한 경우 통합 소프트웨어를 활용하여 문제를 최소화합니다.

개발자가 이 "유용한 정보"를 따르면 IoT 장치를 보호할 때 많은 시간을 절약하고 문제를 방지할 수 있습니다.

결론

내장형 시스템의 복잡성이 늘어나는 상황에서 오픈 소스 소프트웨어를 활용하여 개발팀이 일정과 예산을 더 효율적으로 관리할 수 있습니다. 하지만 팀은 사용할 오픈 소스 소프트웨어를 신중하게 선택해야 합니다. 지원되지 않는 많은 오픈 소스 소프트웨어 옵션이 웹에서 제공되며, 이런 옵션을 선택하면 통합 및 유지 관리 문제가 끊이지 않고 발생할 수 있습니다.

이 기사에서 살펴보았듯이 Renesas RA 계열 마이크로 컨트롤러와 같은 플랫폼은 힘들고 지루한 작업을 제거하며 개발팀이 자체 애플리케이션 개발을 바로 시작하여 일정과 예산을 모두 지킬 수 있는 견고한 기반을 제공하고 있습니다.

참고 자료:

  1. https://opensource.com/resources/what-open-source
DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo는 임베디드 소프트웨어 컨설턴트로서 현재 십여 개국 이상의 국가에 있는 고객들과 협력하여 제품 품질, 비용, 출시 기간을 향상시켜 고객의 비즈니스를 극적으로 변화시키고 있습니다. 그는 인기 있는 강연자이자 기술 교육자이며 임베디드 소프트웨어 개발 기술에 대해 200개 이상의 기사를 발표했습니다. 그는 미시간 대학교 공학 석사 학위를 비롯하여 세 개의 학위를 소지하고 있습니다. 월간 Embedded Bytes 뉴스레터를 수신하려면 jacob@beningo.com 및 Jacob Beningo의 웹 사이트인 www.beningo.com으로 언제든지 문의해 주세요.

게시자 정보

DigiKey 북미 편집자